From 7ff7f366d515e64622162b0c22c5e270b8034781 Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Mon, 15 Sep 2008 02:50:57 -0500 Subject: [PATCH] Modified SDK for GCC 4.2 --- Everything_SDK-2005.sln | 6 + choreoobjects/choreoobjects-2005.vcproj | 262 + common/compiledcaptionswap.cpp | 2 +- common/studiobyteswap.h | 2 +- game/client/c_baseanimating.cpp | 6 +- game/client/c_baseanimating.h | 2 +- game/client/c_baseentity.h | 4 +- game/client/c_baseplayer.cpp | 2 +- game/client/c_baseplayer.h | 2 +- game/client/c_team_train_watcher.cpp | 194 +- game/client/c_team_train_watcher.h | 116 +- game/client/client_hl2-2005.vcproj | 21 +- game/client/client_hl2mp-2005.vcproj | 25 +- game/client/client_scratch-2005.vcproj | 21 +- game/client/commentary_modelviewer.cpp | 554 +- game/client/commentary_modelviewer.h | 150 +- game/client/game_controls/basemodel_panel.cpp | 1018 +-- game/client/game_controls/basemodel_panel.h | 416 +- game/client/game_controls/basemodelpanel.cpp | 1760 ++--- game/client/game_controls/basemodelpanel.h | 464 +- game/client/hl2/c_extinguisher.cpp | 1 + game/client/hl2/c_npc_hydra.cpp | 4 +- game/client/hl2mp/c_hl2mp_player.cpp | 2 +- game/client/hl2mp/c_hl2mp_player.h | 2 +- game/client/physpropclientside.cpp | 2 +- game/client/physpropclientside.h | 2 +- game/client/sdk/c_sdk_player.cpp | 4 +- game/client/sdk/sdk_fx_tracers.cpp | 70 +- game/server/AI_ResponseSystem.cpp | 4 +- game/server/CRagdollMagnet.h | 2 +- game/server/CommentarySystem.cpp | 2 +- game/server/EffectsServer.cpp | 2 +- game/server/EntityFlame.cpp | 2 +- game/server/EnvBeam.cpp | 4 +- game/server/EnvFade.cpp | 2 +- game/server/EventLog.cpp | 2 +- game/server/SkyCamera.cpp | 10 +- game/server/TemplateEntities.cpp | 2 +- game/server/ai_baseactor.cpp | 4 + game/server/ai_baseactor.h | 4 +- game/server/ai_basenpc.cpp | 77 +- game/server/ai_basenpc.h | 16 +- game/server/ai_basenpc_physicsflyer.cpp | 2 - game/server/ai_basenpc_schedule.cpp | 9 +- game/server/ai_behavior.h | 16 +- game/server/ai_behavior_assault.cpp | 5 +- game/server/ai_behavior_follow.cpp | 2 +- game/server/ai_behavior_lead.cpp | 3 +- game/server/ai_behavior_passenger.cpp | 8 +- game/server/ai_behavior_rappel.cpp | 6 +- game/server/ai_behavior_standoff.cpp | 2 +- game/server/ai_blended_movement.cpp | 4 +- game/server/ai_blended_movement.h | 6 +- game/server/ai_default.cpp | 2 + game/server/ai_dynamiclink.h | 2 +- game/server/ai_eventresponse.h | 2 +- game/server/ai_hint.cpp | 10 +- game/server/ai_hint.h | 1 + game/server/ai_hull.cpp | 2 +- game/server/ai_hull.h | 2 +- game/server/ai_looktarget.h | 2 +- game/server/ai_motor.cpp | 15 +- game/server/ai_moveshoot.cpp | 4 + game/server/ai_movesolver.cpp | 8 +- game/server/ai_namespaces.cpp | 8 +- game/server/ai_navigator.cpp | 15 +- game/server/ai_navigator.h | 30 +- game/server/ai_network.cpp | 4 +- game/server/ai_networkmanager.cpp | 2 +- game/server/ai_pathfinder.cpp | 12 +- game/server/ai_planesolver.cpp | 2 +- game/server/ai_planesolver.h | 8 +- game/server/ai_playerally.cpp | 6 +- game/server/ai_playerally.h | 1 + game/server/ai_schedule.cpp | 4 +- game/server/ai_schedule.h | 2 +- game/server/ai_scriptconditions.h | 4 +- game/server/ai_senses.cpp | 9 +- game/server/ai_speech.cpp | 14 +- game/server/ai_speech.h | 32 +- game/server/ai_squad.cpp | 2 +- game/server/ai_tacticalservices.cpp | 2 +- game/server/ai_trackpather.cpp | 2 +- game/server/baseanimating.cpp | 6 +- game/server/basebludgeonweapon.cpp | 2 +- game/server/basebludgeonweapon.h | 2 +- game/server/basecombatcharacter.cpp | 4 +- game/server/basecombatweapon.cpp | 2 +- game/server/baseentity.cpp | 20 +- game/server/baseentity.h | 14 +- game/server/baseflex.cpp | 13 +- game/server/basegrenade_concussion.cpp | 2 +- game/server/basemultiplayerplayer.cpp | 2 +- game/server/basemultiplayerplayer.h | 2 +- game/server/basetempentity.h | 2 +- game/server/baseviewmodel.h | 2 +- game/server/bmodels.cpp | 2 +- game/server/buttons.cpp | 12 +- game/server/cbase.cpp | 19 + game/server/client.cpp | 4 +- game/server/controlentities.cpp | 2 +- game/server/cplane.cpp | 2 +- game/server/cplane.h | 2 +- game/server/doors.cpp | 6 +- game/server/effects.cpp | 10 +- game/server/entityblocker.cpp | 2 +- game/server/entitylist.cpp | 3 +- game/server/env_debughistory.cpp | 6 +- game/server/env_screenoverlay.cpp | 23 + game/server/env_zoom.h | 2 +- game/server/envmicrophone.cpp | 2 +- .../episodic/ai_behavior_alyx_injured.cpp | 2 +- .../ai_behavior_passenger_companion.cpp | 12 +- .../episodic/ai_behavior_passenger_zombie.cpp | 2 +- game/server/episodic/ep1_gamestats.cpp | 2 +- game/server/episodic/ep1_gamestats.h | 2 +- game/server/episodic/ep2_gamestats.cpp | 8 +- game/server/episodic/ep2_gamestats.h | 6 +- game/server/episodic/grenade_hopwire.cpp | 2 +- game/server/episodic/grenade_hopwire.h | 2 +- game/server/episodic/npc_advisor.cpp | 10 +- game/server/episodic/npc_combine_cannon.cpp | 8 +- game/server/episodic/npc_hunter.cpp | 34 +- game/server/episodic/npc_magnusson.cpp | 4 +- game/server/episodic/prop_scalable.cpp | 2 +- .../server/episodic/vehicle_jeep_episodic.cpp | 13 +- game/server/episodic/weapon_striderbuster.cpp | 14 +- game/server/event_tempentity_tester.cpp | 6 +- game/server/event_tempentity_tester.h | 2 +- game/server/explode.cpp | 4 +- game/server/fire.cpp | 4 +- game/server/fire_smoke.cpp | 2 +- game/server/fogcontroller.h | 2 +- game/server/forcefeedback.cpp | 4 +- game/server/fourwheelvehiclephysics.cpp | 2 +- game/server/fourwheelvehiclephysics.h | 2 +- game/server/func_areaportalwindow.cpp | 2 +- game/server/func_break.cpp | 25 +- game/server/func_break.h | 2 +- game/server/func_breakablesurf.cpp | 8 +- game/server/gameinterface.cpp | 6092 +++++++-------- game/server/genericactor.cpp | 2 +- game/server/genericmonster.cpp | 2 +- game/server/globalstate.cpp | 3 +- game/server/hl1_CBaseHelicopter.h | 2 +- game/server/hl2/ai_behavior_functank.cpp | 6 +- game/server/hl2/ai_behavior_functank.h | 2 +- game/server/hl2/ai_behavior_police.cpp | 6 +- game/server/hl2/ai_goal_police.cpp | 2 +- game/server/hl2/ai_interactions.h | 2 +- game/server/hl2/ai_spotlight.cpp | 4 +- game/server/hl2/antlion_dust.h | 2 +- game/server/hl2/antlion_maker.cpp | 14 +- game/server/hl2/basehlcombatweapon.cpp | 2 +- game/server/hl2/cbasehelicopter.cpp | 4 +- game/server/hl2/cbasespriteprojectile.h | 2 +- game/server/hl2/combine_mine.cpp | 4 +- game/server/hl2/combine_mine.h | 4 +- game/server/hl2/energy_wave.h | 2 +- game/server/hl2/env_headcrabcanister.cpp | 2 +- game/server/hl2/env_starfield.cpp | 2 +- game/server/hl2/extinguisherjet.cpp | 2 +- game/server/hl2/func_recharge.cpp | 20 +- game/server/hl2/func_tank.cpp | 30 +- game/server/hl2/func_tank.h | 2 +- game/server/hl2/grenade_ar2.cpp | 2 +- game/server/hl2/grenade_brickbat.cpp | 9 +- game/server/hl2/grenade_brickbat.h | 3 +- game/server/hl2/grenade_bugbait.cpp | 2 +- game/server/hl2/grenade_energy.cpp | 17 +- game/server/hl2/grenade_frag.cpp | 2 +- game/server/hl2/grenade_homer.cpp | 2 +- game/server/hl2/grenade_molotov.cpp | 8 +- game/server/hl2/grenade_satchel.cpp | 14 +- game/server/hl2/grenade_spit.cpp | 6 +- game/server/hl2/grenade_tripmine.cpp | 23 +- game/server/hl2/grenade_tripwire.cpp | 20 +- game/server/hl2/hl2_client.cpp | 2 +- game/server/hl2/hl2_gamestats.h | 2 +- game/server/hl2/hl2_player.cpp | 14 +- game/server/hl2/hl2_player.h | 770 +- game/server/hl2/hl2_triggers.cpp | 6 +- game/server/hl2/hl_playermove.cpp | 2 +- game/server/hl2/item_ammo.cpp | 2 +- game/server/hl2/item_dynamic_resupply.cpp | 14 +- game/server/hl2/item_healthkit.cpp | 12 +- game/server/hl2/item_itemcrate.cpp | 4 +- game/server/hl2/npc_BaseZombie.cpp | 33 +- game/server/hl2/npc_BaseZombie.h | 2 +- game/server/hl2/npc_PoisonZombie.cpp | 2 +- game/server/hl2/npc_alyx_episodic.cpp | 20 +- game/server/hl2/npc_antlion.cpp | 31 +- game/server/hl2/npc_antliongrub.cpp | 2 +- game/server/hl2/npc_antliongrub.h | 2 +- game/server/hl2/npc_antlionguard.cpp | 8 +- game/server/hl2/npc_assassin.cpp | 19 +- game/server/hl2/npc_assassin.h | 2 +- game/server/hl2/npc_attackchopper.cpp | 30 +- game/server/hl2/npc_barnacle.cpp | 6 +- game/server/hl2/npc_basescanner.cpp | 6 +- game/server/hl2/npc_basescanner.h | 4 +- game/server/hl2/npc_blob.cpp | 2 +- game/server/hl2/npc_breen.cpp | 4 +- game/server/hl2/npc_bullseye.cpp | 2 +- game/server/hl2/npc_bullseye.h | 2 +- game/server/hl2/npc_bullsquid.h | 2 +- game/server/hl2/npc_citizen17.cpp | 63 +- game/server/hl2/npc_combine.cpp | 14 +- game/server/hl2/npc_combinedropship.cpp | 11 +- game/server/hl2/npc_combinegunship.cpp | 10 +- game/server/hl2/npc_combines.cpp | 16 +- game/server/hl2/npc_cranedriver.cpp | 3 + game/server/hl2/npc_crow.cpp | 5 +- game/server/hl2/npc_eli.cpp | 4 +- game/server/hl2/npc_enemyfinder.cpp | 2 +- game/server/hl2/npc_fastzombie.cpp | 16 +- game/server/hl2/npc_gman.cpp | 3 +- game/server/hl2/npc_headcrab.cpp | 7 +- game/server/hl2/npc_hydra.cpp | 14 +- game/server/hl2/npc_hydra.h | 2 +- game/server/hl2/npc_kleiner.cpp | 4 +- game/server/hl2/npc_launcher.cpp | 2 +- game/server/hl2/npc_manhack.cpp | 6 +- game/server/hl2/npc_metropolice.cpp | 25 +- game/server/hl2/npc_mossman.cpp | 3 +- game/server/hl2/npc_playercompanion.cpp | 2 +- game/server/hl2/npc_playercompanion.h | 2 +- game/server/hl2/npc_rollermine.cpp | 12 +- game/server/hl2/npc_scanner.cpp | 13 +- game/server/hl2/npc_scanner.h | 4 +- game/server/hl2/npc_spotlight.cpp | 18 +- game/server/hl2/npc_stalker.cpp | 5 +- game/server/hl2/npc_strider.cpp | 8 +- game/server/hl2/npc_turret.cpp | 80 +- game/server/hl2/npc_turret_ceiling.cpp | 2 +- game/server/hl2/npc_turret_floor.cpp | 22 +- game/server/hl2/npc_vortigaunt_episodic.cpp | 26 +- game/server/hl2/prop_combine_ball.cpp | 4 +- game/server/hl2/prop_thumper.cpp | 4 +- game/server/hl2/proto_sniper.cpp | 2 +- game/server/hl2/rotorwash.cpp | 2 +- game/server/hl2/trigger_super_armor.cpp | 8 +- game/server/hl2/vehicle_airboat.cpp | 13 +- game/server/hl2/vehicle_apc.cpp | 4 +- game/server/hl2/vehicle_jeep.cpp | 4 +- game/server/hl2/vehicle_jeep.h | 1 + game/server/hl2/vehicle_jetski.cpp | 4 +- game/server/hl2/vehicle_prisoner_pod.cpp | 4 +- game/server/hl2/weapon_357.cpp | 6 +- game/server/hl2/weapon_ar1.cpp | 4 +- game/server/hl2/weapon_ar2.cpp | 8 +- game/server/hl2/weapon_brickbat.cpp | 10 +- game/server/hl2/weapon_bugbait.cpp | 4 +- game/server/hl2/weapon_cguard.cpp | 4 +- game/server/hl2/weapon_citizenpackage.h | 2 +- game/server/hl2/weapon_crossbow.cpp | 12 +- game/server/hl2/weapon_crowbar.cpp | 2 +- game/server/hl2/weapon_extinguisher.cpp | 4 +- game/server/hl2/weapon_frag.cpp | 4 +- game/server/hl2/weapon_immolator.cpp | 14 +- game/server/hl2/weapon_irifle.cpp | 4 +- game/server/hl2/weapon_manhack.cpp | 2 +- game/server/hl2/weapon_molotov.cpp | 10 +- game/server/hl2/weapon_physcannon.cpp | 28 +- game/server/hl2/weapon_pistol.cpp | 6 +- game/server/hl2/weapon_rpg.cpp | 16 +- game/server/hl2/weapon_shotgun.cpp | 6 +- game/server/hl2/weapon_slam.cpp | 4 +- game/server/hl2/weapon_smg1.cpp | 8 +- game/server/hl2/weapon_smg2.cpp | 4 +- game/server/hl2/weapon_sniperrifle.cpp | 6 +- game/server/hl2/weapon_stunstick.cpp | 2 +- game/server/hl2/weapon_thumper.cpp | 10 +- game/server/hl2/weapon_tripwire.cpp | 2 +- game/server/hl2mp/grenade_satchel.cpp | 2 +- game/server/hl2mp/grenade_tripmine.cpp | 4 +- game/server/hl2mp/hl2mp_bot_temp.cpp | 4 +- game/server/hl2mp/hl2mp_cvars.cpp | 2 +- game/server/hl2mp/hl2mp_cvars.h | 2 +- game/server/hl2mp/hl2mp_gameinterface.h | 2 +- game/server/hl2mp/hl2mp_player.cpp | 10 +- game/server/hltvdirector.cpp | 12 +- game/server/hltvdirector.h | 2 +- game/server/item_world.cpp | 2 + game/server/lights.cpp | 2 +- game/server/logic_achievement.cpp | 2 +- game/server/logic_mirror_movement.cpp | 2 +- game/server/logicentities.cpp | 10 +- game/server/movement.cpp | 4 +- game/server/nav.h | 7 + game/server/nav_area.cpp | 26 +- game/server/nav_colors.h | 2 +- game/server/nav_file.cpp | 4 +- game/server/nav_generate.cpp | 15 +- game/server/nav_ladder.cpp | 2 + game/server/nav_mesh.cpp | 2 +- game/server/nav_node.cpp | 2 +- game/server/npc_talker.cpp | 9 +- game/server/npc_talker.h | 4 +- game/server/npc_vehicledriver.cpp | 3 + game/server/particle_system.cpp | 12 +- game/server/physgun.cpp | 5 +- game/server/physics.cpp | 10 +- game/server/physics_cannister.cpp | 4 +- game/server/physics_impact_damage.cpp | 2 +- game/server/physics_main.cpp | 8 +- game/server/physics_prop_ragdoll.cpp | 2 +- game/server/physobj.cpp | 4 +- game/server/player.cpp | 34 +- game/server/player.h | 2 +- game/server/player_lagcompensation.cpp | 2 +- game/server/player_resource.cpp | 2 +- game/server/playerinfomanager.h | 2 +- game/server/point_spotlight.cpp | 4 +- game/server/props.cpp | 18 +- game/server/pushentity.h | 320 +- game/server/recipientfilter.cpp | 2 +- game/server/saverestore_gamedll.cpp | 14 +- game/server/sceneentity.cpp | 14 +- game/server/sceneentity.h | 2 +- game/server/scripted.cpp | 5 +- game/server/sdk/sdk_bot_temp.cpp | 8 +- game/server/sdk/sdk_env_sparkler.cpp | 2 +- game/server/sdk/sdk_logicalentity.cpp | 2 +- game/server/sdk/sdk_player.cpp | 4 +- game/server/sdk/sdk_vehicle_jeep.cpp | 4 +- game/server/sdk/te_firebullets.cpp | 4 +- game/server/sendproxy.cpp | 16 +- game/server/sendproxy.h | 12 +- game/server/server_hl2-2005.vcproj | 17 +- game/server/server_hl2mp-2005.vcproj | 41 +- game/server/server_scratch-2005.vcproj | 17 +- game/server/serverbenchmark_base.cpp | 848 +-- game/server/serverbenchmark_base.h | 126 +- game/server/slideshow_display.cpp | 2 +- game/server/sound.cpp | 10 +- game/server/soundent.cpp | 2 +- game/server/soundent.h | 8 +- game/server/soundscape.cpp | 4 +- game/server/soundscape_system.cpp | 2 +- game/server/tanktrain.cpp | 2 +- game/server/te.h | 2 +- game/server/te_basebeam.h | 2 +- game/server/te_beamentpoint.cpp | 2 +- game/server/te_beaments.cpp | 2 +- game/server/te_beamfollow.cpp | 2 +- game/server/te_beamlaser.cpp | 2 +- game/server/te_beampoints.cpp | 2 +- game/server/te_beamring.cpp | 2 +- game/server/te_beamringpoint.cpp | 2 +- game/server/te_beamspline.cpp | 2 +- game/server/te_bloodsprite.cpp | 2 +- game/server/te_bloodstream.cpp | 2 +- game/server/te_breakmodel.cpp | 8 +- game/server/te_bspdecal.cpp | 2 +- game/server/te_bubbles.cpp | 2 +- game/server/te_bubbletrail.cpp | 2 +- game/server/te_clientprojectile.cpp | 2 +- game/server/te_decal.cpp | 2 +- game/server/te_dynamiclight.cpp | 2 +- game/server/te_explosion.cpp | 2 +- game/server/te_fizz.cpp | 2 +- game/server/te_footprintdecal.cpp | 2 +- game/server/te_glassshatter.cpp | 12 +- game/server/te_glowsprite.cpp | 2 +- game/server/te_impact.cpp | 2 +- game/server/te_killplayerattachments.cpp | 2 +- game/server/te_largefunnel.cpp | 2 +- game/server/te_muzzleflash.cpp | 2 +- game/server/te_particlesystem.cpp | 12 +- game/server/te_physicsprop.cpp | 8 +- game/server/te_playerdecal.cpp | 2 +- game/server/te_projecteddecal.cpp | 2 +- game/server/te_showline.cpp | 2 +- game/server/te_smoke.cpp | 2 +- game/server/te_sprite.cpp | 2 +- game/server/te_spritespray.cpp | 2 +- game/server/te_worlddecal.cpp | 2 +- game/server/team.cpp | 2 +- game/server/team_control_point.cpp | 2 +- game/server/team_control_point_master.cpp | 2 +- game/server/team_objectiveresource.cpp | 944 +-- game/server/team_train_watcher.cpp | 1124 +-- game/server/team_train_watcher.h | 254 +- game/server/testtraceline.cpp | 6 +- game/server/textstatsmgr.cpp | 2 +- game/server/textstatsmgr.h | 2 +- game/server/trains.cpp | 6605 +++++++++-------- game/server/trigger_portal.cpp | 6 +- game/server/triggers.cpp | 9 +- game/server/util.cpp | 15 +- game/server/util.h | 9 +- game/server/variant_t.h | 2 +- game/server/vehicle_base.cpp | 4 + game/server/vehicle_baseserver.cpp | 23 +- game/server/vehicle_choreo_generic.cpp | 6 +- game/server/vehicle_sounds.h | 2 +- game/server/vguiscreen.cpp | 2 +- game/server/wcedit.h | 2 +- game/server/world.cpp | 8 +- game/shared/GameEventListener.h | 2 +- game/shared/GameStats.cpp | 2902 ++++---- game/shared/GameStats.h | 674 +- game/shared/ModelSoundsCache.cpp | 2 +- .../Multiplayer/multiplayer_animstate.cpp | 1 + .../Multiplayer/multiplayer_animstate.h | 2 +- game/shared/Sprite.cpp | 6 +- game/shared/achievement_saverestore.cpp | 2 +- game/shared/achievementmgr.h | 2 +- game/shared/achievements_hlx.cpp | 2 +- game/shared/activitylist.cpp | 3 +- game/shared/ammodef.cpp | 6 +- game/shared/ammodef.h | 2 +- game/shared/animation.cpp | 3 + game/shared/baseachievement.cpp | 2 +- game/shared/baseachievement.h | 10 +- game/shared/baseentity_shared.cpp | 7 +- game/shared/basegrenade_shared.cpp | 4 +- game/shared/baseplayer_shared.cpp | 8 +- game/shared/beam_flags.h | 2 +- game/shared/beam_shared.cpp | 6 +- game/shared/choreoevent.cpp | 14 +- game/shared/choreoscene.cpp | 2 + game/shared/debugoverlay_null.cpp | 4 +- game/shared/debugoverlay_shared.cpp | 4 +- game/shared/effect_color_tables.h | 2 + game/shared/effect_dispatch_data.cpp | 24 +- game/shared/env_wind_shared.cpp | 2 +- game/shared/episodic/npc_advisor_shared.h | 64 +- game/shared/eventlist.cpp | 2 +- game/shared/func_ladder.cpp | 2 +- game/shared/gameeventdefs.h | 2 +- game/shared/gamemovement.cpp | 17 +- game/shared/gamestringpool.cpp | 4 +- game/shared/hintsystem.cpp | 2 +- game/shared/hl2/achievements_hl2.cpp | 2 +- game/shared/hl2/basehlcombatweapon_shared.cpp | 2 +- game/shared/hl2/hl2_gamerules.cpp | 3760 +++++----- game/shared/hl2/hl2_usermessages.cpp | 2 +- game/shared/hl2/hl2_vehicle_radar.h | 2 +- game/shared/hl2/hl_gamemovement.cpp | 2 +- game/shared/hl2/survival_gamerules.cpp | 6 +- game/shared/hl2mp/hl2mp_gamerules.cpp | 6 +- game/shared/hl2mp/hl2mp_player_shared.cpp | 2 +- game/shared/hl2mp/weapon_crowbar.cpp | 2 +- game/shared/hl2mp/weapon_hl2mpbase.cpp | 4 +- .../hl2mp/weapon_hl2mpbasebasebludgeon.h | 2 +- .../weapon_hl2mpbasehlmpcombatweapon.cpp | 2 +- game/shared/hl2mp/weapon_physcannon.cpp | 12 +- game/shared/hl2mp/weapon_rpg.cpp | 4 +- game/shared/hl2mp/weapon_stunstick.cpp | 4 +- game/shared/in_buttons.h | 2 +- game/shared/mapdata_shared.h | 2 +- game/shared/mapentities_shared.cpp | 2 +- game/shared/mp_shareddefs.cpp | 2 +- game/shared/particle_parse.cpp | 2 +- game/shared/particle_property_inlines.h | 2 +- game/shared/particlesystemquery.cpp | 6 +- game/shared/physics_main_shared.cpp | 2 +- game/shared/playernet_vars.h | 4 +- game/shared/point_posecontroller.cpp | 2 +- game/shared/point_posecontroller.h | 2 +- game/shared/predicted_viewmodel.cpp | 2 +- game/shared/predictioncopy.cpp | 10 +- game/shared/props_shared.cpp | 12 +- game/shared/ragdoll_shared.cpp | 2 +- game/shared/rumble_shared.h | 2 +- game/shared/saverestore.cpp | 4 +- game/shared/sceneentity_shared.cpp | 2 +- game/shared/sceneimage.cpp | 3 +- game/shared/sceneimage.h | 2 +- .../shared/sdk/sdk_basegrenade_projectile.cpp | 2 +- game/shared/sdk/sdk_gamerules.cpp | 4 +- game/shared/sdk/sdk_playeranimstate.cpp | 2 +- game/shared/sdk/weapon_sdkbase.cpp | 2 +- game/shared/sheetsimulator.cpp | 4 +- game/shared/soundenvelope.cpp | 8 +- game/shared/takedamageinfo.cpp | 2 +- game/shared/teamplay_round_timer.cpp | 8 +- game/shared/teamplay_round_timer.h | 2 +- game/shared/teamplayroundbased_gamerules.cpp | 7 +- game/shared/util_shared.cpp | 2142 +++--- game/shared/util_shared.h | 1080 +-- game/shared/voice_gamemgr.cpp | 9 +- game/shared/voice_status.cpp | 2 +- game/shared/weapon_parse.cpp | 6 +- lib/linux/choreoobjects_i486.a | Bin 435028 -> 353574 bytes lib/linux/mathlib_i486.a | Bin 297798 -> 208902 bytes lib/linux/tier1_i486.a | Bin 507582 -> 426432 bytes lib/public/choreoobjects.lib | Bin 2818146 -> 2834448 bytes lib/public/mathlib.lib | Bin 1474930 -> 1497262 bytes lib/public/tier1.lib | Bin 1950708 -> 3687128 bytes lib/public/tier3.lib | Bin 3688398 -> 1950708 bytes lib/public/vgui_controls.lib | Bin 32623018 -> 32957712 bytes linux_sdk/Makefile | 144 +- linux_sdk/Makefile.choreo | 57 + linux_sdk/Makefile.mathlib | 71 + linux_sdk/Makefile.plugin | 57 +- linux_sdk/Makefile.server | 16 +- linux_sdk/Makefile.tier1 | 78 + linux_sdk/Makefile.vcpm | 57 +- mathlib/3dnow.cpp | 4 + mathlib/3dnow.h | 2 +- mathlib/IceKey.cpp | 3 +- mathlib/anorms.cpp | 2 +- mathlib/bumpvects.cpp | 2 +- mathlib/color_conversion.cpp | 32 +- mathlib/lightdesc.cpp | 12 +- mathlib/mathlib-2005.vcproj | 810 +- mathlib/mathlib_base.cpp | 14 +- mathlib/noisedata.h | 14 +- mathlib/polyhedron.cpp | 5 +- mathlib/randsse.cpp | 2 +- mathlib/sse.cpp | 16 +- mathlib/sse.h | 2 +- mathlib/vmatrix.cpp | 12 +- notes.txt | 35 + public/BitmapFontFile.h | 2 +- public/ScratchPadUtils.cpp | 2 + .../isoundemittersystembase.h | 11 +- public/UtlCachedFileData.h | 6 +- public/bitmap/imageformat.h | 4 +- public/bitvec.h | 102 +- public/bone_setup.cpp | 30 +- public/bspfile.h | 12 +- public/collisionutils.cpp | 36 +- public/collisionutils.h | 2 +- public/coordsize.h | 2 +- public/datacache/idatacache.h | 2 + public/datamap.h | 10 +- public/dispcoll.h | 2 +- public/dlight.h | 2 +- public/dmxloader/dmxloader.h | 2 +- public/dt_recv.cpp | 22 +- public/dt_recv.h | 26 +- public/dt_send.cpp | 32 +- public/dt_send.h | 47 +- public/dt_shared.cpp | 12 +- public/dt_shared.h | 12 +- public/dt_utlvector_common.cpp | 3 +- public/dt_utlvector_recv.cpp | 8 +- public/dt_utlvector_recv.h | 4 +- public/dt_utlvector_send.cpp | 4 +- public/dt_utlvector_send.h | 2 +- public/engine/ivmodelinfo.h | 2 +- public/filesystem.h | 2 +- public/filesystem/IQueuedLoader.h | 2 +- public/filesystem_init.cpp | 3 - public/filesystem_passthru.h | 2 +- public/game/client/iclientrendertargets.h | 2 +- public/game/client/iviewport.h | 2 +- public/iclient.h | 2 +- public/icliententitylist.h | 2 +- public/iefx.h | 2 +- public/ihltv.h | 2 +- public/imapoverview.h | 2 +- public/inetchannel.h | 2 +- public/inetchannelinfo.h | 2 +- public/interpolatortypes.cpp | 2 +- public/iprediction.h | 2 +- public/iregistry.h | 2 +- public/ivguicenterprint.h | 2 +- public/keyframe/keyframe.cpp | 23 +- public/keyframe/keyframe.h | 6 +- public/loadcmdline.cpp | 2 +- public/loadcmdline.h | 2 +- public/materialsystem/IColorCorrection.h | 2 +- public/materialsystem/imaterial.h | 2 +- public/materialsystem/imaterialsystem.h | 2 +- public/mathlib/mathlib.h | 10 +- public/mathlib/spherical_geometry.h | 146 +- public/mathlib/vector.h | 58 +- public/maya/ValveMaya/Undo.h | 2 +- public/maya/VsMayaDmx.h | 2 +- public/maya/VsMayaMPxFactory.h | 2 +- public/maya/valveMaya.h | 2 +- public/measure_section.cpp | 2 +- public/measure_section.h | 2 +- public/model_types.h | 2 +- public/mouthinfo.h | 2 +- public/networkvar.h | 15 +- public/overlaytext.h | 2 +- public/particles/particles.h | 4429 +++++------ public/phonemeconverter.cpp | 2 +- public/r_efx.h | 2 +- public/scratchpad3d.cpp | 2 +- public/sentence.cpp | 2 +- public/server_class.h | 6 +- public/shattersurfacetypes.h | 2 +- public/steam/matchmakingtypes.h | 2 +- public/studio.cpp | 10 +- public/studio.h | 25 +- public/tier0/PMELib.h | 2 +- public/tier0/commonmacros.h | 2 +- public/tier0/dbg.h | 19 +- public/tier0/fasttimer.h | 5 +- public/tier0/icommandline.h | 2 +- public/tier0/l2cache.h | 2 +- public/tier0/memalloc.h | 2 +- public/tier0/platform.h | 15 +- public/tier0/pmc360.h | 2 +- public/tier0/threadtools.h | 45 +- public/tier0/valve_minmax_off.h | 16 +- public/tier0/valve_minmax_on.h | 16 +- public/tier0/vprof.h | 3 +- public/tier0/wchartypes.h | 5 +- public/tier1/UtlSortVector.h | 38 +- public/tier1/UtlStringMap.h | 4 +- public/tier1/bitbuf.h | 2 +- public/tier1/byteswap.h | 2 +- public/tier1/characterset.h | 2 +- public/tier1/convar.h | 10 +- public/tier1/functors.h | 3 +- public/tier1/interface.h | 9 +- public/tier1/refcount.h | 10 +- public/tier1/stringpool.h | 2 +- public/tier1/strtools.h | 50 +- public/tier1/tier1.h | 8 +- public/tier1/tokenreader.h | 2 + public/tier1/utlblockmemory.h | 2 + public/tier1/utlbuffer.h | 4 +- public/tier1/utlenvelope.h | 5 +- public/tier1/utlfixedmemory.h | 2 + public/tier1/utlintrusivelist.h | 6 +- public/tier1/utllinkedlist.h | 8 +- public/tier1/utlmemory.h | 26 +- public/tier1/utlmultilist.h | 92 +- public/tier1/utlrbtree.h | 12 +- public/tier1/utlsoacontainer.h | 668 +- public/tier1/utlstack.h | 2 +- public/tier2/beamsegdraw.h | 2 +- public/tier2/camerautils.h | 114 +- public/tier2/tier2.h | 4 +- public/tier2/vconfig.h | 2 +- public/tier3/mdlutils.h | 176 +- public/tier3/tier3.h | 4 +- public/tier3/tier3dm.h | 4 +- public/tools/bonelist.cpp | 2 +- public/trace.h | 2 +- public/vgui/ISurfaceV30.h | 2 +- public/vgui/IVguiMatInfo.h | 2 +- public/vgui/IVguiMatInfoVar.h | 2 +- public/vgui/VGUI.h | 2 + public/vgui_controls/CircularProgressBar.h | 2 +- public/vgui_controls/ControllerMap.h | 2 +- public/vgui_controls/RotatingProgressBar.h | 2 +- public/vgui_controls/ScalableImagePanel.h | 108 +- .../vgui_controls/ScrollableEditablePanel.h | 2 +- public/vgui_controls/pch_vgui_controls.h | 2 +- public/vgui_controls/subrectimage.h | 2 +- public/vphysics/collision_set.h | 2 +- public/vstdlib/jobthread.h | 16 +- public/vstdlib/random.h | 5 +- public/worldsize.h | 2 +- tier1/KeyValues.cpp | 15 +- tier1/NetAdr.cpp | 2 +- tier1/bitbuf.cpp | 4 +- tier1/characterset.cpp | 2 +- tier1/convar.cpp | 6 +- tier1/mempool.cpp | 2 +- tier1/memstack.cpp | 17 +- tier1/newbitbuf.cpp | 4 +- tier1/strtools.cpp | 10 +- tier1/tier1-2005.vcproj | 1133 +-- tier1/utlbuffer.cpp | 24 +- tier1/utlbufferutil.cpp | 2 + tier1/utlsymbol.cpp | 4 +- .../captioncompiler-2005.vcproj | 64 +- utils/common/movie.h | 2 +- utils/common/mpi_stats.cpp | 2 +- utils/common/scriplib.cpp | 2 +- utils/demoinfo/demoinfo-2005.vcproj | 188 +- utils/glview/glview-2005.vcproj | 44 +- utils/height2normal/height2normal-2005.vcproj | 10 +- utils/motionmapper/motionmapper-2005.vcproj | 26 +- .../phonemeextractor-2005.vcproj | 32 +- utils/qc_eyes/qc_eyes-2005.vcproj | 19 +- .../serverplugin_sample/serverplugin_bot.cpp | 2 +- .../serverplugin_empty-2005.vcproj | 26 +- .../serverplugin_empty.cpp | 2 +- utils/tgadiff/tgadiff-2005.vcproj | 25 +- utils/vbsp/vbsp-2005.vcproj | 26 +- utils/vice/vice-2005.vcproj | 30 +- utils/vprojtomake/makefilecreator.cpp | 6 +- utils/vprojtomake/vcprojconvert.cpp | 27 +- utils/vprojtomake/vprojtomake-2005.vcproj | 210 +- utils/vrad/vrad_dll-2005.vcproj | 30 +- utils/vrad_launcher/vrad_launcher-2005.vcproj | 10 +- utils/vtf2tga/vtf2tga-2005.vcproj | 26 +- utils/vtfdiff/vtfdiff-2005.vcproj | 25 +- utils/vvis/vvis_dll-2005.vcproj | 14 +- utils/vvis_launcher/vvis_launcher-2005.vcproj | 14 +- utils/xwad/wadlib.cpp | 2 +- utils/xwad/xwad-2005.vcproj | 41 +- utils/xwad/xwad.cpp | 34 +- vgui2/vgui_controls/vgui_controls-2005.vcproj | 3 + 696 files changed, 23423 insertions(+), 22634 deletions(-) create mode 100644 choreoobjects/choreoobjects-2005.vcproj create mode 100644 linux_sdk/Makefile.choreo create mode 100644 linux_sdk/Makefile.mathlib create mode 100644 linux_sdk/Makefile.tier1 create mode 100644 notes.txt diff --git a/Everything_SDK-2005.sln b/Everything_SDK-2005.sln index b111649f..6984041e 100644 --- a/Everything_SDK-2005.sln +++ b/Everything_SDK-2005.sln @@ -105,6 +105,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vprojtomake", "utils\vprojt {E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720} = {E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "choreoobjects", "choreoobjects\choreoobjects-2005.vcproj", "{E60CA0E5-422B-450A-B185-53DDB734FF6B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -195,6 +197,10 @@ Global {EA55446E-BC04-491C-A9F0-605DFCBB213A}.Debug|Win32.Build.0 = Debug|Win32 {EA55446E-BC04-491C-A9F0-605DFCBB213A}.Release|Win32.ActiveCfg = Release|Win32 {EA55446E-BC04-491C-A9F0-605DFCBB213A}.Release|Win32.Build.0 = Release|Win32 + {E60CA0E5-422B-450A-B185-53DDB734FF6B}.Debug|Win32.ActiveCfg = Debug|Win32 + {E60CA0E5-422B-450A-B185-53DDB734FF6B}.Debug|Win32.Build.0 = Debug|Win32 + {E60CA0E5-422B-450A-B185-53DDB734FF6B}.Release|Win32.ActiveCfg = Release|Win32 + {E60CA0E5-422B-450A-B185-53DDB734FF6B}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/choreoobjects/choreoobjects-2005.vcproj b/choreoobjects/choreoobjects-2005.vcproj new file mode 100644 index 00000000..cdf896c0 --- /dev/null +++ b/choreoobjects/choreoobjects-2005.vcproj @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/compiledcaptionswap.cpp b/common/compiledcaptionswap.cpp index b3763161..2b331700 100644 --- a/common/compiledcaptionswap.cpp +++ b/common/compiledcaptionswap.cpp @@ -100,4 +100,4 @@ int UpdateOrCreateCaptionFile( const char *pSourceName, char *pTargetName, int m { return ::UpdateOrCreate( pSourceName, pTargetName, maxLen, "GAME", CaptionCreateCallback, bForce ); } -#endif \ No newline at end of file +#endif diff --git a/common/studiobyteswap.h b/common/studiobyteswap.h index 7f51f458..8c332962 100644 --- a/common/studiobyteswap.h +++ b/common/studiobyteswap.h @@ -35,4 +35,4 @@ int ByteswapMDL( void *pOutBase, const void *pFileBase, int fileSize ); #define BYTESWAP_ALIGNMENT_PADDING 4096 } -#endif // STUDIOBYTESWAP_H \ No newline at end of file +#endif // STUDIOBYTESWAP_H diff --git a/game/client/c_baseanimating.cpp b/game/client/c_baseanimating.cpp index 6a5f8f21..a639f82a 100644 --- a/game/client/c_baseanimating.cpp +++ b/game/client/c_baseanimating.cpp @@ -361,7 +361,7 @@ void C_ClientRagdoll::OnRestore( void ) RagdollMoved(); } -void C_ClientRagdoll::ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ) +void C_ClientRagdoll::ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ) { VPROF( "C_ClientRagdoll::ImpactTrace" ); @@ -876,7 +876,7 @@ void C_BaseAnimating::LockStudioHdr() if ( pStudioHdrContainer && pStudioHdrContainer->GetVirtualModel() ) { - MDLHandle_t hVirtualModel = (MDLHandle_t)pStudioHdrContainer->GetRenderHdr()->virtualModel; + MDLHandle_t hVirtualModel = (MDLHandle_t)reinterpret_cast(pStudioHdrContainer->GetRenderHdr()->virtualModel); mdlcache->LockStudioHdr( hVirtualModel ); } m_pStudioHdr = pStudioHdrContainer; // must be last to ensure virtual model correctly set up @@ -894,7 +894,7 @@ void C_BaseAnimating::UnlockStudioHdr() mdlcache->UnlockStudioHdr( m_hStudioHdr ); if ( m_pStudioHdr->GetVirtualModel() ) { - MDLHandle_t hVirtualModel = (MDLHandle_t)m_pStudioHdr->GetRenderHdr()->virtualModel; + MDLHandle_t hVirtualModel = (MDLHandle_t)reinterpret_cast(m_pStudioHdr->GetRenderHdr()->virtualModel); mdlcache->UnlockStudioHdr( hVirtualModel ); } } diff --git a/game/client/c_baseanimating.h b/game/client/c_baseanimating.h index 03941a30..8028051f 100644 --- a/game/client/c_baseanimating.h +++ b/game/client/c_baseanimating.h @@ -597,7 +597,7 @@ public: virtual void Release( void ); virtual void SetupWeights( const matrix3x4_t *pBoneToWorld, int nFlexWeightCount, float *pFlexWeights, float *pFlexDelayedWeights ); - virtual void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ); + virtual void ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ); void ClientThink( void ); void ReleaseRagdoll( void ) { m_bReleaseRagdoll = true; } bool ShouldSavePhysics( void ) { return true; } diff --git a/game/client/c_baseentity.h b/game/client/c_baseentity.h index d3a1aef1..d547cf05 100644 --- a/game/client/c_baseentity.h +++ b/game/client/c_baseentity.h @@ -813,7 +813,7 @@ public: virtual char const * DamageDecal( int bitsDamageType, int gameMaterial ); virtual void DecalTrace( trace_t *pTrace, char const *decalName ); - virtual void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ); + virtual void ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ); virtual bool ShouldPredict( void ) { return false; }; // interface function pointers @@ -1122,7 +1122,7 @@ public: #ifdef _DEBUG void FunctionCheck( void *pFunction, const char *name ); - ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, char *name ) + ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, const char *name ) { //COMPILE_TIME_ASSERT( sizeof(func) == 4 ); m_pfnTouch = func; diff --git a/game/client/c_baseplayer.cpp b/game/client/c_baseplayer.cpp index 74f0a00b..770d39d0 100644 --- a/game/client/c_baseplayer.cpp +++ b/game/client/c_baseplayer.cpp @@ -1868,7 +1868,7 @@ void C_BasePlayer::PlayPlayerJingle() } // Stuff for prediction -void C_BasePlayer::SetSuitUpdate(char *name, int fgroup, int iNoRepeat) +void C_BasePlayer::SetSuitUpdate(const char *name, int fgroup, int iNoRepeat) { // FIXME: Do something here? } diff --git a/game/client/c_baseplayer.h b/game/client/c_baseplayer.h index b3669bcc..0e03b988 100644 --- a/game/client/c_baseplayer.h +++ b/game/client/c_baseplayer.h @@ -114,7 +114,7 @@ public: virtual void Weapon_DropPrimary( void ) {} virtual Vector GetAutoaimVector( float flScale ); - void SetSuitUpdate(char *name, int fgroup, int iNoRepeat); + void SetSuitUpdate(const char *name, int fgroup, int iNoRepeat); // Input handling virtual bool CreateMove( float flInputSampleTime, CUserCmd *pCmd ); diff --git a/game/client/c_team_train_watcher.cpp b/game/client/c_team_train_watcher.cpp index 61786a73..ec55bd64 100644 --- a/game/client/c_team_train_watcher.cpp +++ b/game/client/c_team_train_watcher.cpp @@ -1,98 +1,98 @@ -//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============// -// -// Purpose: Entity that propagates train data for escort gametype -// -// $NoKeywords: $ -//=============================================================================// -#include "cbase.h" -#include "c_team_train_watcher.h" -#include "igameevents.h" - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -IMPLEMENT_CLIENTCLASS_DT_NOBASE(C_TeamTrainWatcher, DT_TeamTrainWatcher, CTeamTrainWatcher) - - RecvPropFloat( RECVINFO( m_flTotalProgress ) ), - RecvPropInt( RECVINFO( m_iTrainSpeedLevel ) ), - RecvPropFloat( RECVINFO( m_flRecedeTime ) ), - RecvPropInt( RECVINFO( m_nNumCappers ) ), - -END_RECV_TABLE() - -C_TeamTrainWatcher *g_pTrainWatcher = NULL; - -C_TeamTrainWatcher::C_TeamTrainWatcher() -{ - g_pTrainWatcher = this; - - // force updates when we get our baseline - m_iTrainSpeedLevel = -2; - m_flTotalProgress = -1; - m_flRecedeTime = -1; - -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -C_TeamTrainWatcher::~C_TeamTrainWatcher() -{ - if ( g_pTrainWatcher == this ) - { - g_pTrainWatcher = NULL; - } -} - -void C_TeamTrainWatcher::OnPreDataChanged( DataUpdateType_t updateType ) -{ - BaseClass::OnPreDataChanged( updateType ); - - m_iOldTrainSpeedLevel = m_iTrainSpeedLevel; - m_flOldProgress = m_flTotalProgress; - m_flOldRecedeTime = m_flRecedeTime; - m_nOldNumCappers = m_nNumCappers; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void C_TeamTrainWatcher::OnDataChanged( DataUpdateType_t updateType ) -{ - if ( m_iOldTrainSpeedLevel != m_iTrainSpeedLevel || m_nOldNumCappers != m_nNumCappers ) - { - IGameEvent *event = gameeventmanager->CreateEvent( "escort_speed" ); - if ( event ) - { - event->SetInt( "speed", m_iTrainSpeedLevel ); - event->SetInt( "players", m_nNumCappers ); - gameeventmanager->FireEventClientSide( event ); - } - } - - if ( m_flOldProgress != m_flTotalProgress ) - { - IGameEvent *event = gameeventmanager->CreateEvent( "escort_progress" ); - if ( event ) - { - event->SetFloat( "progress", m_flTotalProgress ); - - if ( m_flOldProgress <= -1 ) - { - event->SetBool( "reset", true ); - } - - gameeventmanager->FireEventClientSide( event ); - } - } - - if ( m_flOldRecedeTime != m_flRecedeTime ) - { - IGameEvent *event = gameeventmanager->CreateEvent( "escort_recede" ); - if ( event ) - { - event->SetFloat( "recedetime", m_flRecedeTime ); - gameeventmanager->FireEventClientSide( event ); - } - } +//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============// +// +// Purpose: Entity that propagates train data for escort gametype +// +// $NoKeywords: $ +//=============================================================================// +#include "cbase.h" +#include "c_team_train_watcher.h" +#include "igameevents.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +IMPLEMENT_CLIENTCLASS_DT_NOBASE(C_TeamTrainWatcher, DT_TeamTrainWatcher, CTeamTrainWatcher) + + RecvPropFloat( RECVINFO( m_flTotalProgress ) ), + RecvPropInt( RECVINFO( m_iTrainSpeedLevel ) ), + RecvPropFloat( RECVINFO( m_flRecedeTime ) ), + RecvPropInt( RECVINFO( m_nNumCappers ) ), + +END_RECV_TABLE() + +C_TeamTrainWatcher *g_pTrainWatcher = NULL; + +C_TeamTrainWatcher::C_TeamTrainWatcher() +{ + g_pTrainWatcher = this; + + // force updates when we get our baseline + m_iTrainSpeedLevel = -2; + m_flTotalProgress = -1; + m_flRecedeTime = -1; + +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +C_TeamTrainWatcher::~C_TeamTrainWatcher() +{ + if ( g_pTrainWatcher == this ) + { + g_pTrainWatcher = NULL; + } +} + +void C_TeamTrainWatcher::OnPreDataChanged( DataUpdateType_t updateType ) +{ + BaseClass::OnPreDataChanged( updateType ); + + m_iOldTrainSpeedLevel = m_iTrainSpeedLevel; + m_flOldProgress = m_flTotalProgress; + m_flOldRecedeTime = m_flRecedeTime; + m_nOldNumCappers = m_nNumCappers; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void C_TeamTrainWatcher::OnDataChanged( DataUpdateType_t updateType ) +{ + if ( m_iOldTrainSpeedLevel != m_iTrainSpeedLevel || m_nOldNumCappers != m_nNumCappers ) + { + IGameEvent *event = gameeventmanager->CreateEvent( "escort_speed" ); + if ( event ) + { + event->SetInt( "speed", m_iTrainSpeedLevel ); + event->SetInt( "players", m_nNumCappers ); + gameeventmanager->FireEventClientSide( event ); + } + } + + if ( m_flOldProgress != m_flTotalProgress ) + { + IGameEvent *event = gameeventmanager->CreateEvent( "escort_progress" ); + if ( event ) + { + event->SetFloat( "progress", m_flTotalProgress ); + + if ( m_flOldProgress <= -1 ) + { + event->SetBool( "reset", true ); + } + + gameeventmanager->FireEventClientSide( event ); + } + } + + if ( m_flOldRecedeTime != m_flRecedeTime ) + { + IGameEvent *event = gameeventmanager->CreateEvent( "escort_recede" ); + if ( event ) + { + event->SetFloat( "recedetime", m_flRecedeTime ); + gameeventmanager->FireEventClientSide( event ); + } + } } \ No newline at end of file diff --git a/game/client/c_team_train_watcher.h b/game/client/c_team_train_watcher.h index cd666b2c..041d63dd 100644 --- a/game/client/c_team_train_watcher.h +++ b/game/client/c_team_train_watcher.h @@ -1,59 +1,59 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= -// -// Purpose: -// -//============================================================================= - -#ifndef C_TEAM_TRAIN_WATCHER_H -#define C_TEAM_TRAIN_WATCHER_H -#ifdef _WIN32 -#pragma once -#endif - -#include "c_baseentity.h" - -class C_TeamTrainWatcher : public C_BaseEntity -{ - DECLARE_CLASS( C_TeamTrainWatcher, C_BaseEntity ); -public: - DECLARE_CLIENTCLASS(); - - C_TeamTrainWatcher(); - ~C_TeamTrainWatcher(); - - virtual void OnPreDataChanged( DataUpdateType_t updateType ); - virtual void OnDataChanged( DataUpdateType_t updateType ); - - float GetTotalProgress( void ) { return m_flTotalProgress; } - int GetSpeedLevel( void ) { return m_iTrainSpeedLevel; } - -private: - - // === Networked Data === - - // percent distance to cp1, distance to cp2, etc - // adds up to 1.0 - //CNetworkArray( float, m_flDistances, MAX_CONTROL_POINTS ); - - // current total progress, percentage - CNetworkVar( float, m_flTotalProgress ); - float m_flOldProgress; - - CNetworkVar( int, m_iTrainSpeedLevel ); - int m_iOldTrainSpeedLevel; - - CNetworkVar( float, m_flRecedeTime ); - float m_flOldRecedeTime; - - CNetworkVar( int, m_nNumCappers ); - int m_nOldNumCappers; -}; - -extern C_TeamTrainWatcher *g_pTrainWatcher; - -inline C_TeamTrainWatcher *TrainWatcher() -{ - return g_pTrainWatcher; -} - +//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef C_TEAM_TRAIN_WATCHER_H +#define C_TEAM_TRAIN_WATCHER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "c_baseentity.h" + +class C_TeamTrainWatcher : public C_BaseEntity +{ + DECLARE_CLASS( C_TeamTrainWatcher, C_BaseEntity ); +public: + DECLARE_CLIENTCLASS(); + + C_TeamTrainWatcher(); + ~C_TeamTrainWatcher(); + + virtual void OnPreDataChanged( DataUpdateType_t updateType ); + virtual void OnDataChanged( DataUpdateType_t updateType ); + + float GetTotalProgress( void ) { return m_flTotalProgress; } + int GetSpeedLevel( void ) { return m_iTrainSpeedLevel; } + +private: + + // === Networked Data === + + // percent distance to cp1, distance to cp2, etc + // adds up to 1.0 + //CNetworkArray( float, m_flDistances, MAX_CONTROL_POINTS ); + + // current total progress, percentage + CNetworkVar( float, m_flTotalProgress ); + float m_flOldProgress; + + CNetworkVar( int, m_iTrainSpeedLevel ); + int m_iOldTrainSpeedLevel; + + CNetworkVar( float, m_flRecedeTime ); + float m_flOldRecedeTime; + + CNetworkVar( int, m_nNumCappers ); + int m_nOldNumCappers; +}; + +extern C_TeamTrainWatcher *g_pTrainWatcher; + +inline C_TeamTrainWatcher *TrainWatcher() +{ + return g_pTrainWatcher; +} + #endif //C_TEAM_TRAIN_WATCHER_H \ No newline at end of file diff --git a/game/client/client_hl2-2005.vcproj b/game/client/client_hl2-2005.vcproj index 565ce537..52208b3e 100644 --- a/game/client/client_hl2-2005.vcproj +++ b/game/client/client_hl2-2005.vcproj @@ -4,6 +4,7 @@ Version="8.00" Name="Client (HL2)" ProjectGUID="{F2D9D6B0-DEE5-4217-9336-A4FEBA24C790}" + RootNamespace="Client (HL2)" > + + @@ -2923,6 +2929,7 @@ -#include "commentary_modelviewer.h" -#include "iclientmode.h" -#include "baseviewport.h" - -DECLARE_BUILD_FACTORY( CCommentaryModelPanel ); - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -CCommentaryModelPanel::CCommentaryModelPanel( vgui::Panel *parent, const char *name ) : CModelPanel( parent, name ) -{ -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -CCommentaryModelViewer::CCommentaryModelViewer(IViewPort *pViewPort) : Frame(NULL, PANEL_COMMENTARY_MODELVIEWER ) -{ - m_pViewPort = pViewPort; - m_pModelPanel = NULL; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -CCommentaryModelViewer::~CCommentaryModelViewer() -{ -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CCommentaryModelViewer::ApplySchemeSettings( vgui::IScheme *pScheme ) -{ - BaseClass::ApplySchemeSettings( pScheme ); - - LoadControlSettings( "Resource/UI/CommentaryModelViewer.res" ); - - m_pModelPanel = dynamic_cast( FindChildByName( "modelpanel" ) ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CCommentaryModelViewer::PerformLayout( void ) -{ - int w,h; - GetParent()->GetSize( w, h ); - SetBounds(0,0,w,h); - - if ( m_pModelPanel ) - { - m_pModelPanel->SetBounds(0,0,w,h); - } - - BaseClass::PerformLayout(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CCommentaryModelViewer::SetModel( const char *pszName, const char *pszAttached ) -{ - if ( !m_pModelPanel ) - return; - - m_pModelPanel->SwapModel( pszName, pszAttached ); - - m_flYawSpeed = 0; - m_flZoomSpeed = 0; - m_bTranslating = false; - - m_vecResetPos = m_pModelPanel->m_pModelInfo->m_vecOriginOffset; - m_vecResetAngles = m_pModelPanel->m_pModelInfo->m_vecAbsAngles; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CCommentaryModelViewer::ShowPanel(bool bShow) -{ - if ( BaseClass::IsVisible() == bShow ) - return; - - if ( bShow ) - { - Activate(); - SetMouseInputEnabled( true ); - } - else - { - SetVisible( false ); - SetMouseInputEnabled( false ); - } - - m_pViewPort->ShowBackGround( bShow ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CCommentaryModelViewer::OnCommand( const char *command ) -{ - if ( Q_stricmp( command, "vguicancel" ) ) - { - engine->ClientCmd( const_cast( command ) ); - } - - Close(); - m_pViewPort->ShowBackGround( false ); - - BaseClass::OnCommand( command ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CCommentaryModelViewer::OnKeyCodePressed( vgui::KeyCode code ) -{ - if ( code == KEY_ENTER ) - { - Close(); - m_pViewPort->ShowBackGround( false ); - } - else if ( code == KEY_SPACE ) - { - m_bTranslating = !m_bTranslating; - } - else if ( code == KEY_R ) - { - m_pModelPanel->m_pModelInfo->m_vecOriginOffset = m_vecResetPos; - m_pModelPanel->m_pModelInfo->m_vecAbsAngles = m_vecResetAngles; - m_flYawSpeed = 0; - m_flZoomSpeed = 0; - - m_pModelPanel->ZoomToFrameDistance(); - } - else - { - BaseClass::OnKeyCodePressed( code ); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CCommentaryModelViewer::OnThink( void ) -{ - HandleMovementInput(); - - BaseClass::OnThink(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CCommentaryModelViewer::HandleMovementInput( void ) -{ - bool bLeftDown = input()->IsKeyDown(KEY_LEFT); - bool bRightDown = input()->IsKeyDown(KEY_RIGHT); - bool bForwardDown = input()->IsKeyDown(KEY_UP); - bool bBackDown = input()->IsKeyDown(KEY_DOWN); - - float flAccel = 0.05; - - // Rotation around Z - if ( bLeftDown ) - { - if ( m_flYawSpeed > 0 ) - { - m_flYawSpeed = 0; - } - m_flYawSpeed = max(m_flYawSpeed-flAccel, -3.0); - } - else if ( bRightDown ) - { - if ( m_flYawSpeed < 0 ) - { - m_flYawSpeed = 0; - } - m_flYawSpeed = min(m_flYawSpeed+flAccel, 3.0); - } - if ( m_flYawSpeed != 0 ) - { - if ( m_bTranslating ) - { - m_pModelPanel->m_pModelInfo->m_vecOriginOffset.y = clamp( m_pModelPanel->m_pModelInfo->m_vecOriginOffset.y + m_flYawSpeed, -100, 100 ); - } - else - { - m_pModelPanel->m_pModelInfo->m_vecAbsAngles.y = anglemod( m_pModelPanel->m_pModelInfo->m_vecAbsAngles.y + m_flYawSpeed ); - } - - if ( !bLeftDown && !bRightDown ) - { - m_flYawSpeed = ( m_flYawSpeed > 0 ) ? max(0,m_flYawSpeed-0.1) : min(0,m_flYawSpeed+0.1); - } - } - - // Zooming - if ( bForwardDown ) - { - if ( m_flZoomSpeed > 0 ) - { - m_flZoomSpeed = 0; - } - m_flZoomSpeed = max(m_flZoomSpeed-flAccel, -3.0); - } - else if ( bBackDown ) - { - if ( m_flZoomSpeed < 0 ) - { - m_flZoomSpeed = 0; - } - m_flZoomSpeed = min(m_flZoomSpeed+flAccel, 3.0); - } - if ( m_flZoomSpeed != 0 ) - { - if ( m_bTranslating ) - { - m_pModelPanel->m_pModelInfo->m_vecOriginOffset.z = clamp( m_pModelPanel->m_pModelInfo->m_vecOriginOffset.z + m_flZoomSpeed, -100, 300 ); - } - else - { - float flZoomMin = m_pModelPanel->m_flFrameDistance * 0.75; - float flZoomMax = m_pModelPanel->m_flFrameDistance * 1.5; - m_pModelPanel->m_pModelInfo->m_vecOriginOffset.x = clamp( m_pModelPanel->m_pModelInfo->m_vecOriginOffset.x + m_flZoomSpeed, flZoomMin, flZoomMax ); - } - - if ( !bForwardDown && !bBackDown ) - { - m_flZoomSpeed = ( m_flZoomSpeed > 0 ) ? max(0,m_flZoomSpeed-0.1) : min(0,m_flZoomSpeed+0.1); - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CommentaryShowModelViewer( const CCommand &args ) -{ - if ( args.ArgC() < 2 ) - { - ConMsg( "Usage: commentary_showmodelviewer \n" ); - return; - } - - CBaseViewport *pViewport = dynamic_cast( g_pClientMode->GetViewport() ); - if ( pViewport ) - { - IViewPortPanel *pCommentaryPanel = pViewport->FindPanelByName( PANEL_COMMENTARY_MODELVIEWER ); - if ( !pCommentaryPanel ) - { - pCommentaryPanel = pViewport->CreatePanelByName( PANEL_COMMENTARY_MODELVIEWER ); - pViewport->AddNewPanel( pCommentaryPanel, "PANEL_COMMENTARY_MODELVIEWER" ); - } - - if ( pCommentaryPanel ) - { - //((CCommentaryModelViewer*)pCommentaryPanel)->InvalidateLayout( false, true ); - ((CCommentaryModelViewer*)pCommentaryPanel)->SetModel( args[1], args[2] ); - pViewport->ShowPanel( pCommentaryPanel, true ); - } - } -} - -ConCommand commentary_showmodelviewer( "commentary_showmodelviewer", CommentaryShowModelViewer, "Display the commentary model viewer. Usage: commentary_showmodelviewer ", FCVAR_NONE ); +//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + + +#include "cbase.h" +#include "vgui/IInput.h" +#include +#include "commentary_modelviewer.h" +#include "iclientmode.h" +#include "baseviewport.h" + +DECLARE_BUILD_FACTORY( CCommentaryModelPanel ); + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CCommentaryModelPanel::CCommentaryModelPanel( vgui::Panel *parent, const char *name ) : CModelPanel( parent, name ) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CCommentaryModelViewer::CCommentaryModelViewer(IViewPort *pViewPort) : Frame(NULL, PANEL_COMMENTARY_MODELVIEWER ) +{ + m_pViewPort = pViewPort; + m_pModelPanel = NULL; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CCommentaryModelViewer::~CCommentaryModelViewer() +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCommentaryModelViewer::ApplySchemeSettings( vgui::IScheme *pScheme ) +{ + BaseClass::ApplySchemeSettings( pScheme ); + + LoadControlSettings( "Resource/UI/CommentaryModelViewer.res" ); + + m_pModelPanel = dynamic_cast( FindChildByName( "modelpanel" ) ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCommentaryModelViewer::PerformLayout( void ) +{ + int w,h; + GetParent()->GetSize( w, h ); + SetBounds(0,0,w,h); + + if ( m_pModelPanel ) + { + m_pModelPanel->SetBounds(0,0,w,h); + } + + BaseClass::PerformLayout(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCommentaryModelViewer::SetModel( const char *pszName, const char *pszAttached ) +{ + if ( !m_pModelPanel ) + return; + + m_pModelPanel->SwapModel( pszName, pszAttached ); + + m_flYawSpeed = 0; + m_flZoomSpeed = 0; + m_bTranslating = false; + + m_vecResetPos = m_pModelPanel->m_pModelInfo->m_vecOriginOffset; + m_vecResetAngles = m_pModelPanel->m_pModelInfo->m_vecAbsAngles; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCommentaryModelViewer::ShowPanel(bool bShow) +{ + if ( BaseClass::IsVisible() == bShow ) + return; + + if ( bShow ) + { + Activate(); + SetMouseInputEnabled( true ); + } + else + { + SetVisible( false ); + SetMouseInputEnabled( false ); + } + + m_pViewPort->ShowBackGround( bShow ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCommentaryModelViewer::OnCommand( const char *command ) +{ + if ( Q_stricmp( command, "vguicancel" ) ) + { + engine->ClientCmd( const_cast( command ) ); + } + + Close(); + m_pViewPort->ShowBackGround( false ); + + BaseClass::OnCommand( command ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCommentaryModelViewer::OnKeyCodePressed( vgui::KeyCode code ) +{ + if ( code == KEY_ENTER ) + { + Close(); + m_pViewPort->ShowBackGround( false ); + } + else if ( code == KEY_SPACE ) + { + m_bTranslating = !m_bTranslating; + } + else if ( code == KEY_R ) + { + m_pModelPanel->m_pModelInfo->m_vecOriginOffset = m_vecResetPos; + m_pModelPanel->m_pModelInfo->m_vecAbsAngles = m_vecResetAngles; + m_flYawSpeed = 0; + m_flZoomSpeed = 0; + + m_pModelPanel->ZoomToFrameDistance(); + } + else + { + BaseClass::OnKeyCodePressed( code ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCommentaryModelViewer::OnThink( void ) +{ + HandleMovementInput(); + + BaseClass::OnThink(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCommentaryModelViewer::HandleMovementInput( void ) +{ + bool bLeftDown = input()->IsKeyDown(KEY_LEFT); + bool bRightDown = input()->IsKeyDown(KEY_RIGHT); + bool bForwardDown = input()->IsKeyDown(KEY_UP); + bool bBackDown = input()->IsKeyDown(KEY_DOWN); + + float flAccel = 0.05; + + // Rotation around Z + if ( bLeftDown ) + { + if ( m_flYawSpeed > 0 ) + { + m_flYawSpeed = 0; + } + m_flYawSpeed = max(m_flYawSpeed-flAccel, -3.0); + } + else if ( bRightDown ) + { + if ( m_flYawSpeed < 0 ) + { + m_flYawSpeed = 0; + } + m_flYawSpeed = min(m_flYawSpeed+flAccel, 3.0); + } + if ( m_flYawSpeed != 0 ) + { + if ( m_bTranslating ) + { + m_pModelPanel->m_pModelInfo->m_vecOriginOffset.y = clamp( m_pModelPanel->m_pModelInfo->m_vecOriginOffset.y + m_flYawSpeed, -100, 100 ); + } + else + { + m_pModelPanel->m_pModelInfo->m_vecAbsAngles.y = anglemod( m_pModelPanel->m_pModelInfo->m_vecAbsAngles.y + m_flYawSpeed ); + } + + if ( !bLeftDown && !bRightDown ) + { + m_flYawSpeed = ( m_flYawSpeed > 0 ) ? max(0,m_flYawSpeed-0.1) : min(0,m_flYawSpeed+0.1); + } + } + + // Zooming + if ( bForwardDown ) + { + if ( m_flZoomSpeed > 0 ) + { + m_flZoomSpeed = 0; + } + m_flZoomSpeed = max(m_flZoomSpeed-flAccel, -3.0); + } + else if ( bBackDown ) + { + if ( m_flZoomSpeed < 0 ) + { + m_flZoomSpeed = 0; + } + m_flZoomSpeed = min(m_flZoomSpeed+flAccel, 3.0); + } + if ( m_flZoomSpeed != 0 ) + { + if ( m_bTranslating ) + { + m_pModelPanel->m_pModelInfo->m_vecOriginOffset.z = clamp( m_pModelPanel->m_pModelInfo->m_vecOriginOffset.z + m_flZoomSpeed, -100, 300 ); + } + else + { + float flZoomMin = m_pModelPanel->m_flFrameDistance * 0.75; + float flZoomMax = m_pModelPanel->m_flFrameDistance * 1.5; + m_pModelPanel->m_pModelInfo->m_vecOriginOffset.x = clamp( m_pModelPanel->m_pModelInfo->m_vecOriginOffset.x + m_flZoomSpeed, flZoomMin, flZoomMax ); + } + + if ( !bForwardDown && !bBackDown ) + { + m_flZoomSpeed = ( m_flZoomSpeed > 0 ) ? max(0,m_flZoomSpeed-0.1) : min(0,m_flZoomSpeed+0.1); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CommentaryShowModelViewer( const CCommand &args ) +{ + if ( args.ArgC() < 2 ) + { + ConMsg( "Usage: commentary_showmodelviewer \n" ); + return; + } + + CBaseViewport *pViewport = dynamic_cast( g_pClientMode->GetViewport() ); + if ( pViewport ) + { + IViewPortPanel *pCommentaryPanel = pViewport->FindPanelByName( PANEL_COMMENTARY_MODELVIEWER ); + if ( !pCommentaryPanel ) + { + pCommentaryPanel = pViewport->CreatePanelByName( PANEL_COMMENTARY_MODELVIEWER ); + pViewport->AddNewPanel( pCommentaryPanel, "PANEL_COMMENTARY_MODELVIEWER" ); + } + + if ( pCommentaryPanel ) + { + //((CCommentaryModelViewer*)pCommentaryPanel)->InvalidateLayout( false, true ); + ((CCommentaryModelViewer*)pCommentaryPanel)->SetModel( args[1], args[2] ); + pViewport->ShowPanel( pCommentaryPanel, true ); + } + } +} + +ConCommand commentary_showmodelviewer( "commentary_showmodelviewer", CommentaryShowModelViewer, "Display the commentary model viewer. Usage: commentary_showmodelviewer ", FCVAR_NONE ); diff --git a/game/client/commentary_modelviewer.h b/game/client/commentary_modelviewer.h index 148be116..4fa1d87d 100644 --- a/game/client/commentary_modelviewer.h +++ b/game/client/commentary_modelviewer.h @@ -1,75 +1,75 @@ -//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============// -// -// Purpose: -// -// $NoKeywords: $ -//=============================================================================// - -#ifndef COMMENTARY_MODELVIEWER_H -#define COMMENTARY_MODELVIEWER_H -#ifdef _WIN32 -#pragma once -#endif - -#include -#include -#include "basemodelpanel.h" - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -class CCommentaryModelPanel : public CModelPanel -{ -public: - DECLARE_CLASS_SIMPLE( CCommentaryModelPanel, CModelPanel ); - - CCommentaryModelPanel( vgui::Panel *parent, const char *name ); -}; - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -class CCommentaryModelViewer : public vgui::Frame, public IViewPortPanel -{ - DECLARE_CLASS_SIMPLE( CCommentaryModelViewer, vgui::Frame ); -public: - CCommentaryModelViewer(IViewPort *pViewPort); - virtual ~CCommentaryModelViewer(); - - virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); - virtual void PerformLayout( void ); - virtual void OnCommand( const char *command ); - virtual void OnKeyCodePressed( vgui::KeyCode code ); - virtual void OnThink( void ); - - void SetModel( const char *pszName, const char *pszAttached ); - - void HandleMovementInput( void ); - - // IViewPortPanel -public: - virtual const char *GetName( void ) { return PANEL_COMMENTARY_MODELVIEWER; } - virtual void SetData(KeyValues *data) {}; - virtual void Reset() {}; - virtual void Update() {}; - virtual bool NeedsUpdate( void ) { return false; } - virtual bool HasInputElements( void ) { return true; } - virtual void ShowPanel( bool bShow ); - - // both vgui::Frame and IViewPortPanel define these, so explicitly define them here as passthroughs to vgui - vgui::VPANEL GetVPanel( void ) { return BaseClass::GetVPanel(); } - virtual bool IsVisible() { return BaseClass::IsVisible(); } - virtual void SetParent( vgui::VPANEL parent ) { BaseClass::SetParent( parent ); } - -private: - IViewPort *m_pViewPort; - CCommentaryModelPanel *m_pModelPanel; - - Vector m_vecResetPos; - Vector m_vecResetAngles; - bool m_bTranslating; - float m_flYawSpeed; - float m_flZoomSpeed; -}; - -#endif // COMMENTARY_MODELVIEWER_H +//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef COMMENTARY_MODELVIEWER_H +#define COMMENTARY_MODELVIEWER_H +#ifdef _WIN32 +#pragma once +#endif + +#include +#include +#include "basemodelpanel.h" + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CCommentaryModelPanel : public CModelPanel +{ +public: + DECLARE_CLASS_SIMPLE( CCommentaryModelPanel, CModelPanel ); + + CCommentaryModelPanel( vgui::Panel *parent, const char *name ); +}; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CCommentaryModelViewer : public vgui::Frame, public IViewPortPanel +{ + DECLARE_CLASS_SIMPLE( CCommentaryModelViewer, vgui::Frame ); +public: + CCommentaryModelViewer(IViewPort *pViewPort); + virtual ~CCommentaryModelViewer(); + + virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); + virtual void PerformLayout( void ); + virtual void OnCommand( const char *command ); + virtual void OnKeyCodePressed( vgui::KeyCode code ); + virtual void OnThink( void ); + + void SetModel( const char *pszName, const char *pszAttached ); + + void HandleMovementInput( void ); + + // IViewPortPanel +public: + virtual const char *GetName( void ) { return PANEL_COMMENTARY_MODELVIEWER; } + virtual void SetData(KeyValues *data) {}; + virtual void Reset() {}; + virtual void Update() {}; + virtual bool NeedsUpdate( void ) { return false; } + virtual bool HasInputElements( void ) { return true; } + virtual void ShowPanel( bool bShow ); + + // both vgui::Frame and IViewPortPanel define these, so explicitly define them here as passthroughs to vgui + vgui::VPANEL GetVPanel( void ) { return BaseClass::GetVPanel(); } + virtual bool IsVisible() { return BaseClass::IsVisible(); } + virtual void SetParent( vgui::VPANEL parent ) { BaseClass::SetParent( parent ); } + +private: + IViewPort *m_pViewPort; + CCommentaryModelPanel *m_pModelPanel; + + Vector m_vecResetPos; + Vector m_vecResetAngles; + bool m_bTranslating; + float m_flYawSpeed; + float m_flZoomSpeed; +}; + +#endif // COMMENTARY_MODELVIEWER_H diff --git a/game/client/game_controls/basemodel_panel.cpp b/game/client/game_controls/basemodel_panel.cpp index 47acea20..497b0754 100644 --- a/game/client/game_controls/basemodel_panel.cpp +++ b/game/client/game_controls/basemodel_panel.cpp @@ -1,509 +1,509 @@ -//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= -// -// Purpose: -// -//============================================================================= - -#include "cbase.h" -#include "basemodel_panel.h" -#include "activitylist.h" -#include "animation.h" -#include "vgui/iinput.h" -#include "matsys_controls/manipulator.h" - -using namespace vgui; -DECLARE_BUILD_FACTORY( CBaseModelPanel ); - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -CBaseModelPanel::CBaseModelPanel( vgui::Panel *pParent, const char *pName ): BaseClass( pParent, pName ) -{ - m_bForcePos = false; - m_bMousePressed = false; - m_bAllowRotation = false; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -CBaseModelPanel::~CBaseModelPanel() -{ -} - -//----------------------------------------------------------------------------- -// Purpose: Load in the model portion of the panel's resource file. -//----------------------------------------------------------------------------- -void CBaseModelPanel::ApplySettings( KeyValues *inResourceData ) -{ - BaseClass::ApplySettings( inResourceData ); - - // Grab and set the camera FOV. - float flFOV = GetCameraFOV(); - m_BMPResData.m_flFOV = inResourceData->GetInt( "fov", flFOV ); - SetCameraFOV( m_BMPResData.m_flFOV ); - - // Do we allow rotation on these panels. - m_bAllowRotation = ( inResourceData->GetInt( "allow_rot", 0 ) == 1 ); - - // Parse our resource file and apply all necessary updates to the MDL. - for ( KeyValues *pData = inResourceData->GetFirstSubKey() ; pData != NULL ; pData = pData->GetNextKey() ) - { - if ( !Q_stricmp( pData->GetName(), "model" ) ) - { - ParseModelResInfo( pData ); - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseModelPanel::ParseModelResInfo( KeyValues *inResourceData ) -{ - m_bForcePos = ( inResourceData->GetInt( "force_pos", 0 ) == 1 ); - m_BMPResData.m_pszModelName = ReadAndAllocStringValue( inResourceData, "modelname" ); - m_BMPResData.m_pszModelName_HWM = ReadAndAllocStringValue( inResourceData, "modelname_hwm" ); - m_BMPResData.m_pszVCD = ReadAndAllocStringValue( inResourceData, "vcd" ); - m_BMPResData.m_angModelPoseRot.Init( inResourceData->GetFloat( "angles_x", 0.0f ), inResourceData->GetFloat( "angles_y", 0.0f ), inResourceData->GetFloat( "angles_z", 0.0f ) ); - m_BMPResData.m_vecOriginOffset.Init( inResourceData->GetFloat( "origin_x", 110.0 ), inResourceData->GetFloat( "origin_y", 5.0 ), inResourceData->GetFloat( "origin_z", 5.0 ) ); - m_BMPResData.m_vecFramedOriginOffset.Init( inResourceData->GetFloat( "frame_origin_x", 110.0 ), inResourceData->GetFloat( "frame_origin_y", 5.0 ), inResourceData->GetFloat( "frame_origin_z", 5.0 ) ); - m_BMPResData.m_vecViewportOffset.Init(); - m_BMPResData.m_nSkin = inResourceData->GetInt( "skin", -1 ); - m_BMPResData.m_bUseSpotlight = ( inResourceData->GetInt( "spotlight", 0 ) == 1 ); - - m_angPlayer = m_BMPResData.m_angModelPoseRot; - m_vecPlayerPos = m_BMPResData.m_vecOriginOffset; - - for ( KeyValues *pData = inResourceData->GetFirstSubKey(); pData != NULL; pData = pData->GetNextKey() ) - { - if ( !Q_stricmp( pData->GetName(), "animation" ) ) - { - ParseModelAnimInfo( pData ); - } - else if ( !Q_stricmp( pData->GetName(), "attached_model" ) ) - { - ParseModelAttachInfo( pData ); - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseModelPanel::ParseModelAnimInfo( KeyValues *inResourceData ) -{ - if ( !inResourceData ) - return; - - int iAnim = m_BMPResData.m_aAnimations.AddToTail(); - if ( iAnim == m_BMPResData.m_aAnimations.InvalidIndex() ) - return; - - m_BMPResData.m_aAnimations[iAnim].m_pszName = ReadAndAllocStringValue( inResourceData, "name" ); - m_BMPResData.m_aAnimations[iAnim].m_pszSequence = ReadAndAllocStringValue( inResourceData, "sequence" ); - m_BMPResData.m_aAnimations[iAnim].m_pszActivity = ReadAndAllocStringValue( inResourceData, "activity" ); - m_BMPResData.m_aAnimations[iAnim].m_bDefault = ( inResourceData->GetInt( "default", 0 ) == 1 ); - - for ( KeyValues *pAnimData = inResourceData->GetFirstSubKey(); pAnimData != NULL; pAnimData = pAnimData->GetNextKey() ) - { - if ( !Q_stricmp( pAnimData->GetName(), "pose_parameters" ) ) - { - m_BMPResData.m_aAnimations[iAnim].m_pPoseParameters = pAnimData->MakeCopy(); - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseModelPanel::ParseModelAttachInfo( KeyValues *inResourceData ) -{ - if ( !inResourceData ) - return; - - int iAttach = m_BMPResData.m_aAttachModels.AddToTail(); - if ( iAttach == m_BMPResData.m_aAttachModels.InvalidIndex() ) - return; - - m_BMPResData.m_aAttachModels[iAttach].m_pszModelName = ReadAndAllocStringValue( inResourceData, "modelname" ); - m_BMPResData.m_aAttachModels[iAttach].m_nSkin = inResourceData->GetInt( "skin", -1 ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseModelPanel::SetupModelDefaults( void ) -{ - SetupModelAnimDefaults(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseModelPanel::SetupModelAnimDefaults( void ) -{ - // Verify that we have animations for this model. - int nAnimCount = m_BMPResData.m_aAnimations.Count(); - if ( nAnimCount == 0 ) - return; - - // Find the default animation if one exists. - int iIndex = FindDefaultAnim(); - if ( iIndex == -1 ) - return; - - SetModelAnim( iIndex ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -int CBaseModelPanel::FindDefaultAnim( void ) -{ - int iIndex = -1; - - int nAnimCount = m_BMPResData.m_aAnimations.Count(); - for ( int iAnim = 0; iAnim < nAnimCount; ++iAnim ) - { - if ( m_BMPResData.m_aAnimations[iAnim].m_bDefault ) - return iAnim; - } - - return iIndex; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -int CBaseModelPanel::FindAnimByName( const char *pszName ) -{ - int iIndex = -1; - - int nAnimCount = m_BMPResData.m_aAnimations.Count(); - for ( int iAnim = 0; iAnim < nAnimCount; ++iAnim ) - { - if ( !Q_stricmp( m_BMPResData.m_aAnimations[iAnim].m_pszName, pszName ) ) - return iAnim; - } - - return iIndex; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -int CBaseModelPanel::FindSequenceFromActivity( CStudioHdr *pStudioHdr, const char *pszActivity ) -{ - if ( !pStudioHdr ) - return -1; - - for ( int iSeq = 0; iSeq < pStudioHdr->GetNumSeq(); ++iSeq ) - { - mstudioseqdesc_t &seqDesc = pStudioHdr->pSeqdesc( iSeq ); - if ( !stricmp( seqDesc.pszActivityName(), pszActivity ) ) - { - return iSeq; - } - } - - return -1; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseModelPanel::SetModelAnim( int iAnim ) -{ - int nAnimCount = m_BMPResData.m_aAnimations.Count(); - if ( nAnimCount == 0 || !m_BMPResData.m_aAnimations.IsValidIndex( iAnim ) ) - return; - - MDLCACHE_CRITICAL_SECTION(); - - // Get the studio header of the root model. - studiohdr_t *pStudioHdr = m_RootMDL.m_MDL.GetStudioHdr(); - if ( !pStudioHdr ) - return; - - CStudioHdr studioHdr( pStudioHdr, g_pMDLCache ); - - // Do we have an activity or a sequence? - int iSequence = ACT_INVALID; - if ( m_BMPResData.m_aAnimations[iAnim].m_pszActivity && m_BMPResData.m_aAnimations[iAnim].m_pszActivity[0] ) - { - iSequence = FindSequenceFromActivity( &studioHdr, m_BMPResData.m_aAnimations[iAnim].m_pszActivity ); - } - else if ( m_BMPResData.m_aAnimations[iAnim].m_pszSequence && m_BMPResData.m_aAnimations[iAnim].m_pszSequence[0] ) - { - iSequence = LookupSequence( &studioHdr, m_BMPResData.m_aAnimations[iAnim].m_pszSequence ); - } - - if ( iSequence != ACT_INVALID ) - { - SetSequence( iSequence ); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseModelPanel::SetMDL( MDLHandle_t handle ) -{ - BaseClass::SetMDL( handle ); - - SetupModelDefaults(); - - // Need to invalidate the layout so the panel will adjust is LookAt for the new model. - InvalidateLayout(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseModelPanel::SetMDL( const char *pMDLName ) -{ - BaseClass::SetMDL( pMDLName ); - - // Need to invalidate the layout so the panel will adjust is LookAt for the new model. -// InvalidateLayout(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseModelPanel::PerformLayout() -{ - BaseClass::PerformLayout(); - - if ( m_bForcePos ) - { - ResetCameraPivot(); - SetCameraOffset( Vector( 0.0f, 0.0f, 0.0f ) ); - SetCameraPositionAndAngles( vec3_origin, vec3_angle ); - SetModelAnglesAndPosition( m_angPlayer, m_vecPlayerPos ); - } - - // Center and fill the frame with the model? - if ( m_bStartFramed ) - { - Vector vecBoundsMin, vecBoundsMax; - if ( GetBoundingBox( vecBoundsMin, vecBoundsMax ) ) - { - LookAtBounds( vecBoundsMin, vecBoundsMax ); - } - } -} - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -void CBaseModelPanel::OnKeyCodePressed ( vgui::KeyCode code ) -{ - return; -} - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -void CBaseModelPanel::OnKeyCodeReleased( vgui::KeyCode code ) -{ - return; -} - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -void CBaseModelPanel::OnMousePressed ( vgui::MouseCode code ) -{ - if ( !m_bAllowRotation ) - return; - - RequestFocus(); - - EnableMouseCapture( true, code ); - - // Warp the mouse to the center of the screen - int width, height; - GetSize( width, height ); - int x = width / 2; - int y = height / 2; - - int xpos = x; - int ypos = y; - LocalToScreen( xpos, ypos ); - input()->SetCursorPos( xpos, ypos ); - - m_nManipStartX = xpos; - m_nManipStartY = ypos; - - m_bMousePressed = true; -} - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -void CBaseModelPanel::OnMouseReleased( vgui::MouseCode code ) -{ - if ( !m_bAllowRotation ) - return; - - EnableMouseCapture( false ); - m_bMousePressed = false; -} - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -void CBaseModelPanel::OnCursorMoved( int x, int y ) -{ - if ( !m_bAllowRotation ) - return; - - if ( m_bMousePressed ) - { - WarpMouse( x, y ); - - int xpos, ypos; - input()->GetCursorPos( xpos, ypos ); - - // Only want the x delta. - float flDelta = xpos - m_nManipStartX; - - // Apply the delta and rotate the player. - m_angPlayer.y += flDelta; - if ( m_angPlayer.y > 360.0f ) - { - m_angPlayer.y = m_angPlayer.y - 360.0f; - } - else if ( m_angPlayer.y < -360.0f ) - { - m_angPlayer.y = m_angPlayer.y + 360.0f; - } - - SetModelAnglesAndPosition( m_angPlayer, m_vecPlayerPos ); - } -} - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -void CBaseModelPanel::OnMouseWheeled( int delta ) -{ - return; -} - -//----------------------------------------------------------------------------- -// Purpose: Set the camera to a distance that allows the object to fill the model panel. -//----------------------------------------------------------------------------- -void CBaseModelPanel::LookAtBounds( const Vector &vecBoundsMin, const Vector &vecBoundsMax ) -{ - // Get the model space render bounds. - Vector vecMin = vecBoundsMin; - Vector vecMax = vecBoundsMax; - Vector vecCenter = ( vecMax + vecMin ) * 0.5f; - vecMin -= vecCenter; - vecMax -= vecCenter; - - // Get the bounds points and transform them by the desired model panel rotation. - Vector aBoundsPoints[8]; - aBoundsPoints[0].Init( vecMax.x, vecMax.y, vecMax.z ); - aBoundsPoints[1].Init( vecMin.x, vecMax.y, vecMax.z ); - aBoundsPoints[2].Init( vecMax.x, vecMin.y, vecMax.z ); - aBoundsPoints[3].Init( vecMin.x, vecMin.y, vecMax.z ); - aBoundsPoints[4].Init( vecMax.x, vecMax.y, vecMin.z ); - aBoundsPoints[5].Init( vecMin.x, vecMax.y, vecMin.z ); - aBoundsPoints[6].Init( vecMax.x, vecMin.y, vecMin.z ); - aBoundsPoints[7].Init( vecMin.x, vecMin.y, vecMin.z ); - - // Translated center point (offset from camera center). - Vector vecTranslateCenter = -vecCenter; - - // Build the rotation matrix. - matrix3x4_t matRotation; - AngleMatrix( m_BMPResData.m_angModelPoseRot, matRotation ); - - Vector aXFormPoints[8]; - for ( int iPoint = 0; iPoint < 8; ++iPoint ) - { - VectorTransform( aBoundsPoints[iPoint], matRotation, aXFormPoints[iPoint] ); - } - - Vector vecXFormCenter; - VectorTransform( -vecTranslateCenter, matRotation, vecXFormCenter ); - - int w, h; - GetSize( w, h ); - float flW = (float)w; - float flH = (float)h; - - float flFOVx = DEG2RAD( m_BMPResData.m_flFOV * 0.5f ); - float flFOVy = CalcFovY( ( m_BMPResData.m_flFOV * 0.5f ), flW/flH ); - flFOVy = DEG2RAD( flFOVy ); - - float flTanFOVx = tan( flFOVx ); - float flTanFOVy = tan( flFOVy ); - - // Find the max value of x, y, or z - Vector2D dist[8]; - float flDist = 0.0f; - for ( int iPoint = 0; iPoint < 8; ++iPoint ) - { - float flDistY = fabs( aXFormPoints[iPoint].y / flTanFOVx ) - aXFormPoints[iPoint].x; - float flDistZ = fabs( aXFormPoints[iPoint].z / flTanFOVy ) - aXFormPoints[iPoint].x; - dist[iPoint].x = flDistY; - dist[iPoint].y = flDistZ; - float flTestDist = max( flDistZ, flDistY ); - flDist = max( flDist, flTestDist ); - } - - // Screen space points. - Vector2D aScreenPoints[8]; - Vector aCameraPoints[8]; - for ( int iPoint = 0; iPoint < 8; ++iPoint ) - { - aCameraPoints[iPoint] = aXFormPoints[iPoint]; - aCameraPoints[iPoint].x += flDist; - - aScreenPoints[iPoint].x = aCameraPoints[iPoint].y / ( flTanFOVx * aCameraPoints[iPoint].x ); - aScreenPoints[iPoint].y = aCameraPoints[iPoint].z / ( flTanFOVy * aCameraPoints[iPoint].x ); - - aScreenPoints[iPoint].x = ( aScreenPoints[iPoint].x * 0.5f + 0.5f ) * flW; - aScreenPoints[iPoint].y = ( aScreenPoints[iPoint].y * 0.5f + 0.5f ) * flH; - } - - // Find the min/max and center of the 2D bounding box of the object. - Vector2D vecScreenMin( 99999.0f, 99999.0f ), vecScreenMax( -99999.0f, -99999.0f ); - for ( int iPoint = 0; iPoint < 8; ++iPoint ) - { - vecScreenMin.x = min( vecScreenMin.x, aScreenPoints[iPoint].x ); - vecScreenMin.y = min( vecScreenMin.y, aScreenPoints[iPoint].y ); - vecScreenMax.x = max( vecScreenMax.x, aScreenPoints[iPoint].x ); - vecScreenMax.y = max( vecScreenMax.y, aScreenPoints[iPoint].y ); - } - - // Offset the model to the be the correct distance away from the camera. - Vector vecModelPos; - vecModelPos.x = flDist - vecXFormCenter.x; - vecModelPos.y = -vecXFormCenter.y; - vecModelPos.z = -vecXFormCenter.z; - SetModelAnglesAndPosition( m_BMPResData.m_angModelPoseRot, vecModelPos ); - - // Back project to figure out the camera offset to center the model. - Vector2D vecPanelCenter( ( flW * 0.5f ), ( flH * 0.5f ) ); - Vector2D vecScreenCenter = ( vecScreenMax + vecScreenMin ) * 0.5f; - - Vector2D vecPanelCenterCamera, vecScreenCenterCamera; - vecPanelCenterCamera.x = ( ( vecPanelCenter.x / flW ) * 2.0f ) - 0.5f; - vecPanelCenterCamera.y = ( ( vecPanelCenter.y / flH ) * 2.0f ) - 0.5f; - vecPanelCenterCamera.x *= ( flTanFOVx * flDist ); - vecPanelCenterCamera.y *= ( flTanFOVy * flDist ); - vecScreenCenterCamera.x = ( ( vecScreenCenter.x / flW ) * 2.0f ) - 0.5f; - vecScreenCenterCamera.y = ( ( vecScreenCenter.y / flH ) * 2.0f ) - 0.5f; - vecScreenCenterCamera.x *= ( flTanFOVx * flDist ); - vecScreenCenterCamera.y *= ( flTanFOVy * flDist ); - - Vector2D vecCameraOffset( 0.0f, 0.0f ); - vecCameraOffset.x = vecPanelCenterCamera.x - vecScreenCenterCamera.x; - vecCameraOffset.y = vecPanelCenterCamera.y - vecScreenCenterCamera.y; - - // Clear the camera pivot and set position matrix. - ResetCameraPivot(); - SetCameraOffset( Vector( 0.0f, -vecCameraOffset.x, -vecCameraOffset.y ) ); - UpdateCameraTransform(); -} - +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#include "cbase.h" +#include "basemodel_panel.h" +#include "activitylist.h" +#include "animation.h" +#include "vgui/iinput.h" +#include "matsys_controls/manipulator.h" + +using namespace vgui; +DECLARE_BUILD_FACTORY( CBaseModelPanel ); + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CBaseModelPanel::CBaseModelPanel( vgui::Panel *pParent, const char *pName ): BaseClass( pParent, pName ) +{ + m_bForcePos = false; + m_bMousePressed = false; + m_bAllowRotation = false; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CBaseModelPanel::~CBaseModelPanel() +{ +} + +//----------------------------------------------------------------------------- +// Purpose: Load in the model portion of the panel's resource file. +//----------------------------------------------------------------------------- +void CBaseModelPanel::ApplySettings( KeyValues *inResourceData ) +{ + BaseClass::ApplySettings( inResourceData ); + + // Grab and set the camera FOV. + float flFOV = GetCameraFOV(); + m_BMPResData.m_flFOV = inResourceData->GetInt( "fov", flFOV ); + SetCameraFOV( m_BMPResData.m_flFOV ); + + // Do we allow rotation on these panels. + m_bAllowRotation = ( inResourceData->GetInt( "allow_rot", 0 ) == 1 ); + + // Parse our resource file and apply all necessary updates to the MDL. + for ( KeyValues *pData = inResourceData->GetFirstSubKey() ; pData != NULL ; pData = pData->GetNextKey() ) + { + if ( !Q_stricmp( pData->GetName(), "model" ) ) + { + ParseModelResInfo( pData ); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseModelPanel::ParseModelResInfo( KeyValues *inResourceData ) +{ + m_bForcePos = ( inResourceData->GetInt( "force_pos", 0 ) == 1 ); + m_BMPResData.m_pszModelName = ReadAndAllocStringValue( inResourceData, "modelname" ); + m_BMPResData.m_pszModelName_HWM = ReadAndAllocStringValue( inResourceData, "modelname_hwm" ); + m_BMPResData.m_pszVCD = ReadAndAllocStringValue( inResourceData, "vcd" ); + m_BMPResData.m_angModelPoseRot.Init( inResourceData->GetFloat( "angles_x", 0.0f ), inResourceData->GetFloat( "angles_y", 0.0f ), inResourceData->GetFloat( "angles_z", 0.0f ) ); + m_BMPResData.m_vecOriginOffset.Init( inResourceData->GetFloat( "origin_x", 110.0 ), inResourceData->GetFloat( "origin_y", 5.0 ), inResourceData->GetFloat( "origin_z", 5.0 ) ); + m_BMPResData.m_vecFramedOriginOffset.Init( inResourceData->GetFloat( "frame_origin_x", 110.0 ), inResourceData->GetFloat( "frame_origin_y", 5.0 ), inResourceData->GetFloat( "frame_origin_z", 5.0 ) ); + m_BMPResData.m_vecViewportOffset.Init(); + m_BMPResData.m_nSkin = inResourceData->GetInt( "skin", -1 ); + m_BMPResData.m_bUseSpotlight = ( inResourceData->GetInt( "spotlight", 0 ) == 1 ); + + m_angPlayer = m_BMPResData.m_angModelPoseRot; + m_vecPlayerPos = m_BMPResData.m_vecOriginOffset; + + for ( KeyValues *pData = inResourceData->GetFirstSubKey(); pData != NULL; pData = pData->GetNextKey() ) + { + if ( !Q_stricmp( pData->GetName(), "animation" ) ) + { + ParseModelAnimInfo( pData ); + } + else if ( !Q_stricmp( pData->GetName(), "attached_model" ) ) + { + ParseModelAttachInfo( pData ); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseModelPanel::ParseModelAnimInfo( KeyValues *inResourceData ) +{ + if ( !inResourceData ) + return; + + int iAnim = m_BMPResData.m_aAnimations.AddToTail(); + if ( iAnim == m_BMPResData.m_aAnimations.InvalidIndex() ) + return; + + m_BMPResData.m_aAnimations[iAnim].m_pszName = ReadAndAllocStringValue( inResourceData, "name" ); + m_BMPResData.m_aAnimations[iAnim].m_pszSequence = ReadAndAllocStringValue( inResourceData, "sequence" ); + m_BMPResData.m_aAnimations[iAnim].m_pszActivity = ReadAndAllocStringValue( inResourceData, "activity" ); + m_BMPResData.m_aAnimations[iAnim].m_bDefault = ( inResourceData->GetInt( "default", 0 ) == 1 ); + + for ( KeyValues *pAnimData = inResourceData->GetFirstSubKey(); pAnimData != NULL; pAnimData = pAnimData->GetNextKey() ) + { + if ( !Q_stricmp( pAnimData->GetName(), "pose_parameters" ) ) + { + m_BMPResData.m_aAnimations[iAnim].m_pPoseParameters = pAnimData->MakeCopy(); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseModelPanel::ParseModelAttachInfo( KeyValues *inResourceData ) +{ + if ( !inResourceData ) + return; + + int iAttach = m_BMPResData.m_aAttachModels.AddToTail(); + if ( iAttach == m_BMPResData.m_aAttachModels.InvalidIndex() ) + return; + + m_BMPResData.m_aAttachModels[iAttach].m_pszModelName = ReadAndAllocStringValue( inResourceData, "modelname" ); + m_BMPResData.m_aAttachModels[iAttach].m_nSkin = inResourceData->GetInt( "skin", -1 ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseModelPanel::SetupModelDefaults( void ) +{ + SetupModelAnimDefaults(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseModelPanel::SetupModelAnimDefaults( void ) +{ + // Verify that we have animations for this model. + int nAnimCount = m_BMPResData.m_aAnimations.Count(); + if ( nAnimCount == 0 ) + return; + + // Find the default animation if one exists. + int iIndex = FindDefaultAnim(); + if ( iIndex == -1 ) + return; + + SetModelAnim( iIndex ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +int CBaseModelPanel::FindDefaultAnim( void ) +{ + int iIndex = -1; + + int nAnimCount = m_BMPResData.m_aAnimations.Count(); + for ( int iAnim = 0; iAnim < nAnimCount; ++iAnim ) + { + if ( m_BMPResData.m_aAnimations[iAnim].m_bDefault ) + return iAnim; + } + + return iIndex; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +int CBaseModelPanel::FindAnimByName( const char *pszName ) +{ + int iIndex = -1; + + int nAnimCount = m_BMPResData.m_aAnimations.Count(); + for ( int iAnim = 0; iAnim < nAnimCount; ++iAnim ) + { + if ( !Q_stricmp( m_BMPResData.m_aAnimations[iAnim].m_pszName, pszName ) ) + return iAnim; + } + + return iIndex; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +int CBaseModelPanel::FindSequenceFromActivity( CStudioHdr *pStudioHdr, const char *pszActivity ) +{ + if ( !pStudioHdr ) + return -1; + + for ( int iSeq = 0; iSeq < pStudioHdr->GetNumSeq(); ++iSeq ) + { + mstudioseqdesc_t &seqDesc = pStudioHdr->pSeqdesc( iSeq ); + if ( !stricmp( seqDesc.pszActivityName(), pszActivity ) ) + { + return iSeq; + } + } + + return -1; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseModelPanel::SetModelAnim( int iAnim ) +{ + int nAnimCount = m_BMPResData.m_aAnimations.Count(); + if ( nAnimCount == 0 || !m_BMPResData.m_aAnimations.IsValidIndex( iAnim ) ) + return; + + MDLCACHE_CRITICAL_SECTION(); + + // Get the studio header of the root model. + studiohdr_t *pStudioHdr = m_RootMDL.m_MDL.GetStudioHdr(); + if ( !pStudioHdr ) + return; + + CStudioHdr studioHdr( pStudioHdr, g_pMDLCache ); + + // Do we have an activity or a sequence? + int iSequence = ACT_INVALID; + if ( m_BMPResData.m_aAnimations[iAnim].m_pszActivity && m_BMPResData.m_aAnimations[iAnim].m_pszActivity[0] ) + { + iSequence = FindSequenceFromActivity( &studioHdr, m_BMPResData.m_aAnimations[iAnim].m_pszActivity ); + } + else if ( m_BMPResData.m_aAnimations[iAnim].m_pszSequence && m_BMPResData.m_aAnimations[iAnim].m_pszSequence[0] ) + { + iSequence = LookupSequence( &studioHdr, m_BMPResData.m_aAnimations[iAnim].m_pszSequence ); + } + + if ( iSequence != ACT_INVALID ) + { + SetSequence( iSequence ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseModelPanel::SetMDL( MDLHandle_t handle ) +{ + BaseClass::SetMDL( handle ); + + SetupModelDefaults(); + + // Need to invalidate the layout so the panel will adjust is LookAt for the new model. + InvalidateLayout(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseModelPanel::SetMDL( const char *pMDLName ) +{ + BaseClass::SetMDL( pMDLName ); + + // Need to invalidate the layout so the panel will adjust is LookAt for the new model. +// InvalidateLayout(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseModelPanel::PerformLayout() +{ + BaseClass::PerformLayout(); + + if ( m_bForcePos ) + { + ResetCameraPivot(); + SetCameraOffset( Vector( 0.0f, 0.0f, 0.0f ) ); + SetCameraPositionAndAngles( vec3_origin, vec3_angle ); + SetModelAnglesAndPosition( m_angPlayer, m_vecPlayerPos ); + } + + // Center and fill the frame with the model? + if ( m_bStartFramed ) + { + Vector vecBoundsMin, vecBoundsMax; + if ( GetBoundingBox( vecBoundsMin, vecBoundsMax ) ) + { + LookAtBounds( vecBoundsMin, vecBoundsMax ); + } + } +} + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +void CBaseModelPanel::OnKeyCodePressed ( vgui::KeyCode code ) +{ + return; +} + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +void CBaseModelPanel::OnKeyCodeReleased( vgui::KeyCode code ) +{ + return; +} + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +void CBaseModelPanel::OnMousePressed ( vgui::MouseCode code ) +{ + if ( !m_bAllowRotation ) + return; + + RequestFocus(); + + EnableMouseCapture( true, code ); + + // Warp the mouse to the center of the screen + int width, height; + GetSize( width, height ); + int x = width / 2; + int y = height / 2; + + int xpos = x; + int ypos = y; + LocalToScreen( xpos, ypos ); + input()->SetCursorPos( xpos, ypos ); + + m_nManipStartX = xpos; + m_nManipStartY = ypos; + + m_bMousePressed = true; +} + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +void CBaseModelPanel::OnMouseReleased( vgui::MouseCode code ) +{ + if ( !m_bAllowRotation ) + return; + + EnableMouseCapture( false ); + m_bMousePressed = false; +} + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +void CBaseModelPanel::OnCursorMoved( int x, int y ) +{ + if ( !m_bAllowRotation ) + return; + + if ( m_bMousePressed ) + { + WarpMouse( x, y ); + + int xpos, ypos; + input()->GetCursorPos( xpos, ypos ); + + // Only want the x delta. + float flDelta = xpos - m_nManipStartX; + + // Apply the delta and rotate the player. + m_angPlayer.y += flDelta; + if ( m_angPlayer.y > 360.0f ) + { + m_angPlayer.y = m_angPlayer.y - 360.0f; + } + else if ( m_angPlayer.y < -360.0f ) + { + m_angPlayer.y = m_angPlayer.y + 360.0f; + } + + SetModelAnglesAndPosition( m_angPlayer, m_vecPlayerPos ); + } +} + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +void CBaseModelPanel::OnMouseWheeled( int delta ) +{ + return; +} + +//----------------------------------------------------------------------------- +// Purpose: Set the camera to a distance that allows the object to fill the model panel. +//----------------------------------------------------------------------------- +void CBaseModelPanel::LookAtBounds( const Vector &vecBoundsMin, const Vector &vecBoundsMax ) +{ + // Get the model space render bounds. + Vector vecMin = vecBoundsMin; + Vector vecMax = vecBoundsMax; + Vector vecCenter = ( vecMax + vecMin ) * 0.5f; + vecMin -= vecCenter; + vecMax -= vecCenter; + + // Get the bounds points and transform them by the desired model panel rotation. + Vector aBoundsPoints[8]; + aBoundsPoints[0].Init( vecMax.x, vecMax.y, vecMax.z ); + aBoundsPoints[1].Init( vecMin.x, vecMax.y, vecMax.z ); + aBoundsPoints[2].Init( vecMax.x, vecMin.y, vecMax.z ); + aBoundsPoints[3].Init( vecMin.x, vecMin.y, vecMax.z ); + aBoundsPoints[4].Init( vecMax.x, vecMax.y, vecMin.z ); + aBoundsPoints[5].Init( vecMin.x, vecMax.y, vecMin.z ); + aBoundsPoints[6].Init( vecMax.x, vecMin.y, vecMin.z ); + aBoundsPoints[7].Init( vecMin.x, vecMin.y, vecMin.z ); + + // Translated center point (offset from camera center). + Vector vecTranslateCenter = -vecCenter; + + // Build the rotation matrix. + matrix3x4_t matRotation; + AngleMatrix( m_BMPResData.m_angModelPoseRot, matRotation ); + + Vector aXFormPoints[8]; + for ( int iPoint = 0; iPoint < 8; ++iPoint ) + { + VectorTransform( aBoundsPoints[iPoint], matRotation, aXFormPoints[iPoint] ); + } + + Vector vecXFormCenter; + VectorTransform( -vecTranslateCenter, matRotation, vecXFormCenter ); + + int w, h; + GetSize( w, h ); + float flW = (float)w; + float flH = (float)h; + + float flFOVx = DEG2RAD( m_BMPResData.m_flFOV * 0.5f ); + float flFOVy = CalcFovY( ( m_BMPResData.m_flFOV * 0.5f ), flW/flH ); + flFOVy = DEG2RAD( flFOVy ); + + float flTanFOVx = tan( flFOVx ); + float flTanFOVy = tan( flFOVy ); + + // Find the max value of x, y, or z + Vector2D dist[8]; + float flDist = 0.0f; + for ( int iPoint = 0; iPoint < 8; ++iPoint ) + { + float flDistY = fabs( aXFormPoints[iPoint].y / flTanFOVx ) - aXFormPoints[iPoint].x; + float flDistZ = fabs( aXFormPoints[iPoint].z / flTanFOVy ) - aXFormPoints[iPoint].x; + dist[iPoint].x = flDistY; + dist[iPoint].y = flDistZ; + float flTestDist = max( flDistZ, flDistY ); + flDist = max( flDist, flTestDist ); + } + + // Screen space points. + Vector2D aScreenPoints[8]; + Vector aCameraPoints[8]; + for ( int iPoint = 0; iPoint < 8; ++iPoint ) + { + aCameraPoints[iPoint] = aXFormPoints[iPoint]; + aCameraPoints[iPoint].x += flDist; + + aScreenPoints[iPoint].x = aCameraPoints[iPoint].y / ( flTanFOVx * aCameraPoints[iPoint].x ); + aScreenPoints[iPoint].y = aCameraPoints[iPoint].z / ( flTanFOVy * aCameraPoints[iPoint].x ); + + aScreenPoints[iPoint].x = ( aScreenPoints[iPoint].x * 0.5f + 0.5f ) * flW; + aScreenPoints[iPoint].y = ( aScreenPoints[iPoint].y * 0.5f + 0.5f ) * flH; + } + + // Find the min/max and center of the 2D bounding box of the object. + Vector2D vecScreenMin( 99999.0f, 99999.0f ), vecScreenMax( -99999.0f, -99999.0f ); + for ( int iPoint = 0; iPoint < 8; ++iPoint ) + { + vecScreenMin.x = min( vecScreenMin.x, aScreenPoints[iPoint].x ); + vecScreenMin.y = min( vecScreenMin.y, aScreenPoints[iPoint].y ); + vecScreenMax.x = max( vecScreenMax.x, aScreenPoints[iPoint].x ); + vecScreenMax.y = max( vecScreenMax.y, aScreenPoints[iPoint].y ); + } + + // Offset the model to the be the correct distance away from the camera. + Vector vecModelPos; + vecModelPos.x = flDist - vecXFormCenter.x; + vecModelPos.y = -vecXFormCenter.y; + vecModelPos.z = -vecXFormCenter.z; + SetModelAnglesAndPosition( m_BMPResData.m_angModelPoseRot, vecModelPos ); + + // Back project to figure out the camera offset to center the model. + Vector2D vecPanelCenter( ( flW * 0.5f ), ( flH * 0.5f ) ); + Vector2D vecScreenCenter = ( vecScreenMax + vecScreenMin ) * 0.5f; + + Vector2D vecPanelCenterCamera, vecScreenCenterCamera; + vecPanelCenterCamera.x = ( ( vecPanelCenter.x / flW ) * 2.0f ) - 0.5f; + vecPanelCenterCamera.y = ( ( vecPanelCenter.y / flH ) * 2.0f ) - 0.5f; + vecPanelCenterCamera.x *= ( flTanFOVx * flDist ); + vecPanelCenterCamera.y *= ( flTanFOVy * flDist ); + vecScreenCenterCamera.x = ( ( vecScreenCenter.x / flW ) * 2.0f ) - 0.5f; + vecScreenCenterCamera.y = ( ( vecScreenCenter.y / flH ) * 2.0f ) - 0.5f; + vecScreenCenterCamera.x *= ( flTanFOVx * flDist ); + vecScreenCenterCamera.y *= ( flTanFOVy * flDist ); + + Vector2D vecCameraOffset( 0.0f, 0.0f ); + vecCameraOffset.x = vecPanelCenterCamera.x - vecScreenCenterCamera.x; + vecCameraOffset.y = vecPanelCenterCamera.y - vecScreenCenterCamera.y; + + // Clear the camera pivot and set position matrix. + ResetCameraPivot(); + SetCameraOffset( Vector( 0.0f, -vecCameraOffset.x, -vecCameraOffset.y ) ); + UpdateCameraTransform(); +} + diff --git a/game/client/game_controls/basemodel_panel.h b/game/client/game_controls/basemodel_panel.h index 6f3c3d51..87d91726 100644 --- a/game/client/game_controls/basemodel_panel.h +++ b/game/client/game_controls/basemodel_panel.h @@ -1,209 +1,209 @@ -//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= -// -// Purpose: -// -//============================================================================= -#ifndef BASEMODEL_PANEL_H -#define BASEMODEL_PANEL_H -#ifdef _WIN32 -#pragma once -#endif - -#include "matsys_controls/mdlpanel.h" - -//----------------------------------------------------------------------------- -// Resource file data used in posing the model inside of the model panel. -//----------------------------------------------------------------------------- -struct BMPResAnimData_t -{ - const char *m_pszName; - const char *m_pszSequence; - const char *m_pszActivity; - KeyValues *m_pPoseParameters; - bool m_bDefault; - - BMPResAnimData_t() - { - m_pszName = NULL; - m_pszSequence = NULL; - m_pszActivity = NULL; - m_pPoseParameters = NULL; - m_bDefault = false; - } - - ~BMPResAnimData_t() - { - if ( m_pszName && m_pszName[0] ) - { - delete [] m_pszName; - m_pszName = NULL; - } - - if ( m_pszSequence && m_pszSequence[0] ) - { - delete [] m_pszSequence; - m_pszSequence = NULL; - } - - if ( m_pszActivity && m_pszActivity[0] ) - { - delete [] m_pszActivity; - m_pszActivity = NULL; - } - - if ( m_pPoseParameters ) - { - m_pPoseParameters->deleteThis(); - m_pPoseParameters = NULL; - } - } -}; - -struct BMPResAttachData_t -{ - const char *m_pszModelName; - int m_nSkin; - - BMPResAttachData_t() - { - m_pszModelName = NULL; - m_nSkin = 0; - } - - ~BMPResAttachData_t() - { - if ( m_pszModelName && m_pszModelName[0] ) - { - delete [] m_pszModelName; - m_pszModelName = NULL; - } - } -}; - -struct BMPResData_t -{ - float m_flFOV; - - const char *m_pszModelName; - const char *m_pszModelName_HWM; - const char *m_pszVCD; - QAngle m_angModelPoseRot; - Vector m_vecOriginOffset; - Vector m_vecFramedOriginOffset; - Vector2D m_vecViewportOffset; - int m_nSkin; - bool m_bUseSpotlight; - - CUtlVector m_aAnimations; - CUtlVector m_aAttachModels; - - BMPResData_t() - { - m_flFOV = 0.0f; - - m_pszModelName = NULL; - m_pszModelName_HWM = NULL; - m_pszVCD = NULL; - m_angModelPoseRot.Init(); - m_vecOriginOffset.Init(); - m_vecFramedOriginOffset.Init(); - m_vecViewportOffset.Init(); - m_nSkin = 0; - m_bUseSpotlight = false; - } - - ~BMPResData_t() - { - if ( m_pszModelName && m_pszModelName[0] ) - { - delete [] m_pszModelName; - m_pszModelName = NULL; - } - - if ( m_pszModelName_HWM && m_pszModelName_HWM[0] ) - { - delete [] m_pszModelName_HWM; - m_pszModelName_HWM = NULL; - } - - if ( m_pszVCD && m_pszVCD[0] ) - { - delete [] m_pszVCD; - m_pszVCD = NULL; - } - - m_aAnimations.Purge(); - m_aAttachModels.Purge(); - } -}; - -//----------------------------------------------------------------------------- -// Base Model Panel -// -// ...vgui::Panel |--> vgui -// +->vgui::EditablePanel | -// +->PotterWheelPanel |--> matsys_controls -// +->MDLPanel | -// +->BaseModelPanel |--> game_controls, client.dll -// -//----------------------------------------------------------------------------- -class CBaseModelPanel : public CMDLPanel -{ - DECLARE_CLASS_SIMPLE( CBaseModelPanel, CMDLPanel ); - -public: - - // Constructor, Destructor. - CBaseModelPanel( vgui::Panel *pParent, const char *pName ); - virtual ~CBaseModelPanel(); - - // Overridden mdlpanel.h - virtual void SetMDL( MDLHandle_t handle ); - virtual void SetMDL( const char *pMDLName ); - - // Overridden methods of vgui::Panel - virtual void ApplySettings( KeyValues *inResourceData ); - virtual void PerformLayout(); - - // Animaiton. - int FindDefaultAnim( void ); - int FindAnimByName( const char *pszName ); - void SetModelAnim( int iAnim ); - - // Manipulation. - virtual void OnKeyCodePressed ( vgui::KeyCode code ); - virtual void OnKeyCodeReleased( vgui::KeyCode code ); - virtual void OnMousePressed ( vgui::MouseCode code ); - virtual void OnMouseReleased( vgui::MouseCode code ); - virtual void OnCursorMoved( int x, int y ); - virtual void OnMouseWheeled( int delta ); - -private: - - // Resource file data. - void ParseModelResInfo( KeyValues *inResourceData ); - void ParseModelAnimInfo( KeyValues *inResourceData ); - void ParseModelAttachInfo( KeyValues *inResourceData ); - - void SetupModelDefaults( void ); - void SetupModelAnimDefaults( void ); - - void LookAtBounds( const Vector &vecBoundsMin, const Vector &vecBoundsMax ); - - int FindSequenceFromActivity( CStudioHdr *pStudioHdr, const char *pszActivity ); - -private: - - BMPResData_t m_BMPResData; // Base model panel data set in the .res file. - QAngle m_angPlayer; - Vector m_vecPlayerPos; - bool m_bForcePos; - bool m_bMousePressed; - bool m_bAllowRotation; - - // VGUI script accessible variables. - CPanelAnimationVar( bool, m_bStartFramed, "start_framed", "0" ); - CPanelAnimationVar( bool, m_bDisableManipulation, "disable_manipulation", "0" ); -}; - +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= +#ifndef BASEMODEL_PANEL_H +#define BASEMODEL_PANEL_H +#ifdef _WIN32 +#pragma once +#endif + +#include "matsys_controls/mdlpanel.h" + +//----------------------------------------------------------------------------- +// Resource file data used in posing the model inside of the model panel. +//----------------------------------------------------------------------------- +struct BMPResAnimData_t +{ + const char *m_pszName; + const char *m_pszSequence; + const char *m_pszActivity; + KeyValues *m_pPoseParameters; + bool m_bDefault; + + BMPResAnimData_t() + { + m_pszName = NULL; + m_pszSequence = NULL; + m_pszActivity = NULL; + m_pPoseParameters = NULL; + m_bDefault = false; + } + + ~BMPResAnimData_t() + { + if ( m_pszName && m_pszName[0] ) + { + delete [] m_pszName; + m_pszName = NULL; + } + + if ( m_pszSequence && m_pszSequence[0] ) + { + delete [] m_pszSequence; + m_pszSequence = NULL; + } + + if ( m_pszActivity && m_pszActivity[0] ) + { + delete [] m_pszActivity; + m_pszActivity = NULL; + } + + if ( m_pPoseParameters ) + { + m_pPoseParameters->deleteThis(); + m_pPoseParameters = NULL; + } + } +}; + +struct BMPResAttachData_t +{ + const char *m_pszModelName; + int m_nSkin; + + BMPResAttachData_t() + { + m_pszModelName = NULL; + m_nSkin = 0; + } + + ~BMPResAttachData_t() + { + if ( m_pszModelName && m_pszModelName[0] ) + { + delete [] m_pszModelName; + m_pszModelName = NULL; + } + } +}; + +struct BMPResData_t +{ + float m_flFOV; + + const char *m_pszModelName; + const char *m_pszModelName_HWM; + const char *m_pszVCD; + QAngle m_angModelPoseRot; + Vector m_vecOriginOffset; + Vector m_vecFramedOriginOffset; + Vector2D m_vecViewportOffset; + int m_nSkin; + bool m_bUseSpotlight; + + CUtlVector m_aAnimations; + CUtlVector m_aAttachModels; + + BMPResData_t() + { + m_flFOV = 0.0f; + + m_pszModelName = NULL; + m_pszModelName_HWM = NULL; + m_pszVCD = NULL; + m_angModelPoseRot.Init(); + m_vecOriginOffset.Init(); + m_vecFramedOriginOffset.Init(); + m_vecViewportOffset.Init(); + m_nSkin = 0; + m_bUseSpotlight = false; + } + + ~BMPResData_t() + { + if ( m_pszModelName && m_pszModelName[0] ) + { + delete [] m_pszModelName; + m_pszModelName = NULL; + } + + if ( m_pszModelName_HWM && m_pszModelName_HWM[0] ) + { + delete [] m_pszModelName_HWM; + m_pszModelName_HWM = NULL; + } + + if ( m_pszVCD && m_pszVCD[0] ) + { + delete [] m_pszVCD; + m_pszVCD = NULL; + } + + m_aAnimations.Purge(); + m_aAttachModels.Purge(); + } +}; + +//----------------------------------------------------------------------------- +// Base Model Panel +// +// ...vgui::Panel |--> vgui +// +->vgui::EditablePanel | +// +->PotterWheelPanel |--> matsys_controls +// +->MDLPanel | +// +->BaseModelPanel |--> game_controls, client.dll +// +//----------------------------------------------------------------------------- +class CBaseModelPanel : public CMDLPanel +{ + DECLARE_CLASS_SIMPLE( CBaseModelPanel, CMDLPanel ); + +public: + + // Constructor, Destructor. + CBaseModelPanel( vgui::Panel *pParent, const char *pName ); + virtual ~CBaseModelPanel(); + + // Overridden mdlpanel.h + virtual void SetMDL( MDLHandle_t handle ); + virtual void SetMDL( const char *pMDLName ); + + // Overridden methods of vgui::Panel + virtual void ApplySettings( KeyValues *inResourceData ); + virtual void PerformLayout(); + + // Animaiton. + int FindDefaultAnim( void ); + int FindAnimByName( const char *pszName ); + void SetModelAnim( int iAnim ); + + // Manipulation. + virtual void OnKeyCodePressed ( vgui::KeyCode code ); + virtual void OnKeyCodeReleased( vgui::KeyCode code ); + virtual void OnMousePressed ( vgui::MouseCode code ); + virtual void OnMouseReleased( vgui::MouseCode code ); + virtual void OnCursorMoved( int x, int y ); + virtual void OnMouseWheeled( int delta ); + +private: + + // Resource file data. + void ParseModelResInfo( KeyValues *inResourceData ); + void ParseModelAnimInfo( KeyValues *inResourceData ); + void ParseModelAttachInfo( KeyValues *inResourceData ); + + void SetupModelDefaults( void ); + void SetupModelAnimDefaults( void ); + + void LookAtBounds( const Vector &vecBoundsMin, const Vector &vecBoundsMax ); + + int FindSequenceFromActivity( CStudioHdr *pStudioHdr, const char *pszActivity ); + +private: + + BMPResData_t m_BMPResData; // Base model panel data set in the .res file. + QAngle m_angPlayer; + Vector m_vecPlayerPos; + bool m_bForcePos; + bool m_bMousePressed; + bool m_bAllowRotation; + + // VGUI script accessible variables. + CPanelAnimationVar( bool, m_bStartFramed, "start_framed", "0" ); + CPanelAnimationVar( bool, m_bDisableManipulation, "disable_manipulation", "0" ); +}; + #endif // BASEMODEL_PANEL_H \ No newline at end of file diff --git a/game/client/game_controls/basemodelpanel.cpp b/game/client/game_controls/basemodelpanel.cpp index 68efccb5..3d3e22aa 100644 --- a/game/client/game_controls/basemodelpanel.cpp +++ b/game/client/game_controls/basemodelpanel.cpp @@ -1,880 +1,880 @@ -//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============// -// -// Purpose: -// -//=============================================================================// - - -#include "cbase.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "materialsystem/imaterialsystem.h" -#include "engine/ivmodelinfo.h" - -#include "c_sceneentity.h" -#include "gamestringpool.h" -#include "model_types.h" -#include "view_shared.h" -#include "view.h" -#include "ivrenderview.h" -#include "iefx.h" -#include "dlight.h" -#include "activitylist.h" - -#include "basemodelpanel.h" - -bool UseHWMorphModels(); - - -using namespace vgui; - -DECLARE_BUILD_FACTORY( CModelPanel ); - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -CModelPanel::CModelPanel( vgui::Panel *pParent, const char *pName ) : vgui::EditablePanel( pParent, pName ) -{ - m_nFOV = 54; - m_hModel = NULL; - m_pModelInfo = NULL; - m_hScene = NULL; - m_iDefaultAnimation = 0; - m_bPanelDirty = true; - m_bStartFramed = false; - m_bAllowOffscreen = false; - - ListenForGameEvent( "game_newmap" ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -CModelPanel::~CModelPanel() -{ - if ( m_pModelInfo ) - { - delete m_pModelInfo; - m_pModelInfo = NULL; - } - - DeleteVCDData(); - DeleteModelData(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::ApplySettings( KeyValues *inResourceData ) -{ - BaseClass::ApplySettings( inResourceData ); - - m_nFOV = inResourceData->GetInt( "fov", 54 ); - m_bStartFramed = inResourceData->GetInt( "start_framed", false ); - m_bAllowOffscreen = inResourceData->GetInt( "allow_offscreen", false ); - - // do we have a valid "model" section in the .res file? - for ( KeyValues *pData = inResourceData->GetFirstSubKey() ; pData != NULL ; pData = pData->GetNextKey() ) - { - if ( !Q_stricmp( pData->GetName(), "model" ) ) - { - ParseModelInfo( pData ); - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::ParseModelInfo( KeyValues *inResourceData ) -{ - // delete any current info - if ( m_pModelInfo ) - { - delete m_pModelInfo; - m_pModelInfo = NULL; - } - - m_pModelInfo = new CModelPanelModelInfo; - - if ( !m_pModelInfo ) - return; - - m_pModelInfo->m_pszModelName = ReadAndAllocStringValue( inResourceData, "modelname" ); - m_pModelInfo->m_pszModelName_HWM = ReadAndAllocStringValue( inResourceData, "modelname_hwm" ); - m_pModelInfo->m_nSkin = inResourceData->GetInt( "skin", -1 ); - m_pModelInfo->m_vecAbsAngles.Init( inResourceData->GetFloat( "angles_x", 0.0 ), inResourceData->GetFloat( "angles_y", 0.0 ), inResourceData->GetFloat( "angles_z", 0.0 ) ); - m_pModelInfo->m_vecOriginOffset.Init( inResourceData->GetFloat( "origin_x", 110.0 ), inResourceData->GetFloat( "origin_y", 5.0 ), inResourceData->GetFloat( "origin_z", 5.0 ) ); - m_pModelInfo->m_vecFramedOriginOffset.Init( inResourceData->GetFloat( "frame_origin_x", 110.0 ), inResourceData->GetFloat( "frame_origin_y", 5.0 ), inResourceData->GetFloat( "frame_origin_z", 5.0 ) ); - m_pModelInfo->m_pszVCD = ReadAndAllocStringValue( inResourceData, "vcd" ); - m_pModelInfo->m_bUseSpotlight = ( inResourceData->GetInt( "spotlight", 0 ) == 1 ); - m_pModelInfo->m_vecViewportOffset.Init(); - - for ( KeyValues *pData = inResourceData->GetFirstSubKey(); pData != NULL; pData = pData->GetNextKey() ) - { - if ( !Q_stricmp( pData->GetName(), "animation" ) ) - { - OnAddAnimation( pData ); - } - else if ( !Q_stricmp( pData->GetName(), "attached_model" ) ) - { - CModelPanelAttachedModelInfo *pAttachedModelInfo = new CModelPanelAttachedModelInfo; - - if ( pAttachedModelInfo ) - { - pAttachedModelInfo->m_pszModelName = ReadAndAllocStringValue( pData, "modelname" ); - pAttachedModelInfo->m_nSkin = pData->GetInt( "skin", -1 ); - - m_pModelInfo->m_AttachedModelsInfo.AddToTail( pAttachedModelInfo ); - } - } - } - - m_bPanelDirty = true; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::OnAddAnimation( KeyValues *pData ) -{ - if ( !pData ) - return; - - CModelPanelModelAnimation *pAnimation = new CModelPanelModelAnimation; - - if ( pAnimation ) - { - pAnimation->m_pszName = ReadAndAllocStringValue( pData, "name" ); - pAnimation->m_pszSequence = ReadAndAllocStringValue( pData, "sequence" ); - pAnimation->m_pszActivity = ReadAndAllocStringValue( pData, "activity" ); - pAnimation->m_bDefault = ( pData->GetInt( "default", 0 ) == 1 ); - - for ( KeyValues *pAnimData = pData->GetFirstSubKey(); pAnimData != NULL; pAnimData = pAnimData->GetNextKey() ) - { - if ( !Q_stricmp( pAnimData->GetName(), "pose_parameters" ) ) - { - pAnimation->m_pPoseParameters = pAnimData->MakeCopy(); - } - } - - m_pModelInfo->m_Animations.AddToTail( pAnimation ); - if ( pAnimation->m_bDefault ) - { - m_iDefaultAnimation = m_pModelInfo->m_Animations.Find( pAnimation ); - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::FireGameEvent( IGameEvent * event ) -{ - const char *type = event->GetName(); - - if ( Q_strcmp( type, "game_newmap" ) == 0 ) - { - // force the models to re-setup themselves - m_bPanelDirty = true; - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::SetDefaultAnimation( const char *pszName ) -{ - if ( m_pModelInfo ) - { - for ( int i = 0; i < m_pModelInfo->m_Animations.Count(); i++ ) - { - if ( m_pModelInfo->m_Animations[i] && m_pModelInfo->m_Animations[i]->m_pszName ) - { - if ( !Q_stricmp( m_pModelInfo->m_Animations[i]->m_pszName, pszName ) ) - { - m_iDefaultAnimation = i; - return; - } - } - } - } - - Assert( 0 ); -} - -//----------------------------------------------------------------------------- -// Purpose: Replaces the current model with a new one, without changing the camera settings -//----------------------------------------------------------------------------- -void CModelPanel::SwapModel( const char *pszName, const char *pszAttached ) -{ - if ( !m_pModelInfo || !pszName || !pszName[0] ) - return; - - int len = Q_strlen( pszName ) + 1; - char *pAlloced = new char[ len ]; - Assert( pAlloced ); - Q_strncpy( pAlloced, pszName, len ); - m_pModelInfo->m_pszModelName = pAlloced; - - ClearAttachedModelInfos(); - - if ( pszAttached ) - { - CModelPanelAttachedModelInfo *pAttachedModelInfo = new CModelPanelAttachedModelInfo; - if ( pAttachedModelInfo ) - { - len = Q_strlen( pszAttached ) + 1; - pAlloced = new char[ len ]; - Assert( pAlloced ); - Q_strncpy( pAlloced, pszAttached, len ); - pAttachedModelInfo->m_pszModelName = pAlloced; - pAttachedModelInfo->m_nSkin = 0; - - m_pModelInfo->m_AttachedModelsInfo.AddToTail( pAttachedModelInfo ); - } - } - - m_bPanelDirty = true; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::DeleteVCDData( void ) -{ - if ( m_hScene.Get() ) - { - m_hScene->StopClientOnlyScene(); - - m_hScene->Remove(); - m_hScene = NULL; - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::SetupVCD( void ) -{ - if ( !m_pModelInfo ) - return; - - DeleteVCDData(); - - C_SceneEntity *pEnt = new class C_SceneEntity; - - if ( !pEnt ) - return; - - if ( pEnt->InitializeAsClientEntity( "", RENDER_GROUP_OTHER ) == false ) - { - // we failed to initialize this entity so just return gracefully - pEnt->Remove(); - return; - } - - // setup the handle - m_hScene = pEnt; - - // setup the scene - pEnt->SetupClientOnlyScene( m_pModelInfo->m_pszVCD, m_hModel, true ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::ClearAttachedModelInfos( void ) -{ - if ( m_pModelInfo ) - { - m_pModelInfo->m_AttachedModelsInfo.PurgeAndDeleteElements(); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::DeleteModelData( void ) -{ - if ( m_hModel.Get() ) - { - m_hModel->Remove(); - m_hModel = NULL; - m_flFrameDistance = 0; - } - - for ( int i = 0 ; i < m_AttachedModels.Count() ; i++ ) - { - if ( m_AttachedModels[i].Get() ) - { - m_AttachedModels[i]->Remove(); - } - m_AttachedModels.Remove( i ); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -const char *CModelPanel::GetModelName( void ) -{ - if ( !m_pModelInfo ) - return NULL; - - // check to see if we want to use a HWM model - if ( UseHWMorphModels() ) - { - // do we have a valid HWM model filename - if ( m_pModelInfo->m_pszModelName_HWM && ( Q_strlen( m_pModelInfo->m_pszModelName_HWM ) > 0 ) ) - { - // does the file exist - model_t *pModel = (model_t *)engine->LoadModel( m_pModelInfo->m_pszModelName_HWM ); - if ( pModel ) - { - return m_pModelInfo->m_pszModelName_HWM; - } - } - } - - return m_pModelInfo->m_pszModelName; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::SetupModel( void ) -{ - if ( !m_pModelInfo ) - return; - - MDLCACHE_CRITICAL_SECTION(); - - // remove any current models we're using - DeleteModelData(); - - const char *pszModelName = GetModelName(); - if ( !pszModelName || !pszModelName[0] ) - return; - - // create the new model - CModelPanelModel *pEnt = new CModelPanelModel; - - if ( !pEnt ) - return; - - if ( pEnt->InitializeAsClientEntity( pszModelName, RENDER_GROUP_OPAQUE_ENTITY ) == false ) - { - // we failed to initialize this entity so just return gracefully - pEnt->Remove(); - return; - } - - // setup the handle - m_hModel = pEnt; - - pEnt->DontRecordInTools(); - pEnt->AddEffects( EF_NODRAW ); // don't let the renderer draw the model normally - - if ( m_pModelInfo->m_nSkin >= 0 ) - { - pEnt->m_nSkin = m_pModelInfo->m_nSkin; - } - - // do we have any animation information? - if ( m_pModelInfo->m_Animations.Count() > 0 && m_pModelInfo->m_Animations.IsValidIndex( m_iDefaultAnimation ) ) - { - CModelPanelModelAnimation *pAnim = m_pModelInfo->m_Animations[ m_iDefaultAnimation ]; - int sequence = ACT_INVALID; - if ( pAnim->m_pszActivity && pAnim->m_pszActivity[0] ) - { - Activity activity = (Activity)ActivityList_IndexForName( pAnim->m_pszActivity ); - sequence = pEnt->SelectWeightedSequence( activity ); - } - else if ( pAnim->m_pszSequence && pAnim->m_pszSequence[0] ) - { - sequence = pEnt->LookupSequence( pAnim->m_pszSequence ); - } - if ( sequence != ACT_INVALID ) - { - pEnt->ResetSequence( sequence ); - pEnt->SetCycle( 0 ); - - if ( pAnim->m_pPoseParameters ) - { - for ( KeyValues *pData = pAnim->m_pPoseParameters->GetFirstSubKey(); pData != NULL; pData = pData->GetNextKey() ) - { - const char *pName = pData->GetName(); - float flValue = pData->GetFloat(); - - pEnt->SetPoseParameter( pName, flValue ); - } - } - - pEnt->m_flAnimTime = gpGlobals->curtime; - } - } - - // setup any attached models - for ( int i = 0 ; i < m_pModelInfo->m_AttachedModelsInfo.Count() ; i++ ) - { - CModelPanelAttachedModelInfo *pInfo = m_pModelInfo->m_AttachedModelsInfo[i]; - C_BaseAnimating *pTemp = new C_BaseAnimating; - - if ( pTemp ) - { - if ( pTemp->InitializeAsClientEntity( pInfo->m_pszModelName, RENDER_GROUP_OPAQUE_ENTITY ) == false ) - { - // we failed to initialize this model so just skip it - pTemp->Remove(); - continue; - } - - pTemp->DontRecordInTools(); - pTemp->AddEffects( EF_NODRAW ); // don't let the renderer draw the model normally - pTemp->FollowEntity( m_hModel.Get() ); // attach to parent model - - if ( pInfo->m_nSkin >= 0 ) - { - pTemp->m_nSkin = pInfo->m_nSkin; - } - - pTemp->m_flAnimTime = gpGlobals->curtime; - m_AttachedModels.AddToTail( pTemp ); - } - } - - CalculateFrameDistance(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::InitCubeMaps() -{ - ITexture *pCubemapTexture; - - // Deal with the default cubemap - if ( g_pMaterialSystemHardwareConfig->GetHDREnabled() ) - { - pCubemapTexture = materials->FindTexture( "editor/cubemap.hdr", NULL, true ); - m_DefaultHDREnvCubemap.Init( pCubemapTexture ); - } - else - { - pCubemapTexture = materials->FindTexture( "editor/cubemap", NULL, true ); - m_DefaultEnvCubemap.Init( pCubemapTexture ); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::Paint() -{ - BaseClass::Paint(); - - C_BasePlayer *pLocalPlayer = C_BasePlayer::GetLocalPlayer(); - - if ( !pLocalPlayer || !m_pModelInfo ) - return; - - MDLCACHE_CRITICAL_SECTION(); - - if ( m_bPanelDirty ) - { - InitCubeMaps(); - - SetupModel(); - - // are we trying to play a VCD? - if ( Q_strlen( m_pModelInfo->m_pszVCD ) > 0 ) - { - SetupVCD(); - } - - m_bPanelDirty = false; - } - - if ( !m_hModel.Get() ) - return; - - int i = 0; - int x, y, w, h; - - GetBounds( x, y, w, h ); - ParentLocalToScreen( x, y ); - - if ( !m_bAllowOffscreen && x < 0 ) - { - // prevent x from being pushed off the left side of the screen - // for modes like 1280 x 1024 (prevents model from being drawn in the panel) - x = 0; - } - - Vector vecExtraModelOffset( 0, 0, 0 ); - float flWidthRatio = engine->GetScreenAspectRatio() / ( 4.0f / 3.0f ); - - // is this a player model? - if ( Q_strstr( GetModelName(), "models/player/" ) ) - { - // need to know if the ratio is not 4/3 - // HACK! HACK! to get our player models to appear the way they do in 4/3 if we're using other aspect ratios - if ( flWidthRatio > 1.05f ) - { - vecExtraModelOffset.Init( -60, 0, 0 ); - } - else if ( flWidthRatio < 0.95f ) - { - vecExtraModelOffset.Init( 15, 0, 0 ); - } - } - - m_hModel->SetAbsOrigin( m_pModelInfo->m_vecOriginOffset + vecExtraModelOffset ); - m_hModel->SetAbsAngles( QAngle( m_pModelInfo->m_vecAbsAngles.x, m_pModelInfo->m_vecAbsAngles.y, m_pModelInfo->m_vecAbsAngles.z ) ); - - // do we have a valid sequence? - if ( m_hModel->GetSequence() != -1 ) - { - m_hModel->FrameAdvance( gpGlobals->frametime ); - } - - // Now draw it. - CViewSetup view; - view.x = x + m_pModelInfo->m_vecViewportOffset.x; - view.y = y + m_pModelInfo->m_vecViewportOffset.y; - view.width = w; - view.height = h; - - view.m_bOrtho = false; - - // scale the FOV for aspect ratios other than 4/3 - view.fov = ScaleFOVByWidthRatio( m_nFOV, flWidthRatio ); - - view.origin = vec3_origin; - view.angles.Init(); - view.zNear = VIEW_NEARZ; - view.zFar = 1000; - - CMatRenderContextPtr pRenderContext( materials ); - - // Not supported by queued material system - doesn't appear to be necessary -// ITexture *pLocalCube = pRenderContext->GetLocalCubemap(); - - if ( g_pMaterialSystemHardwareConfig->GetHDREnabled() ) - { - pRenderContext->BindLocalCubemap( m_DefaultHDREnvCubemap ); - } - else - { - pRenderContext->BindLocalCubemap( m_DefaultEnvCubemap ); - } - - pRenderContext->SetLightingOrigin( vec3_origin ); - pRenderContext->SetAmbientLight( 0.4, 0.4, 0.4 ); - - static Vector white[6] = - { - Vector( 0.4, 0.4, 0.4 ), - Vector( 0.4, 0.4, 0.4 ), - Vector( 0.4, 0.4, 0.4 ), - Vector( 0.4, 0.4, 0.4 ), - Vector( 0.4, 0.4, 0.4 ), - Vector( 0.4, 0.4, 0.4 ), - }; - - g_pStudioRender->SetAmbientLightColors( white ); - g_pStudioRender->SetLocalLights( 0, NULL ); - - if ( m_pModelInfo->m_bUseSpotlight ) - { - Vector vecMins, vecMaxs; - m_hModel->GetRenderBounds( vecMins, vecMaxs ); - LightDesc_t spotLight( vec3_origin + Vector( 0, 0, 200 ), Vector( 1, 1, 1 ), m_hModel->GetAbsOrigin() + Vector( 0, 0, ( vecMaxs.z - vecMins.z ) * 0.75 ), 0.035, 0.873 ); - g_pStudioRender->SetLocalLights( 1, &spotLight ); - } - - Frustum dummyFrustum; - render->Push3DView( view, 0, NULL, dummyFrustum ); - - modelrender->SuppressEngineLighting( true ); - float color[3] = { 1.0f, 1.0f, 1.0f }; - render->SetColorModulation( color ); - render->SetBlend( 1.0f ); - m_hModel->DrawModel( STUDIO_RENDER ); - - for ( i = 0 ; i < m_AttachedModels.Count() ; i++ ) - { - if ( m_AttachedModels[i].Get() ) - { - m_AttachedModels[i]->DrawModel( STUDIO_RENDER ); - } - } - - modelrender->SuppressEngineLighting( false ); - - render->PopView( dummyFrustum ); - - pRenderContext->BindLocalCubemap( NULL ); - - /* - vgui::surface()->DrawSetColor( Color(0,0,0,255) ); - vgui::surface()->DrawOutlinedRect( 0,0, GetWide(), GetTall() ); - */ - -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -int CModelPanel::FindAnimByName( const char *pszName ) -{ - // first try to find the sequence using pszName as the friendly name - for ( int iIndex = 0 ; iIndex < m_pModelInfo->m_Animations.Count() ; iIndex++ ) - { - CModelPanelModelAnimation *pAnimation = m_pModelInfo->m_Animations[ iIndex ]; - if ( FStrEq( pAnimation->m_pszName, pszName ) ) - return iIndex; - } - - return -1; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -bool CModelPanel::SetSequence( const char *pszName ) -{ - bool bRetVal = false; - const char *pszAnim = NULL; - - MDLCACHE_CRITICAL_SECTION(); - - if ( m_pModelInfo ) - { - int iIndex = FindAnimByName(pszName); - if ( iIndex != -1 ) - { - pszAnim = m_pModelInfo->m_Animations[iIndex]->m_pszSequence; - } - else - { - // if not, just use the passed name as the sequence - pszAnim = pszName; - } - - if ( m_hModel.Get() ) - { - int sequence = m_hModel->LookupSequence( pszAnim ); - if ( sequence != ACT_INVALID ) - { - m_hModel->ResetSequence( sequence ); - m_hModel->SetCycle( 0 ); - - bRetVal = true; - } - } - } - - return bRetVal; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CModelPanel::OnSetAnimation( KeyValues *data ) -{ - // If there's no model, these commands will be ignored. - Assert(m_hModel); - - if ( data ) - { - const char *pszAnimation = data->GetString( "animation", "" ); - const char *pszActivity = data->GetString( "activity", "" ); - if ( pszActivity && pszActivity[0] ) - { - if ( m_hModel ) - { - int iIndex = FindAnimByName(pszActivity); - if ( iIndex != -1 ) - { - pszActivity = m_pModelInfo->m_Animations[iIndex]->m_pszActivity; - } - - Activity activity = (Activity)ActivityList_IndexForName( pszActivity ); - int sequence = m_hModel->SelectWeightedSequence( activity ); - if ( sequence != ACT_INVALID ) - { - m_hModel->ResetSequence( sequence ); - m_hModel->SetCycle( 0 ); - } - } - } - else - { - SetSequence( pszAnimation ); - } - } -} - -void CModelPanel::CalculateFrameDistanceInternal( const model_t *pModel ) -{ - // Get the model space render bounds. - Vector vecMin, vecMax; - modelinfo->GetModelRenderBounds( pModel, vecMin, vecMax ); - Vector vecCenter = ( vecMax + vecMin ) * 0.5f; - vecMin -= vecCenter; - vecMax -= vecCenter; - - // Get the bounds points and transform them by the desired model panel rotation. - Vector aBoundsPoints[8]; - aBoundsPoints[0].Init( vecMax.x, vecMax.y, vecMax.z ); - aBoundsPoints[1].Init( vecMin.x, vecMax.y, vecMax.z ); - aBoundsPoints[2].Init( vecMax.x, vecMin.y, vecMax.z ); - aBoundsPoints[3].Init( vecMin.x, vecMin.y, vecMax.z ); - aBoundsPoints[4].Init( vecMax.x, vecMax.y, vecMin.z ); - aBoundsPoints[5].Init( vecMin.x, vecMax.y, vecMin.z ); - aBoundsPoints[6].Init( vecMax.x, vecMin.y, vecMin.z ); - aBoundsPoints[7].Init( vecMin.x, vecMin.y, vecMin.z ); - - // Translated center point (offset from camera center). - Vector vecTranslateCenter = -vecCenter; - - // Build the rotation matrix. - QAngle angPanelAngles( m_pModelInfo->m_vecAbsAngles.x, m_pModelInfo->m_vecAbsAngles.y, m_pModelInfo->m_vecAbsAngles.z ); - matrix3x4_t matRotation; - AngleMatrix( angPanelAngles, matRotation ); - - Vector aXFormPoints[8]; - for ( int iPoint = 0; iPoint < 8; ++iPoint ) - { - VectorTransform( aBoundsPoints[iPoint], matRotation, aXFormPoints[iPoint] ); - } - - Vector vecXFormCenter; - VectorTransform( -vecTranslateCenter, matRotation, vecXFormCenter ); - - int w, h; - GetSize( w, h ); - float flW = (float)w; - float flH = (float)h; - - float flFOVx = DEG2RAD( m_nFOV * 0.5f ); - float flFOVy = CalcFovY( ( m_nFOV * 0.5f ), flW/flH ); - flFOVy = DEG2RAD( flFOVy ); - - float flTanFOVx = tan( flFOVx ); - float flTanFOVy = tan( flFOVy ); - - // Find the max value of x, y, or z - float flDist = 0.0f; - for ( int iPoint = 0; iPoint < 8; ++iPoint ) - { - float flDistZ = fabs( aXFormPoints[iPoint].z / flTanFOVy - aXFormPoints[iPoint].x ); - float flDistY = fabs( aXFormPoints[iPoint].y / flTanFOVx - aXFormPoints[iPoint].x ); - float flTestDist = max( flDistZ, flDistY ); - flDist = max( flDist, flTestDist ); - } - - // Scale the object down by 10%. - flDist *= 1.10f; - - // Add the framing offset. - vecXFormCenter += m_pModelInfo->m_vecFramedOriginOffset; - - // Zoom to the frame distance - m_pModelInfo->m_vecOriginOffset.x = flDist - vecXFormCenter.x; - m_pModelInfo->m_vecOriginOffset.y = -vecXFormCenter.y; - m_pModelInfo->m_vecOriginOffset.z = -vecXFormCenter.z; - - // Screen space points. - Vector2D aScreenPoints[8]; - Vector aCameraPoints[8]; - for ( int iPoint = 0; iPoint < 8; ++iPoint ) - { - aCameraPoints[iPoint] = aXFormPoints[iPoint]; - aCameraPoints[iPoint].x += flDist; - - aScreenPoints[iPoint].x = aCameraPoints[iPoint].y / ( flTanFOVx * aCameraPoints[iPoint].x ); - aScreenPoints[iPoint].y = aCameraPoints[iPoint].z / ( flTanFOVy * aCameraPoints[iPoint].x ); - - aScreenPoints[iPoint].x = ( aScreenPoints[iPoint].x * 0.5f + 0.5f ) * flW; - aScreenPoints[iPoint].y = ( aScreenPoints[iPoint].y * 0.5f + 0.5f ) * flH; - } - - // Find the min/max and center of the 2D bounding box of the object. - Vector2D vecScreenMin( 99999.0f, 99999.0f ), vecScreenMax( -99999.0f, -99999.0f ); - for ( int iPoint = 0; iPoint < 8; ++iPoint ) - { - vecScreenMin.x = min( vecScreenMin.x, aScreenPoints[iPoint].x ); - vecScreenMin.y = min( vecScreenMin.y, aScreenPoints[iPoint].y ); - vecScreenMax.x = max( vecScreenMax.x, aScreenPoints[iPoint].x ); - vecScreenMax.y = max( vecScreenMax.y, aScreenPoints[iPoint].y ); - } - - vecScreenMin.x = clamp( vecScreenMin.x, 0.0f, flW ); - vecScreenMin.y = clamp( vecScreenMin.y, 0.0f, flH ); - vecScreenMax.x = clamp( vecScreenMax.x, 0.0f, flW ); - vecScreenMax.y = clamp( vecScreenMax.y, 0.0f, flH ); - - // Offset the view port based on the calculated model 2D center and the center of the viewport. - Vector2D vecScreenCenter = ( vecScreenMax + vecScreenMin ) * 0.5f; - m_pModelInfo->m_vecViewportOffset.x = -( ( flW * 0.5f ) - vecScreenCenter.x ); - m_pModelInfo->m_vecViewportOffset.y = -( ( flH * 0.5f ) - vecScreenCenter.y ); -} - -//----------------------------------------------------------------------------- -// Purpose: Calculates the distance the camera should be at to frame the model on the screen. -//----------------------------------------------------------------------------- -void CModelPanel::CalculateFrameDistance( void ) -{ - m_flFrameDistance = 0; - if ( !m_hModel ) - return; - - // Compute a bounding radius for the model - const model_t *mod = modelinfo->GetModel( m_hModel->GetModelIndex() ); - if ( !mod ) - return; - - if ( m_bStartFramed ) - { - CalculateFrameDistanceInternal( mod ); - } -} - -//----------------------------------------------------------------------------- -// Purpose: Moves the camera forward/backward along the current view angle to -// frame the model on the screen. -//----------------------------------------------------------------------------- -void CModelPanel::ZoomToFrameDistance( void ) -{ - if ( !m_flFrameDistance || !m_hModel ) - return; - - const model_t *mod = modelinfo->GetModel( m_hModel->GetModelIndex() ); - if ( !mod ) - return; - - // Move the model to the midpoint - Vector mins, maxs, vecModelCenter; - modelinfo->GetModelRenderBounds( mod, mins, maxs ); - VectorLerp( mins, maxs, 0.5f, vecModelCenter ); - - vecModelCenter += m_pModelInfo->m_vecFramedOriginOffset; - - // Zoom to the frame distance - m_pModelInfo->m_vecOriginOffset.x = m_flFrameDistance; - m_pModelInfo->m_vecOriginOffset.y = -vecModelCenter.y; - m_pModelInfo->m_vecOriginOffset.z = -vecModelCenter.z; -} - +//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + + +#include "cbase.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "materialsystem/imaterialsystem.h" +#include "engine/ivmodelinfo.h" + +#include "c_sceneentity.h" +#include "gamestringpool.h" +#include "model_types.h" +#include "view_shared.h" +#include "view.h" +#include "ivrenderview.h" +#include "iefx.h" +#include "dlight.h" +#include "activitylist.h" + +#include "basemodelpanel.h" + +bool UseHWMorphModels(); + + +using namespace vgui; + +DECLARE_BUILD_FACTORY( CModelPanel ); + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CModelPanel::CModelPanel( vgui::Panel *pParent, const char *pName ) : vgui::EditablePanel( pParent, pName ) +{ + m_nFOV = 54; + m_hModel = NULL; + m_pModelInfo = NULL; + m_hScene = NULL; + m_iDefaultAnimation = 0; + m_bPanelDirty = true; + m_bStartFramed = false; + m_bAllowOffscreen = false; + + ListenForGameEvent( "game_newmap" ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CModelPanel::~CModelPanel() +{ + if ( m_pModelInfo ) + { + delete m_pModelInfo; + m_pModelInfo = NULL; + } + + DeleteVCDData(); + DeleteModelData(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::ApplySettings( KeyValues *inResourceData ) +{ + BaseClass::ApplySettings( inResourceData ); + + m_nFOV = inResourceData->GetInt( "fov", 54 ); + m_bStartFramed = inResourceData->GetInt( "start_framed", false ); + m_bAllowOffscreen = inResourceData->GetInt( "allow_offscreen", false ); + + // do we have a valid "model" section in the .res file? + for ( KeyValues *pData = inResourceData->GetFirstSubKey() ; pData != NULL ; pData = pData->GetNextKey() ) + { + if ( !Q_stricmp( pData->GetName(), "model" ) ) + { + ParseModelInfo( pData ); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::ParseModelInfo( KeyValues *inResourceData ) +{ + // delete any current info + if ( m_pModelInfo ) + { + delete m_pModelInfo; + m_pModelInfo = NULL; + } + + m_pModelInfo = new CModelPanelModelInfo; + + if ( !m_pModelInfo ) + return; + + m_pModelInfo->m_pszModelName = ReadAndAllocStringValue( inResourceData, "modelname" ); + m_pModelInfo->m_pszModelName_HWM = ReadAndAllocStringValue( inResourceData, "modelname_hwm" ); + m_pModelInfo->m_nSkin = inResourceData->GetInt( "skin", -1 ); + m_pModelInfo->m_vecAbsAngles.Init( inResourceData->GetFloat( "angles_x", 0.0 ), inResourceData->GetFloat( "angles_y", 0.0 ), inResourceData->GetFloat( "angles_z", 0.0 ) ); + m_pModelInfo->m_vecOriginOffset.Init( inResourceData->GetFloat( "origin_x", 110.0 ), inResourceData->GetFloat( "origin_y", 5.0 ), inResourceData->GetFloat( "origin_z", 5.0 ) ); + m_pModelInfo->m_vecFramedOriginOffset.Init( inResourceData->GetFloat( "frame_origin_x", 110.0 ), inResourceData->GetFloat( "frame_origin_y", 5.0 ), inResourceData->GetFloat( "frame_origin_z", 5.0 ) ); + m_pModelInfo->m_pszVCD = ReadAndAllocStringValue( inResourceData, "vcd" ); + m_pModelInfo->m_bUseSpotlight = ( inResourceData->GetInt( "spotlight", 0 ) == 1 ); + m_pModelInfo->m_vecViewportOffset.Init(); + + for ( KeyValues *pData = inResourceData->GetFirstSubKey(); pData != NULL; pData = pData->GetNextKey() ) + { + if ( !Q_stricmp( pData->GetName(), "animation" ) ) + { + OnAddAnimation( pData ); + } + else if ( !Q_stricmp( pData->GetName(), "attached_model" ) ) + { + CModelPanelAttachedModelInfo *pAttachedModelInfo = new CModelPanelAttachedModelInfo; + + if ( pAttachedModelInfo ) + { + pAttachedModelInfo->m_pszModelName = ReadAndAllocStringValue( pData, "modelname" ); + pAttachedModelInfo->m_nSkin = pData->GetInt( "skin", -1 ); + + m_pModelInfo->m_AttachedModelsInfo.AddToTail( pAttachedModelInfo ); + } + } + } + + m_bPanelDirty = true; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::OnAddAnimation( KeyValues *pData ) +{ + if ( !pData ) + return; + + CModelPanelModelAnimation *pAnimation = new CModelPanelModelAnimation; + + if ( pAnimation ) + { + pAnimation->m_pszName = ReadAndAllocStringValue( pData, "name" ); + pAnimation->m_pszSequence = ReadAndAllocStringValue( pData, "sequence" ); + pAnimation->m_pszActivity = ReadAndAllocStringValue( pData, "activity" ); + pAnimation->m_bDefault = ( pData->GetInt( "default", 0 ) == 1 ); + + for ( KeyValues *pAnimData = pData->GetFirstSubKey(); pAnimData != NULL; pAnimData = pAnimData->GetNextKey() ) + { + if ( !Q_stricmp( pAnimData->GetName(), "pose_parameters" ) ) + { + pAnimation->m_pPoseParameters = pAnimData->MakeCopy(); + } + } + + m_pModelInfo->m_Animations.AddToTail( pAnimation ); + if ( pAnimation->m_bDefault ) + { + m_iDefaultAnimation = m_pModelInfo->m_Animations.Find( pAnimation ); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::FireGameEvent( IGameEvent * event ) +{ + const char *type = event->GetName(); + + if ( Q_strcmp( type, "game_newmap" ) == 0 ) + { + // force the models to re-setup themselves + m_bPanelDirty = true; + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::SetDefaultAnimation( const char *pszName ) +{ + if ( m_pModelInfo ) + { + for ( int i = 0; i < m_pModelInfo->m_Animations.Count(); i++ ) + { + if ( m_pModelInfo->m_Animations[i] && m_pModelInfo->m_Animations[i]->m_pszName ) + { + if ( !Q_stricmp( m_pModelInfo->m_Animations[i]->m_pszName, pszName ) ) + { + m_iDefaultAnimation = i; + return; + } + } + } + } + + Assert( 0 ); +} + +//----------------------------------------------------------------------------- +// Purpose: Replaces the current model with a new one, without changing the camera settings +//----------------------------------------------------------------------------- +void CModelPanel::SwapModel( const char *pszName, const char *pszAttached ) +{ + if ( !m_pModelInfo || !pszName || !pszName[0] ) + return; + + int len = Q_strlen( pszName ) + 1; + char *pAlloced = new char[ len ]; + Assert( pAlloced ); + Q_strncpy( pAlloced, pszName, len ); + m_pModelInfo->m_pszModelName = pAlloced; + + ClearAttachedModelInfos(); + + if ( pszAttached ) + { + CModelPanelAttachedModelInfo *pAttachedModelInfo = new CModelPanelAttachedModelInfo; + if ( pAttachedModelInfo ) + { + len = Q_strlen( pszAttached ) + 1; + pAlloced = new char[ len ]; + Assert( pAlloced ); + Q_strncpy( pAlloced, pszAttached, len ); + pAttachedModelInfo->m_pszModelName = pAlloced; + pAttachedModelInfo->m_nSkin = 0; + + m_pModelInfo->m_AttachedModelsInfo.AddToTail( pAttachedModelInfo ); + } + } + + m_bPanelDirty = true; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::DeleteVCDData( void ) +{ + if ( m_hScene.Get() ) + { + m_hScene->StopClientOnlyScene(); + + m_hScene->Remove(); + m_hScene = NULL; + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::SetupVCD( void ) +{ + if ( !m_pModelInfo ) + return; + + DeleteVCDData(); + + C_SceneEntity *pEnt = new class C_SceneEntity; + + if ( !pEnt ) + return; + + if ( pEnt->InitializeAsClientEntity( "", RENDER_GROUP_OTHER ) == false ) + { + // we failed to initialize this entity so just return gracefully + pEnt->Remove(); + return; + } + + // setup the handle + m_hScene = pEnt; + + // setup the scene + pEnt->SetupClientOnlyScene( m_pModelInfo->m_pszVCD, m_hModel, true ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::ClearAttachedModelInfos( void ) +{ + if ( m_pModelInfo ) + { + m_pModelInfo->m_AttachedModelsInfo.PurgeAndDeleteElements(); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::DeleteModelData( void ) +{ + if ( m_hModel.Get() ) + { + m_hModel->Remove(); + m_hModel = NULL; + m_flFrameDistance = 0; + } + + for ( int i = 0 ; i < m_AttachedModels.Count() ; i++ ) + { + if ( m_AttachedModels[i].Get() ) + { + m_AttachedModels[i]->Remove(); + } + m_AttachedModels.Remove( i ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +const char *CModelPanel::GetModelName( void ) +{ + if ( !m_pModelInfo ) + return NULL; + + // check to see if we want to use a HWM model + if ( UseHWMorphModels() ) + { + // do we have a valid HWM model filename + if ( m_pModelInfo->m_pszModelName_HWM && ( Q_strlen( m_pModelInfo->m_pszModelName_HWM ) > 0 ) ) + { + // does the file exist + model_t *pModel = (model_t *)engine->LoadModel( m_pModelInfo->m_pszModelName_HWM ); + if ( pModel ) + { + return m_pModelInfo->m_pszModelName_HWM; + } + } + } + + return m_pModelInfo->m_pszModelName; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::SetupModel( void ) +{ + if ( !m_pModelInfo ) + return; + + MDLCACHE_CRITICAL_SECTION(); + + // remove any current models we're using + DeleteModelData(); + + const char *pszModelName = GetModelName(); + if ( !pszModelName || !pszModelName[0] ) + return; + + // create the new model + CModelPanelModel *pEnt = new CModelPanelModel; + + if ( !pEnt ) + return; + + if ( pEnt->InitializeAsClientEntity( pszModelName, RENDER_GROUP_OPAQUE_ENTITY ) == false ) + { + // we failed to initialize this entity so just return gracefully + pEnt->Remove(); + return; + } + + // setup the handle + m_hModel = pEnt; + + pEnt->DontRecordInTools(); + pEnt->AddEffects( EF_NODRAW ); // don't let the renderer draw the model normally + + if ( m_pModelInfo->m_nSkin >= 0 ) + { + pEnt->m_nSkin = m_pModelInfo->m_nSkin; + } + + // do we have any animation information? + if ( m_pModelInfo->m_Animations.Count() > 0 && m_pModelInfo->m_Animations.IsValidIndex( m_iDefaultAnimation ) ) + { + CModelPanelModelAnimation *pAnim = m_pModelInfo->m_Animations[ m_iDefaultAnimation ]; + int sequence = ACT_INVALID; + if ( pAnim->m_pszActivity && pAnim->m_pszActivity[0] ) + { + Activity activity = (Activity)ActivityList_IndexForName( pAnim->m_pszActivity ); + sequence = pEnt->SelectWeightedSequence( activity ); + } + else if ( pAnim->m_pszSequence && pAnim->m_pszSequence[0] ) + { + sequence = pEnt->LookupSequence( pAnim->m_pszSequence ); + } + if ( sequence != ACT_INVALID ) + { + pEnt->ResetSequence( sequence ); + pEnt->SetCycle( 0 ); + + if ( pAnim->m_pPoseParameters ) + { + for ( KeyValues *pData = pAnim->m_pPoseParameters->GetFirstSubKey(); pData != NULL; pData = pData->GetNextKey() ) + { + const char *pName = pData->GetName(); + float flValue = pData->GetFloat(); + + pEnt->SetPoseParameter( pName, flValue ); + } + } + + pEnt->m_flAnimTime = gpGlobals->curtime; + } + } + + // setup any attached models + for ( int i = 0 ; i < m_pModelInfo->m_AttachedModelsInfo.Count() ; i++ ) + { + CModelPanelAttachedModelInfo *pInfo = m_pModelInfo->m_AttachedModelsInfo[i]; + C_BaseAnimating *pTemp = new C_BaseAnimating; + + if ( pTemp ) + { + if ( pTemp->InitializeAsClientEntity( pInfo->m_pszModelName, RENDER_GROUP_OPAQUE_ENTITY ) == false ) + { + // we failed to initialize this model so just skip it + pTemp->Remove(); + continue; + } + + pTemp->DontRecordInTools(); + pTemp->AddEffects( EF_NODRAW ); // don't let the renderer draw the model normally + pTemp->FollowEntity( m_hModel.Get() ); // attach to parent model + + if ( pInfo->m_nSkin >= 0 ) + { + pTemp->m_nSkin = pInfo->m_nSkin; + } + + pTemp->m_flAnimTime = gpGlobals->curtime; + m_AttachedModels.AddToTail( pTemp ); + } + } + + CalculateFrameDistance(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::InitCubeMaps() +{ + ITexture *pCubemapTexture; + + // Deal with the default cubemap + if ( g_pMaterialSystemHardwareConfig->GetHDREnabled() ) + { + pCubemapTexture = materials->FindTexture( "editor/cubemap.hdr", NULL, true ); + m_DefaultHDREnvCubemap.Init( pCubemapTexture ); + } + else + { + pCubemapTexture = materials->FindTexture( "editor/cubemap", NULL, true ); + m_DefaultEnvCubemap.Init( pCubemapTexture ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::Paint() +{ + BaseClass::Paint(); + + C_BasePlayer *pLocalPlayer = C_BasePlayer::GetLocalPlayer(); + + if ( !pLocalPlayer || !m_pModelInfo ) + return; + + MDLCACHE_CRITICAL_SECTION(); + + if ( m_bPanelDirty ) + { + InitCubeMaps(); + + SetupModel(); + + // are we trying to play a VCD? + if ( Q_strlen( m_pModelInfo->m_pszVCD ) > 0 ) + { + SetupVCD(); + } + + m_bPanelDirty = false; + } + + if ( !m_hModel.Get() ) + return; + + int i = 0; + int x, y, w, h; + + GetBounds( x, y, w, h ); + ParentLocalToScreen( x, y ); + + if ( !m_bAllowOffscreen && x < 0 ) + { + // prevent x from being pushed off the left side of the screen + // for modes like 1280 x 1024 (prevents model from being drawn in the panel) + x = 0; + } + + Vector vecExtraModelOffset( 0, 0, 0 ); + float flWidthRatio = engine->GetScreenAspectRatio() / ( 4.0f / 3.0f ); + + // is this a player model? + if ( Q_strstr( GetModelName(), "models/player/" ) ) + { + // need to know if the ratio is not 4/3 + // HACK! HACK! to get our player models to appear the way they do in 4/3 if we're using other aspect ratios + if ( flWidthRatio > 1.05f ) + { + vecExtraModelOffset.Init( -60, 0, 0 ); + } + else if ( flWidthRatio < 0.95f ) + { + vecExtraModelOffset.Init( 15, 0, 0 ); + } + } + + m_hModel->SetAbsOrigin( m_pModelInfo->m_vecOriginOffset + vecExtraModelOffset ); + m_hModel->SetAbsAngles( QAngle( m_pModelInfo->m_vecAbsAngles.x, m_pModelInfo->m_vecAbsAngles.y, m_pModelInfo->m_vecAbsAngles.z ) ); + + // do we have a valid sequence? + if ( m_hModel->GetSequence() != -1 ) + { + m_hModel->FrameAdvance( gpGlobals->frametime ); + } + + // Now draw it. + CViewSetup view; + view.x = x + m_pModelInfo->m_vecViewportOffset.x; + view.y = y + m_pModelInfo->m_vecViewportOffset.y; + view.width = w; + view.height = h; + + view.m_bOrtho = false; + + // scale the FOV for aspect ratios other than 4/3 + view.fov = ScaleFOVByWidthRatio( m_nFOV, flWidthRatio ); + + view.origin = vec3_origin; + view.angles.Init(); + view.zNear = VIEW_NEARZ; + view.zFar = 1000; + + CMatRenderContextPtr pRenderContext( materials ); + + // Not supported by queued material system - doesn't appear to be necessary +// ITexture *pLocalCube = pRenderContext->GetLocalCubemap(); + + if ( g_pMaterialSystemHardwareConfig->GetHDREnabled() ) + { + pRenderContext->BindLocalCubemap( m_DefaultHDREnvCubemap ); + } + else + { + pRenderContext->BindLocalCubemap( m_DefaultEnvCubemap ); + } + + pRenderContext->SetLightingOrigin( vec3_origin ); + pRenderContext->SetAmbientLight( 0.4, 0.4, 0.4 ); + + static Vector white[6] = + { + Vector( 0.4, 0.4, 0.4 ), + Vector( 0.4, 0.4, 0.4 ), + Vector( 0.4, 0.4, 0.4 ), + Vector( 0.4, 0.4, 0.4 ), + Vector( 0.4, 0.4, 0.4 ), + Vector( 0.4, 0.4, 0.4 ), + }; + + g_pStudioRender->SetAmbientLightColors( white ); + g_pStudioRender->SetLocalLights( 0, NULL ); + + if ( m_pModelInfo->m_bUseSpotlight ) + { + Vector vecMins, vecMaxs; + m_hModel->GetRenderBounds( vecMins, vecMaxs ); + LightDesc_t spotLight( vec3_origin + Vector( 0, 0, 200 ), Vector( 1, 1, 1 ), m_hModel->GetAbsOrigin() + Vector( 0, 0, ( vecMaxs.z - vecMins.z ) * 0.75 ), 0.035, 0.873 ); + g_pStudioRender->SetLocalLights( 1, &spotLight ); + } + + Frustum dummyFrustum; + render->Push3DView( view, 0, NULL, dummyFrustum ); + + modelrender->SuppressEngineLighting( true ); + float color[3] = { 1.0f, 1.0f, 1.0f }; + render->SetColorModulation( color ); + render->SetBlend( 1.0f ); + m_hModel->DrawModel( STUDIO_RENDER ); + + for ( i = 0 ; i < m_AttachedModels.Count() ; i++ ) + { + if ( m_AttachedModels[i].Get() ) + { + m_AttachedModels[i]->DrawModel( STUDIO_RENDER ); + } + } + + modelrender->SuppressEngineLighting( false ); + + render->PopView( dummyFrustum ); + + pRenderContext->BindLocalCubemap( NULL ); + + /* + vgui::surface()->DrawSetColor( Color(0,0,0,255) ); + vgui::surface()->DrawOutlinedRect( 0,0, GetWide(), GetTall() ); + */ + +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +int CModelPanel::FindAnimByName( const char *pszName ) +{ + // first try to find the sequence using pszName as the friendly name + for ( int iIndex = 0 ; iIndex < m_pModelInfo->m_Animations.Count() ; iIndex++ ) + { + CModelPanelModelAnimation *pAnimation = m_pModelInfo->m_Animations[ iIndex ]; + if ( FStrEq( pAnimation->m_pszName, pszName ) ) + return iIndex; + } + + return -1; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CModelPanel::SetSequence( const char *pszName ) +{ + bool bRetVal = false; + const char *pszAnim = NULL; + + MDLCACHE_CRITICAL_SECTION(); + + if ( m_pModelInfo ) + { + int iIndex = FindAnimByName(pszName); + if ( iIndex != -1 ) + { + pszAnim = m_pModelInfo->m_Animations[iIndex]->m_pszSequence; + } + else + { + // if not, just use the passed name as the sequence + pszAnim = pszName; + } + + if ( m_hModel.Get() ) + { + int sequence = m_hModel->LookupSequence( pszAnim ); + if ( sequence != ACT_INVALID ) + { + m_hModel->ResetSequence( sequence ); + m_hModel->SetCycle( 0 ); + + bRetVal = true; + } + } + } + + return bRetVal; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CModelPanel::OnSetAnimation( KeyValues *data ) +{ + // If there's no model, these commands will be ignored. + Assert(m_hModel); + + if ( data ) + { + const char *pszAnimation = data->GetString( "animation", "" ); + const char *pszActivity = data->GetString( "activity", "" ); + if ( pszActivity && pszActivity[0] ) + { + if ( m_hModel ) + { + int iIndex = FindAnimByName(pszActivity); + if ( iIndex != -1 ) + { + pszActivity = m_pModelInfo->m_Animations[iIndex]->m_pszActivity; + } + + Activity activity = (Activity)ActivityList_IndexForName( pszActivity ); + int sequence = m_hModel->SelectWeightedSequence( activity ); + if ( sequence != ACT_INVALID ) + { + m_hModel->ResetSequence( sequence ); + m_hModel->SetCycle( 0 ); + } + } + } + else + { + SetSequence( pszAnimation ); + } + } +} + +void CModelPanel::CalculateFrameDistanceInternal( const model_t *pModel ) +{ + // Get the model space render bounds. + Vector vecMin, vecMax; + modelinfo->GetModelRenderBounds( pModel, vecMin, vecMax ); + Vector vecCenter = ( vecMax + vecMin ) * 0.5f; + vecMin -= vecCenter; + vecMax -= vecCenter; + + // Get the bounds points and transform them by the desired model panel rotation. + Vector aBoundsPoints[8]; + aBoundsPoints[0].Init( vecMax.x, vecMax.y, vecMax.z ); + aBoundsPoints[1].Init( vecMin.x, vecMax.y, vecMax.z ); + aBoundsPoints[2].Init( vecMax.x, vecMin.y, vecMax.z ); + aBoundsPoints[3].Init( vecMin.x, vecMin.y, vecMax.z ); + aBoundsPoints[4].Init( vecMax.x, vecMax.y, vecMin.z ); + aBoundsPoints[5].Init( vecMin.x, vecMax.y, vecMin.z ); + aBoundsPoints[6].Init( vecMax.x, vecMin.y, vecMin.z ); + aBoundsPoints[7].Init( vecMin.x, vecMin.y, vecMin.z ); + + // Translated center point (offset from camera center). + Vector vecTranslateCenter = -vecCenter; + + // Build the rotation matrix. + QAngle angPanelAngles( m_pModelInfo->m_vecAbsAngles.x, m_pModelInfo->m_vecAbsAngles.y, m_pModelInfo->m_vecAbsAngles.z ); + matrix3x4_t matRotation; + AngleMatrix( angPanelAngles, matRotation ); + + Vector aXFormPoints[8]; + for ( int iPoint = 0; iPoint < 8; ++iPoint ) + { + VectorTransform( aBoundsPoints[iPoint], matRotation, aXFormPoints[iPoint] ); + } + + Vector vecXFormCenter; + VectorTransform( -vecTranslateCenter, matRotation, vecXFormCenter ); + + int w, h; + GetSize( w, h ); + float flW = (float)w; + float flH = (float)h; + + float flFOVx = DEG2RAD( m_nFOV * 0.5f ); + float flFOVy = CalcFovY( ( m_nFOV * 0.5f ), flW/flH ); + flFOVy = DEG2RAD( flFOVy ); + + float flTanFOVx = tan( flFOVx ); + float flTanFOVy = tan( flFOVy ); + + // Find the max value of x, y, or z + float flDist = 0.0f; + for ( int iPoint = 0; iPoint < 8; ++iPoint ) + { + float flDistZ = fabs( aXFormPoints[iPoint].z / flTanFOVy - aXFormPoints[iPoint].x ); + float flDistY = fabs( aXFormPoints[iPoint].y / flTanFOVx - aXFormPoints[iPoint].x ); + float flTestDist = max( flDistZ, flDistY ); + flDist = max( flDist, flTestDist ); + } + + // Scale the object down by 10%. + flDist *= 1.10f; + + // Add the framing offset. + vecXFormCenter += m_pModelInfo->m_vecFramedOriginOffset; + + // Zoom to the frame distance + m_pModelInfo->m_vecOriginOffset.x = flDist - vecXFormCenter.x; + m_pModelInfo->m_vecOriginOffset.y = -vecXFormCenter.y; + m_pModelInfo->m_vecOriginOffset.z = -vecXFormCenter.z; + + // Screen space points. + Vector2D aScreenPoints[8]; + Vector aCameraPoints[8]; + for ( int iPoint = 0; iPoint < 8; ++iPoint ) + { + aCameraPoints[iPoint] = aXFormPoints[iPoint]; + aCameraPoints[iPoint].x += flDist; + + aScreenPoints[iPoint].x = aCameraPoints[iPoint].y / ( flTanFOVx * aCameraPoints[iPoint].x ); + aScreenPoints[iPoint].y = aCameraPoints[iPoint].z / ( flTanFOVy * aCameraPoints[iPoint].x ); + + aScreenPoints[iPoint].x = ( aScreenPoints[iPoint].x * 0.5f + 0.5f ) * flW; + aScreenPoints[iPoint].y = ( aScreenPoints[iPoint].y * 0.5f + 0.5f ) * flH; + } + + // Find the min/max and center of the 2D bounding box of the object. + Vector2D vecScreenMin( 99999.0f, 99999.0f ), vecScreenMax( -99999.0f, -99999.0f ); + for ( int iPoint = 0; iPoint < 8; ++iPoint ) + { + vecScreenMin.x = min( vecScreenMin.x, aScreenPoints[iPoint].x ); + vecScreenMin.y = min( vecScreenMin.y, aScreenPoints[iPoint].y ); + vecScreenMax.x = max( vecScreenMax.x, aScreenPoints[iPoint].x ); + vecScreenMax.y = max( vecScreenMax.y, aScreenPoints[iPoint].y ); + } + + vecScreenMin.x = clamp( vecScreenMin.x, 0.0f, flW ); + vecScreenMin.y = clamp( vecScreenMin.y, 0.0f, flH ); + vecScreenMax.x = clamp( vecScreenMax.x, 0.0f, flW ); + vecScreenMax.y = clamp( vecScreenMax.y, 0.0f, flH ); + + // Offset the view port based on the calculated model 2D center and the center of the viewport. + Vector2D vecScreenCenter = ( vecScreenMax + vecScreenMin ) * 0.5f; + m_pModelInfo->m_vecViewportOffset.x = -( ( flW * 0.5f ) - vecScreenCenter.x ); + m_pModelInfo->m_vecViewportOffset.y = -( ( flH * 0.5f ) - vecScreenCenter.y ); +} + +//----------------------------------------------------------------------------- +// Purpose: Calculates the distance the camera should be at to frame the model on the screen. +//----------------------------------------------------------------------------- +void CModelPanel::CalculateFrameDistance( void ) +{ + m_flFrameDistance = 0; + if ( !m_hModel ) + return; + + // Compute a bounding radius for the model + const model_t *mod = modelinfo->GetModel( m_hModel->GetModelIndex() ); + if ( !mod ) + return; + + if ( m_bStartFramed ) + { + CalculateFrameDistanceInternal( mod ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: Moves the camera forward/backward along the current view angle to +// frame the model on the screen. +//----------------------------------------------------------------------------- +void CModelPanel::ZoomToFrameDistance( void ) +{ + if ( !m_flFrameDistance || !m_hModel ) + return; + + const model_t *mod = modelinfo->GetModel( m_hModel->GetModelIndex() ); + if ( !mod ) + return; + + // Move the model to the midpoint + Vector mins, maxs, vecModelCenter; + modelinfo->GetModelRenderBounds( mod, mins, maxs ); + VectorLerp( mins, maxs, 0.5f, vecModelCenter ); + + vecModelCenter += m_pModelInfo->m_vecFramedOriginOffset; + + // Zoom to the frame distance + m_pModelInfo->m_vecOriginOffset.x = m_flFrameDistance; + m_pModelInfo->m_vecOriginOffset.y = -vecModelCenter.y; + m_pModelInfo->m_vecOriginOffset.z = -vecModelCenter.z; +} + diff --git a/game/client/game_controls/basemodelpanel.h b/game/client/game_controls/basemodelpanel.h index 31b84d54..acef7daf 100644 --- a/game/client/game_controls/basemodelpanel.h +++ b/game/client/game_controls/basemodelpanel.h @@ -1,232 +1,232 @@ -//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============// -// -// Purpose: -// -// $NoKeywords: $ -//=============================================================================// - -#ifndef BASEMODELPANEL_H -#define BASEMODELPANEL_H -#ifdef _WIN32 -#pragma once -#endif - -#include -#include -#include -#include "gameeventlistener.h" -#include "KeyValues.h" - -class C_SceneEntity; - - -class CModelPanelModel : public C_BaseFlex -{ -public: - CModelPanelModel(){} - DECLARE_CLASS( CModelPanelModel, C_BaseFlex ); - - virtual bool IsMenuModel() const{ return true; } -}; - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -class CModelPanelModelAnimation -{ -public: - CModelPanelModelAnimation() - { - m_pszName = NULL; - m_pszSequence = NULL; - m_pszActivity = NULL; - m_pPoseParameters = NULL; - m_bDefault = false; - } - - ~CModelPanelModelAnimation() - { - if ( m_pszName && m_pszName[0] ) - { - delete [] m_pszName; - m_pszName = NULL; - } - - if ( m_pszSequence && m_pszSequence[0] ) - { - delete [] m_pszSequence; - m_pszSequence = NULL; - } - - if ( m_pszActivity && m_pszActivity[0] ) - { - delete [] m_pszActivity; - m_pszActivity = NULL; - } - - if ( m_pPoseParameters ) - { - m_pPoseParameters->deleteThis(); - m_pPoseParameters = NULL; - } - } - -public: - const char *m_pszName; - const char *m_pszSequence; - const char *m_pszActivity; - KeyValues *m_pPoseParameters; - bool m_bDefault; -}; - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -class CModelPanelAttachedModelInfo -{ -public: - CModelPanelAttachedModelInfo() - { - m_pszModelName = NULL; - m_nSkin = 0; - } - - ~CModelPanelAttachedModelInfo() - { - if ( m_pszModelName && m_pszModelName[0] ) - { - delete [] m_pszModelName; - m_pszModelName = NULL; - } - } - -public: - const char *m_pszModelName; - int m_nSkin; -}; - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -class CModelPanelModelInfo -{ -public: - CModelPanelModelInfo() - { - m_pszModelName = NULL; - m_pszModelName_HWM = NULL; - m_nSkin = -1; - m_vecAbsAngles.Init(); - m_vecOriginOffset.Init(); - m_vecFramedOriginOffset.Init(); - m_bUseSpotlight = false; - } - - ~CModelPanelModelInfo() - { - if ( m_pszModelName && m_pszModelName[0] ) - { - delete [] m_pszModelName; - m_pszModelName = NULL; - } - - if ( m_pszModelName_HWM && m_pszModelName_HWM[0] ) - { - delete [] m_pszModelName_HWM; - m_pszModelName_HWM = NULL; - } - - if ( m_pszVCD && m_pszVCD[0] ) - { - delete [] m_pszVCD; - m_pszVCD = NULL; - } - - m_Animations.PurgeAndDeleteElements(); - m_AttachedModelsInfo.PurgeAndDeleteElements(); - } - -public: - const char *m_pszModelName; - const char *m_pszModelName_HWM; - int m_nSkin; - const char *m_pszVCD; - Vector m_vecAbsAngles; - Vector m_vecOriginOffset; - Vector2D m_vecViewportOffset; - Vector m_vecFramedOriginOffset; - bool m_bUseSpotlight; - - CUtlVector m_Animations; - CUtlVector m_AttachedModelsInfo; -}; - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -class CModelPanel : public vgui::EditablePanel, public CGameEventListener -{ -public: - DECLARE_CLASS_SIMPLE( CModelPanel, vgui::EditablePanel ); - - CModelPanel( vgui::Panel *parent, const char *name ); - virtual ~CModelPanel(); - - virtual void Paint(); - virtual void ApplySettings( KeyValues *inResourceData ); - virtual void DeleteVCDData( void ); - virtual void DeleteModelData( void ); - - virtual void SetFOV( int nFOV ){ m_nFOV = nFOV; } - virtual void SetPanelDirty( void ){ m_bPanelDirty = true; } - virtual bool SetSequence( const char *pszSequence ); - - MESSAGE_FUNC_PARAMS( OnAddAnimation, "AddAnimation", data ); - MESSAGE_FUNC_PARAMS( OnSetAnimation, "SetAnimation", data ); - - void SetDefaultAnimation( const char *pszName ); - void SwapModel( const char *pszName, const char *pszAttached = NULL ); - - virtual void ParseModelInfo( KeyValues *inResourceData ); - - void ClearAttachedModelInfos( void ); - - void CalculateFrameDistance( void ); - void ZoomToFrameDistance( void ); - -public: // IGameEventListener: - virtual void FireGameEvent( IGameEvent * event ); - -protected: - virtual void SetupModel( void ); - virtual void SetupVCD( void ); - virtual const char *GetModelName( void ); - -private: - void InitCubeMaps(); - int FindAnimByName( const char *pszName ); - void CalculateFrameDistanceInternal( const model_t *pModel ); - -public: - int m_nFOV; - float m_flFrameDistance; - bool m_bStartFramed; - CModelPanelModelInfo *m_pModelInfo; - - CHandle m_hModel; - CUtlVector > m_AttachedModels; - - CHandle m_hScene; - -private: - bool m_bPanelDirty; - int m_iDefaultAnimation; - - bool m_bAllowOffscreen; - - CTextureReference m_DefaultEnvCubemap; - CTextureReference m_DefaultHDREnvCubemap; -}; - - -#endif // BASEMODELPANEL_H +//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef BASEMODELPANEL_H +#define BASEMODELPANEL_H +#ifdef _WIN32 +#pragma once +#endif + +#include +#include +#include +#include "gameeventlistener.h" +#include "KeyValues.h" + +class C_SceneEntity; + + +class CModelPanelModel : public C_BaseFlex +{ +public: + CModelPanelModel(){} + DECLARE_CLASS( CModelPanelModel, C_BaseFlex ); + + virtual bool IsMenuModel() const{ return true; } +}; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CModelPanelModelAnimation +{ +public: + CModelPanelModelAnimation() + { + m_pszName = NULL; + m_pszSequence = NULL; + m_pszActivity = NULL; + m_pPoseParameters = NULL; + m_bDefault = false; + } + + ~CModelPanelModelAnimation() + { + if ( m_pszName && m_pszName[0] ) + { + delete [] m_pszName; + m_pszName = NULL; + } + + if ( m_pszSequence && m_pszSequence[0] ) + { + delete [] m_pszSequence; + m_pszSequence = NULL; + } + + if ( m_pszActivity && m_pszActivity[0] ) + { + delete [] m_pszActivity; + m_pszActivity = NULL; + } + + if ( m_pPoseParameters ) + { + m_pPoseParameters->deleteThis(); + m_pPoseParameters = NULL; + } + } + +public: + const char *m_pszName; + const char *m_pszSequence; + const char *m_pszActivity; + KeyValues *m_pPoseParameters; + bool m_bDefault; +}; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CModelPanelAttachedModelInfo +{ +public: + CModelPanelAttachedModelInfo() + { + m_pszModelName = NULL; + m_nSkin = 0; + } + + ~CModelPanelAttachedModelInfo() + { + if ( m_pszModelName && m_pszModelName[0] ) + { + delete [] m_pszModelName; + m_pszModelName = NULL; + } + } + +public: + const char *m_pszModelName; + int m_nSkin; +}; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CModelPanelModelInfo +{ +public: + CModelPanelModelInfo() + { + m_pszModelName = NULL; + m_pszModelName_HWM = NULL; + m_nSkin = -1; + m_vecAbsAngles.Init(); + m_vecOriginOffset.Init(); + m_vecFramedOriginOffset.Init(); + m_bUseSpotlight = false; + } + + ~CModelPanelModelInfo() + { + if ( m_pszModelName && m_pszModelName[0] ) + { + delete [] m_pszModelName; + m_pszModelName = NULL; + } + + if ( m_pszModelName_HWM && m_pszModelName_HWM[0] ) + { + delete [] m_pszModelName_HWM; + m_pszModelName_HWM = NULL; + } + + if ( m_pszVCD && m_pszVCD[0] ) + { + delete [] m_pszVCD; + m_pszVCD = NULL; + } + + m_Animations.PurgeAndDeleteElements(); + m_AttachedModelsInfo.PurgeAndDeleteElements(); + } + +public: + const char *m_pszModelName; + const char *m_pszModelName_HWM; + int m_nSkin; + const char *m_pszVCD; + Vector m_vecAbsAngles; + Vector m_vecOriginOffset; + Vector2D m_vecViewportOffset; + Vector m_vecFramedOriginOffset; + bool m_bUseSpotlight; + + CUtlVector m_Animations; + CUtlVector m_AttachedModelsInfo; +}; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CModelPanel : public vgui::EditablePanel, public CGameEventListener +{ +public: + DECLARE_CLASS_SIMPLE( CModelPanel, vgui::EditablePanel ); + + CModelPanel( vgui::Panel *parent, const char *name ); + virtual ~CModelPanel(); + + virtual void Paint(); + virtual void ApplySettings( KeyValues *inResourceData ); + virtual void DeleteVCDData( void ); + virtual void DeleteModelData( void ); + + virtual void SetFOV( int nFOV ){ m_nFOV = nFOV; } + virtual void SetPanelDirty( void ){ m_bPanelDirty = true; } + virtual bool SetSequence( const char *pszSequence ); + + MESSAGE_FUNC_PARAMS( OnAddAnimation, "AddAnimation", data ); + MESSAGE_FUNC_PARAMS( OnSetAnimation, "SetAnimation", data ); + + void SetDefaultAnimation( const char *pszName ); + void SwapModel( const char *pszName, const char *pszAttached = NULL ); + + virtual void ParseModelInfo( KeyValues *inResourceData ); + + void ClearAttachedModelInfos( void ); + + void CalculateFrameDistance( void ); + void ZoomToFrameDistance( void ); + +public: // IGameEventListener: + virtual void FireGameEvent( IGameEvent * event ); + +protected: + virtual void SetupModel( void ); + virtual void SetupVCD( void ); + virtual const char *GetModelName( void ); + +private: + void InitCubeMaps(); + int FindAnimByName( const char *pszName ); + void CalculateFrameDistanceInternal( const model_t *pModel ); + +public: + int m_nFOV; + float m_flFrameDistance; + bool m_bStartFramed; + CModelPanelModelInfo *m_pModelInfo; + + CHandle m_hModel; + CUtlVector > m_AttachedModels; + + CHandle m_hScene; + +private: + bool m_bPanelDirty; + int m_iDefaultAnimation; + + bool m_bAllowOffscreen; + + CTextureReference m_DefaultEnvCubemap; + CTextureReference m_DefaultHDREnvCubemap; +}; + + +#endif // BASEMODELPANEL_H diff --git a/game/client/hl2/c_extinguisher.cpp b/game/client/hl2/c_extinguisher.cpp index fff0b4ec..0f4e99ea 100644 --- a/game/client/hl2/c_extinguisher.cpp +++ b/game/client/hl2/c_extinguisher.cpp @@ -8,6 +8,7 @@ #include "particles_simple.h" #include "baseparticleentity.h" #include "iefx.h" +#include "fx.h" #include "decals.h" #include "beamdraw.h" #include "hud.h" diff --git a/game/client/hl2/c_npc_hydra.cpp b/game/client/hl2/c_npc_hydra.cpp index 9470ec0a..d108eafe 100644 --- a/game/client/hl2/c_npc_hydra.cpp +++ b/game/client/hl2/c_npc_hydra.cpp @@ -149,7 +149,7 @@ void C_NPC_Hydra::StandardBlendingRules( Vector pos[], Quaternion q[], float cu { VPROF( "C_NPC_Hydra::StandardBlendingRules" ); - studiohdr_t *hdr = GetModelPtr(); + const studiohdr_t *hdr = GetModelPtr()->GetRenderHdr(); if ( !hdr ) { return; @@ -169,7 +169,7 @@ void C_NPC_Hydra::StandardBlendingRules( Vector pos[], Quaternion q[], float cu { poseparam[i] = 0; } - CalcPose( hdr, NULL, pos, q, 0.0f, 0.0f, poseparam, BONE_USED_BY_ANYTHING ); + CalcPose( GetModelPtr(), NULL, pos, q, 0.0f, 0.0f, poseparam, BONE_USED_BY_ANYTHING ); // allocate arrays if (m_boneLength) diff --git a/game/client/hl2mp/c_hl2mp_player.cpp b/game/client/hl2mp/c_hl2mp_player.cpp index aab65c56..dcdeccdd 100644 --- a/game/client/hl2mp/c_hl2mp_player.cpp +++ b/game/client/hl2mp/c_hl2mp_player.cpp @@ -798,7 +798,7 @@ void C_HL2MPRagdoll::Interp_Copy( C_BaseAnimatingOverlay *pSourceEntity ) } } -void C_HL2MPRagdoll::ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ) +void C_HL2MPRagdoll::ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ) { IPhysicsObject *pPhysicsObject = VPhysicsGetObject(); diff --git a/game/client/hl2mp/c_hl2mp_player.h b/game/client/hl2mp/c_hl2mp_player.h index 7f6d1457..63c7dce3 100644 --- a/game/client/hl2mp/c_hl2mp_player.h +++ b/game/client/hl2mp/c_hl2mp_player.h @@ -150,7 +150,7 @@ public: int GetPlayerEntIndex() const; IRagdoll* GetIRagdoll() const; - void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ); + void ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ); void UpdateOnRemove( void ); virtual void SetupWeights( const matrix3x4_t *pBoneToWorld, int nFlexWeightCount, float *pFlexWeights, float *pFlexDelayedWeights ); diff --git a/game/client/physpropclientside.cpp b/game/client/physpropclientside.cpp index 00ada6e3..51d04a34 100644 --- a/game/client/physpropclientside.cpp +++ b/game/client/physpropclientside.cpp @@ -534,7 +534,7 @@ void C_PhysPropClientside::Clone( Vector &velocity ) } } -void C_PhysPropClientside::ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ) +void C_PhysPropClientside::ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ) { VPROF( "C_PhysPropClientside::ImpactTrace" ); IPhysicsObject *pPhysicsObject = VPhysicsGetObject(); diff --git a/game/client/physpropclientside.h b/game/client/physpropclientside.h index ec6a1e47..049f758f 100644 --- a/game/client/physpropclientside.h +++ b/game/client/physpropclientside.h @@ -32,7 +32,7 @@ public: virtual CollideType_t GetCollideType( void ) { return ENTITY_SHOULD_RESPOND; } virtual void StartTouch( C_BaseEntity *pOther ); virtual void HitSurface( C_BaseEntity *pOther ); - virtual void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ); + virtual void ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ); virtual bool IsClientCreated( void ) const { return true; } virtual int GetMultiplayerPhysicsMode() { return m_iPhysicsMode; } virtual float GetMass(); diff --git a/game/client/sdk/c_sdk_player.cpp b/game/client/sdk/c_sdk_player.cpp index 7c52b55b..13260f4d 100644 --- a/game/client/sdk/c_sdk_player.cpp +++ b/game/client/sdk/c_sdk_player.cpp @@ -88,7 +88,7 @@ public: int GetPlayerEntIndex() const; IRagdoll* GetIRagdoll() const; - void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ); + void ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ); private: @@ -151,7 +151,7 @@ void C_SDKRagdoll::Interp_Copy( C_BaseAnimatingOverlay *pSourceEntity ) } } -void C_SDKRagdoll::ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ) +void C_SDKRagdoll::ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ) { IPhysicsObject *pPhysicsObject = VPhysicsGetObject(); diff --git a/game/client/sdk/sdk_fx_tracers.cpp b/game/client/sdk/sdk_fx_tracers.cpp index aa065064..a51bc9a3 100644 --- a/game/client/sdk/sdk_fx_tracers.cpp +++ b/game/client/sdk/sdk_fx_tracers.cpp @@ -1,36 +1,36 @@ -//========= Copyright © 1996-2008, Valve Corporation, All rights reserved. ============// -// -// Purpose: Game-specific impact effect hooks -// -//=============================================================================// -#include "cbase.h" -#include "fx.h" -#include "c_te_effect_dispatch.h" -#include "tier0/vprof.h" -#include "fx_line.h" -#include "fx_quad.h" -#include "view.h" -#include "particles_localspace.h" -#include "dlight.h" -#include "iefx.h" -#include "ClientEffectPrecacheSystem.h" - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -extern Vector GetTracerOrigin( const CEffectData &data ); -extern void FX_TracerSound( const Vector &start, const Vector &end, int iTracerType ); - -extern ConVar muzzleflash_light; - -//----------------------------------------------------------------------------- -// Purpose: Gauss Gun's Tracer -//----------------------------------------------------------------------------- -void GaussTracerCallback( const CEffectData &data ) -{ - float flVelocity = data.m_flScale; - bool bWhiz = (data.m_fFlags & TRACER_FLAG_WHIZ); - FX_GaussTracer( (Vector&)data.m_vStart, (Vector&)data.m_vOrigin, flVelocity, bWhiz ); -} - +//========= Copyright © 1996-2008, Valve Corporation, All rights reserved. ============// +// +// Purpose: Game-specific impact effect hooks +// +//=============================================================================// +#include "cbase.h" +#include "fx.h" +#include "c_te_effect_dispatch.h" +#include "tier0/vprof.h" +#include "fx_line.h" +#include "fx_quad.h" +#include "view.h" +#include "particles_localspace.h" +#include "dlight.h" +#include "iefx.h" +#include "ClientEffectPrecacheSystem.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +extern Vector GetTracerOrigin( const CEffectData &data ); +extern void FX_TracerSound( const Vector &start, const Vector &end, int iTracerType ); + +extern ConVar muzzleflash_light; + +//----------------------------------------------------------------------------- +// Purpose: Gauss Gun's Tracer +//----------------------------------------------------------------------------- +void GaussTracerCallback( const CEffectData &data ) +{ + float flVelocity = data.m_flScale; + bool bWhiz = (data.m_fFlags & TRACER_FLAG_WHIZ); + FX_GaussTracer( (Vector&)data.m_vStart, (Vector&)data.m_vOrigin, flVelocity, bWhiz ); +} + DECLARE_CLIENT_EFFECT( "GaussTracer", GaussTracerCallback ); \ No newline at end of file diff --git a/game/server/AI_ResponseSystem.cpp b/game/server/AI_ResponseSystem.cpp index 1c76a346..aa0f3deb 100644 --- a/game/server/AI_ResponseSystem.cpp +++ b/game/server/AI_ResponseSystem.cpp @@ -1185,7 +1185,7 @@ float CResponseSystem::ScoreCriteriaAgainstRuleCriteria( const AI_CriteriaSet& s if ( verbose ) { DevMsg( "matched, weight %4.2f (s %4.2f x c %4.2f)", - score, w, c->weight ); + score, w, c->weight.GetFloat() ); } } else @@ -1574,7 +1574,7 @@ void CResponseSystem::DescribeResponseGroup( ResponseGroup *group, int selected, i == selected ? "-> " : " ", AI_Response::DescribeResponse( r->GetType() ), r->value, - r->weight ); + r->weight.GetFloat() ); } } diff --git a/game/server/CRagdollMagnet.h b/game/server/CRagdollMagnet.h index 87f20b0d..0e89aa40 100644 --- a/game/server/CRagdollMagnet.h +++ b/game/server/CRagdollMagnet.h @@ -42,4 +42,4 @@ private: Vector m_axis; }; -#endif //CRAGDOLLMAGNET_H \ No newline at end of file +#endif //CRAGDOLLMAGNET_H diff --git a/game/server/CommentarySystem.cpp b/game/server/CommentarySystem.cpp index c6d4016e..60ad9169 100644 --- a/game/server/CommentarySystem.cpp +++ b/game/server/CommentarySystem.cpp @@ -881,7 +881,7 @@ bool IsListeningToCommentary( void ) void CPointCommentaryNode::Spawn( void ) { // No model specified? - char *szModel = (char *)STRING( GetModelName() ); + const char *szModel = (char *)STRING( GetModelName() ); if (!szModel || !*szModel) { szModel = "models/extras/info_speech.mdl"; diff --git a/game/server/EffectsServer.cpp b/game/server/EffectsServer.cpp index 9c6b2744..1517bde2 100644 --- a/game/server/EffectsServer.cpp +++ b/game/server/EffectsServer.cpp @@ -124,7 +124,7 @@ void CEffectsServer::Smoke( const Vector &origin, int mModel, float flScale, flo CPVSFilter filter( origin ); if ( !SuppressTE( filter ) ) { - te->Smoke( filter, 0.0, &origin, mModel, flScale * 0.1f, flFramerate ); + te->Smoke( filter, 0.0, &origin, mModel, flScale * 0.1f, (int)flFramerate ); } } diff --git a/game/server/EntityFlame.cpp b/game/server/EntityFlame.cpp index cf4cb263..b81753ed 100644 --- a/game/server/EntityFlame.cpp +++ b/game/server/EntityFlame.cpp @@ -309,7 +309,7 @@ void CEntityFlame::FlameThink( void ) if( !m_hEntAttached->IsNPC() && hl2_episodic.GetBool() ) { - const float ENTITYFLAME_MOVE_AWAY_DIST = 24.0f; + const int ENTITYFLAME_MOVE_AWAY_DIST = 24; // Make a sound near my origin, and up a little higher (in case I'm on the ground, so NPC's still hear it) CSoundEnt::InsertSound( SOUND_MOVE_AWAY, GetAbsOrigin(), ENTITYFLAME_MOVE_AWAY_DIST, 0.1f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); CSoundEnt::InsertSound( SOUND_MOVE_AWAY, GetAbsOrigin() + Vector( 0, 0, 48.0f ), ENTITYFLAME_MOVE_AWAY_DIST, 0.1f, this, SOUNDENT_CHANNEL_REPEATING ); diff --git a/game/server/EnvBeam.cpp b/game/server/EnvBeam.cpp index a4b7f277..e4bfc244 100644 --- a/game/server/EnvBeam.cpp +++ b/game/server/EnvBeam.cpp @@ -381,7 +381,7 @@ void CEnvBeam::Strike( void ) if ( pStart == NULL || pEnd == NULL ) return; - m_speed = clamp( m_speed, 0, MAX_BEAM_SCROLLSPEED ); + m_speed = (int)clamp( m_speed, 0, MAX_BEAM_SCROLLSPEED ); int pointStart = IsStaticPointEntity( pStart ); int pointEnd = IsStaticPointEntity( pEnd ); @@ -710,7 +710,7 @@ void CEnvBeam::BeamUpdateVars( void ) m_nNumBeamEnts = 2; - m_speed = clamp( m_speed, 0, MAX_BEAM_SCROLLSPEED ); + m_speed = (int)clamp( m_speed, 0, MAX_BEAM_SCROLLSPEED ); // NOTE: If the end entity is the beam itself (and the start entity // isn't *also* the beam itself, we've got problems. This is a problem diff --git a/game/server/EnvFade.cpp b/game/server/EnvFade.cpp index d699ca40..e8b9493c 100644 --- a/game/server/EnvFade.cpp +++ b/game/server/EnvFade.cpp @@ -197,4 +197,4 @@ int CEnvFade::DrawDebugTextOverlays( void ) text_offset++; } return text_offset; -} \ No newline at end of file +} diff --git a/game/server/EventLog.cpp b/game/server/EventLog.cpp index 6a93c1e2..7268c530 100644 --- a/game/server/EventLog.cpp +++ b/game/server/EventLog.cpp @@ -249,4 +249,4 @@ bool CEventLog::Init() ListenForGameEvent( "player_connect" ); return true; -} \ No newline at end of file +} diff --git a/game/server/SkyCamera.cpp b/game/server/SkyCamera.cpp index f569690b..05e4160b 100644 --- a/game/server/SkyCamera.cpp +++ b/game/server/SkyCamera.cpp @@ -62,6 +62,7 @@ END_DATADESC() //----------------------------------------------------------------------------- // List of maps in HL2 that we must apply our skybox fog fixup hack to //----------------------------------------------------------------------------- +#ifdef HL2_DLL static const char *s_pBogusFogMaps[] = { "d1_canals_01", @@ -85,6 +86,7 @@ static const char *s_pBogusFogMaps[] = "d3_citadel_01", NULL }; +#endif //----------------------------------------------------------------------------- // Constructor, destructor @@ -135,10 +137,10 @@ void CSkyCamera::Activate( ) { if ( !Q_stricmp( s_pBogusFogMaps[i], STRING(gpGlobals->mapname) ) ) { - m_skyboxData.fog.colorPrimary.SetR( ( m_skyboxData.fog.colorPrimary.GetR() + m_skyboxData.fog.colorSecondary.GetR() ) * 0.5f ); - m_skyboxData.fog.colorPrimary.SetG( ( m_skyboxData.fog.colorPrimary.GetG() + m_skyboxData.fog.colorSecondary.GetG() ) * 0.5f ); - m_skyboxData.fog.colorPrimary.SetB( ( m_skyboxData.fog.colorPrimary.GetB() + m_skyboxData.fog.colorSecondary.GetB() ) * 0.5f ); - m_skyboxData.fog.colorPrimary.SetA( ( m_skyboxData.fog.colorPrimary.GetA() + m_skyboxData.fog.colorSecondary.GetA() ) * 0.5f ); + m_skyboxData.fog.colorPrimary.SetR( (byte)(( m_skyboxData.fog.colorPrimary.GetR() + m_skyboxData.fog.colorSecondary.GetR() ) * 0.5f) ); + m_skyboxData.fog.colorPrimary.SetG( (byte)(( m_skyboxData.fog.colorPrimary.GetG() + m_skyboxData.fog.colorSecondary.GetG() ) * 0.5f) ); + m_skyboxData.fog.colorPrimary.SetB( (byte)(( m_skyboxData.fog.colorPrimary.GetB() + m_skyboxData.fog.colorSecondary.GetB() ) * 0.5f) ); + m_skyboxData.fog.colorPrimary.SetA( (byte)(( m_skyboxData.fog.colorPrimary.GetA() + m_skyboxData.fog.colorSecondary.GetA() ) * 0.5f) ); m_skyboxData.fog.colorSecondary = m_skyboxData.fog.colorPrimary; } } diff --git a/game/server/TemplateEntities.cpp b/game/server/TemplateEntities.cpp index 1c85bcea..c7ad38cd 100644 --- a/game/server/TemplateEntities.cpp +++ b/game/server/TemplateEntities.cpp @@ -309,7 +309,7 @@ void Templates_StartUniqueInstance( void ) g_iCurrentTemplateInstance++; // Make sure there's enough room to fit it into the string - int iMax = pow(10.0f, (int)((strlen(ENTITYIO_FIXUP_STRING) - 1))); // -1 for the & + int iMax = (int)pow(10.0f, (int)((strlen(ENTITYIO_FIXUP_STRING) - 1))); // -1 for the & if ( g_iCurrentTemplateInstance >= iMax ) { // We won't hit this. diff --git a/game/server/ai_baseactor.cpp b/game/server/ai_baseactor.cpp index 169ec84a..fa62f70e 100644 --- a/game/server/ai_baseactor.cpp +++ b/game/server/ai_baseactor.cpp @@ -675,6 +675,8 @@ bool CAI_BaseActor::CheckSceneEventCompletion( CSceneEventInfo *info, float curr } } } + default: + break; } return BaseClass::CheckSceneEventCompletion( info, currenttime, scene, event ); @@ -1784,6 +1786,8 @@ void CAI_BaseActor::PlayExpressionForState( NPC_STATE state ) SetExpression( STRING(m_iszDeathExpression) ); } break; + default: + break; } } diff --git a/game/server/ai_baseactor.h b/game/server/ai_baseactor.h index a9ac4325..bb0f9792 100644 --- a/game/server/ai_baseactor.h +++ b/game/server/ai_baseactor.h @@ -81,11 +81,11 @@ public: m_flBlinktime( 0 ), m_hLookTarget( NULL ), m_iszExpressionScene( NULL_STRING ), + m_iszExpressionOverride( NULL_STRING ), m_iszIdleExpression( NULL_STRING ), m_iszAlertExpression( NULL_STRING ), m_iszCombatExpression( NULL_STRING ), - m_iszDeathExpression( NULL_STRING ), - m_iszExpressionOverride( NULL_STRING ) + m_iszDeathExpression( NULL_STRING ) { memset( m_flextarget, 0, 64 * sizeof( m_flextarget[0] ) ); } diff --git a/game/server/ai_basenpc.cpp b/game/server/ai_basenpc.cpp index daa0b3f6..4ce849c0 100644 --- a/game/server/ai_basenpc.cpp +++ b/game/server/ai_basenpc.cpp @@ -171,8 +171,12 @@ extern ConVar ai_vehicle_avoidance; #ifdef DEBUG_AI_FRAME_THINK_LIMITS #define DbgFrameLimitMsg DevMsg #else +#if defined __GNUC__ || (defined _MSC_VER && _MSC_VER >= 1400) +#define DbgFrameLimitMsg(...) +#else #define DbgFrameLimitMsg (void) #endif +#endif // NPC damage adjusters ConVar sk_npc_head( "sk_npc_head","2" ); @@ -311,7 +315,7 @@ CJob *g_pQueuedNavigationQueryJob = NULL; static void ProcessNavigationQueries( CFunctor **pData, unsigned int nCount ) { // Run all queued navigation on a separate thread - for ( int i = 0; i < nCount; i++ ) + for ( unsigned int i = 0; i < nCount; i++ ) { (*pData[i])(); } @@ -1067,7 +1071,7 @@ void CAI_BaseNPC::DecalTrace( trace_t *pTrace, char const *decalName ) //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- -void CAI_BaseNPC::ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ) +void CAI_BaseNPC::ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ) { if ( m_fNoDamageDecal ) { @@ -1356,7 +1360,7 @@ class CTriggerTraceEnum : public IEntityEnumerator { public: CTriggerTraceEnum( Ray_t *pRay, const CTakeDamageInfo &info, const Vector& dir, int contentsMask ) : - m_info( info ), m_VecDir(dir), m_ContentsMask(contentsMask), m_pRay(pRay) + m_VecDir(dir), m_ContentsMask(contentsMask), m_pRay(pRay), m_info( info ) { } @@ -1537,12 +1541,12 @@ void CBaseEntity::CreateBubbleTrailTracer( const Vector &vecShotSrc, const Vecto if ( flLengthSqr > SHOT_UNDERWATER_BUBBLE_DIST * SHOT_UNDERWATER_BUBBLE_DIST ) { VectorMA( vecShotSrc, SHOT_UNDERWATER_BUBBLE_DIST, vecShotDir, vecBubbleEnd ); - nBubbles = WATER_BULLET_BUBBLES_PER_INCH * SHOT_UNDERWATER_BUBBLE_DIST; + nBubbles = static_cast(WATER_BULLET_BUBBLES_PER_INCH * SHOT_UNDERWATER_BUBBLE_DIST); } else { float flLength = sqrt(flLengthSqr) - 0.1f; - nBubbles = WATER_BULLET_BUBBLES_PER_INCH * flLength; + nBubbles = static_cast(WATER_BULLET_BUBBLES_PER_INCH * flLength); VectorMA( vecShotSrc, flLength, vecShotDir, vecBubbleEnd ); } @@ -2220,7 +2224,7 @@ CBaseGrenade* CAI_BaseNPC::IncomingGrenade(void) continue; // Check if it's near me - iDist = ( pBG->GetAbsOrigin() - GetAbsOrigin() ).Length(); + iDist = (int)(pBG->GetAbsOrigin() - GetAbsOrigin()).Length(); if ( iDist <= NPC_GRENADE_FEAR_DIST ) return pBG; @@ -3320,7 +3324,7 @@ void CAI_BaseNPC::UpdateEfficiency( bool bInPVS ) int iPVSOffset = (bInPVS) ? 0 : NO_PVS_OFFSET; int iMapping = iStateOffset + iPVSOffset + iFacingOffset + range; - Assert( iMapping < ARRAYSIZE( mappings ) ); + Assert( iMapping < (int)ARRAYSIZE( mappings ) ); AI_Efficiency_t efficiency = mappings[iMapping]; @@ -3602,7 +3606,7 @@ void CAI_BaseNPC::RebalanceThinks() { rebalanceCandidates.Sort( ThinkRebalanceCompare ); - int iMaxThinkersPerTick = ceil( (float)( rebalanceCandidates.Count() + 1 ) / (float)iTicksPer10Hz ); // +1 to account for "this" + int iMaxThinkersPerTick = (int)ceil( (float)((rebalanceCandidates.Count() + 1) / iTicksPer10Hz) ); // +1 to account for "this" int iCurTickDistributing = min( gpGlobals->tickcount, rebalanceCandidates[0].iNextThinkTick ); int iRemainingThinksToDistribute = iMaxThinkersPerTick - 1; // Start with one fewer first time because "this" is @@ -4376,6 +4380,8 @@ void CAI_BaseNPC::SetState( NPC_STATE State ) DevMsg( 2, "Stripped\n" ); } break; + default: + break; } bool fNotifyChange = false; @@ -5074,6 +5080,8 @@ NPC_STATE CAI_BaseNPC::SelectIdealState( void ) m_pSquad->SquadNewEnemy( GetEnemy() ); } break; + default: + break; } } @@ -5118,6 +5126,9 @@ NPC_STATE CAI_BaseNPC::SelectIdealState( void ) case NPC_STATE_DEAD: return NPC_STATE_DEAD; + + default: + break; } // The best ideal state is the current ideal state. @@ -5144,7 +5155,7 @@ void CAI_BaseNPC::GiveWeapon( string_t iszWeaponName ) // If I have a name, make my weapon match it with "_weapon" appended if ( GetEntityName() != NULL_STRING ) { - pWeapon->SetName( AllocPooledString(UTIL_VarArgs("%s_weapon", GetEntityName())) ); + pWeapon->SetName( AllocPooledString(UTIL_VarArgs("%s_weapon", STRING(GetEntityName()))) ); } Weapon_Equip( pWeapon ); @@ -6395,6 +6406,8 @@ bool CAI_BaseNPC::IsActivityMovementPhased( Activity activity ) case ACT_RUN_CROUCH_AIM: case ACT_RUN_PROTECTED: return true; + default: + break; } return false; } @@ -6415,7 +6428,7 @@ void CAI_BaseNPC::OnChangeActivity( Activity eNewActivity ) //========================================================= // SetSequenceByName //========================================================= -void CAI_BaseNPC::SetSequenceByName( char *szSequence ) +void CAI_BaseNPC::SetSequenceByName( const char *szSequence ) { int iSequence = LookupSequence( szSequence ); @@ -6853,7 +6866,7 @@ void CAI_BaseNPC::NPCInit ( void ) // If I have a name, make my weapon match it with "_weapon" appended if ( GetEntityName() != NULL_STRING ) { - pWeapon->SetName( AllocPooledString(UTIL_VarArgs("%s_weapon", GetEntityName())) ); + pWeapon->SetName( AllocPooledString(UTIL_VarArgs("%s_weapon", STRING(GetEntityName()))) ); } if ( GetEffects() & EF_NOSHADOW ) @@ -7776,7 +7789,7 @@ CBaseEntity *CAI_BaseNPC::BestEnemy( void ) DbgEnemyMsg( this, " (%s displaced)\n", pBestEnemy->GetDebugName() ); iBestPriority = IRelationPriority ( pEnemy ); - iBestDistSq = (pEnemy->GetAbsOrigin() - GetAbsOrigin() ).LengthSqr(); + iBestDistSq = (int)(pEnemy->GetAbsOrigin() - GetAbsOrigin()).LengthSqr(); pBestEnemy = pEnemy; bBestUnreachable = bUnreachable; fBestSeen = TRS_NONE; @@ -7792,7 +7805,7 @@ CBaseEntity *CAI_BaseNPC::BestEnemy( void ) // currently think is the best visible enemy. No need to do // a distance check, just get mad at this one for now. iBestPriority = IRelationPriority ( pEnemy ); - iBestDistSq = ( pEnemy->GetAbsOrigin() - GetAbsOrigin() ).LengthSqr(); + iBestDistSq = (int)(pEnemy->GetAbsOrigin() - GetAbsOrigin()).LengthSqr(); pBestEnemy = pEnemy; bBestUnreachable = bUnreachable; fBestSeen = TRS_NONE; @@ -7803,7 +7816,7 @@ CBaseEntity *CAI_BaseNPC::BestEnemy( void ) // this entity is disliked just as much as the entity that // we currently think is the best visible enemy, so we only // get mad at it if it is closer. - iDistSq = ( pEnemy->GetAbsOrigin() - GetAbsOrigin() ).LengthSqr(); + iDistSq = (int)(pEnemy->GetAbsOrigin() - GetAbsOrigin()).LengthSqr(); bool bAcceptCurrent = false; bool bCloser = ( ( iBestDistSq - iDistSq ) > EnemyDistTolerance() ); @@ -7967,6 +7980,8 @@ Activity CAI_BaseNPC::GetReloadActivity( CAI_Hint* pHint ) } break; } + default: + break; } } return nReloadActivity; @@ -7998,6 +8013,8 @@ Activity CAI_BaseNPC::GetCoverActivity( CAI_Hint *pHint ) nCoverActivity = ACT_COVER_LOW; break; } + default: + break; } } @@ -8014,7 +8031,7 @@ Activity CAI_BaseNPC::GetCoverActivity( CAI_Hint *pHint ) //========================================================= float CAI_BaseNPC::CalcIdealYaw( const Vector &vecTarget ) { - Vector vecProjection; + Vector vecProjection = Vector(0.0f, 0.0f, 0.0f); // strafing npc needs to face 90 degrees away from its goal if ( GetNavigator()->GetMovementActivity() == ACT_STRAFE_LEFT ) @@ -8789,9 +8806,9 @@ void CAI_BaseNPC::DrawDebugGeometryOverlays(void) CBaseCombatCharacter *npcEnemy = (eMemory->hEnemy)->MyCombatCharacterPointer(); if (npcEnemy) { - float r,g,b; + int r,g,b; char debugText[255]; - debugText[0] = NULL; + debugText[0] = '\0'; if (npcEnemy == GetEnemy()) { @@ -8983,7 +9000,7 @@ int CAI_BaseNPC::DrawDebugTextOverlays(void) // Print State // -------------- static const char *pStateNames[] = { "None", "Idle", "Alert", "Combat", "Scripted", "PlayDead", "Dead" }; - if ( (int)m_NPCState < ARRAYSIZE(pStateNames) ) + if ( (size_t)m_NPCState < ARRAYSIZE(pStateNames) ) { Q_snprintf(tempstr,sizeof(tempstr),"Stat: %s, ", pStateNames[m_NPCState] ); EntityText(text_offset,tempstr,0); @@ -9005,7 +9022,7 @@ int CAI_BaseNPC::DrawDebugTextOverlays(void) // ----------------- if( GetHintGroup() != NULL_STRING ) { - Q_snprintf(tempstr,sizeof(tempstr),"Hint Group: %s", GetHintGroup() ); + Q_snprintf(tempstr,sizeof(tempstr),"Hint Group: %s", STRING(GetHintGroup()) ); EntityText(text_offset,tempstr,0); text_offset++; } @@ -9015,8 +9032,8 @@ int CAI_BaseNPC::DrawDebugTextOverlays(void) // ----------------- int navTypeIndex = (int)GetNavType() + 1; static const char *pMoveNames[] = { "None", "Ground", "Jump", "Fly", "Climb" }; - Assert( navTypeIndex >= 0 && navTypeIndex < ARRAYSIZE(pMoveNames) ); - if ( navTypeIndex < ARRAYSIZE(pMoveNames) ) + Assert( navTypeIndex >= 0 && navTypeIndex < (int)ARRAYSIZE(pMoveNames) ); + if ( navTypeIndex < (int)ARRAYSIZE(pMoveNames) ) { Q_snprintf(tempstr,sizeof(tempstr),"Move: %s, ", pMoveNames[navTypeIndex] ); EntityText(text_offset,tempstr,0); @@ -9258,7 +9275,7 @@ void CAI_BaseNPC::ReportAIState( void ) static const char *pStateNames[] = { "None", "Idle", "Alert", "Combat", "Scripted", "PlayDead", "Dead" }; DevMsg( "%s: ", GetClassname() ); - if ( (int)m_NPCState < ARRAYSIZE(pStateNames) ) + if ( (size_t)m_NPCState < ARRAYSIZE(pStateNames) ) DevMsg( "State: %s, ", pStateNames[m_NPCState] ); if( m_Activity != ACT_INVALID && m_IdealActivity != ACT_INVALID ) @@ -9773,7 +9790,7 @@ Vector CAI_BaseNPC::GetActualShootTrajectory( const Vector &shootOrigin ) return shotDir; } -#endif HL2_DLL +#endif // HL2_DLL //----------------------------------------------------------------------------- @@ -10336,7 +10353,7 @@ void CAI_BaseNPC::PickupWeapon( CBaseCombatWeapon *pWeapon ) //========================================================= // DropItem - dead npc drops named item //========================================================= -CBaseEntity *CAI_BaseNPC::DropItem ( char *pszItemName, Vector vecPos, QAngle vecAng ) +CBaseEntity *CAI_BaseNPC::DropItem ( const char *pszItemName, Vector vecPos, QAngle vecAng ) { if ( !pszItemName ) { @@ -10419,7 +10436,7 @@ bool CAI_BaseNPC::ShouldPlayIdleSound( void ) //----------------------------------------------------------------------------- void CAI_BaseNPC::MakeAIFootstepSound( float volume, float duration ) { - CSoundEnt::InsertSound( SOUND_COMBAT, EyePosition(), volume, duration, this, SOUNDENT_CHANNEL_NPC_FOOTSTEP ); + CSoundEnt::InsertSound( SOUND_COMBAT, EyePosition(), (int)volume, duration, this, SOUNDENT_CHANNEL_NPC_FOOTSTEP ); } //----------------------------------------------------------------------------- @@ -10952,7 +10969,7 @@ int CAI_BaseNPC::Save( ISave &save ) { const char *pszSchedule = m_pSchedule->GetName(); - Assert( Q_strlen( pszSchedule ) < sizeof( saveHeader.szSchedule ) - 1 ); + Assert( Q_strlen( pszSchedule ) < (int)sizeof( saveHeader.szSchedule ) - 1 ); Q_strncpy( saveHeader.szSchedule, pszSchedule, sizeof( saveHeader.szSchedule ) ); CRC32_Init( &saveHeader.scheduleCrc ); @@ -10973,7 +10990,7 @@ int CAI_BaseNPC::Save( ISave &save ) if ( pIdealSchedule ) { const char *pszIdealSchedule = pIdealSchedule->GetName(); - Assert( Q_strlen( pszIdealSchedule ) < sizeof( saveHeader.szIdealSchedule ) - 1 ); + Assert( Q_strlen( pszIdealSchedule ) < (int)sizeof( saveHeader.szIdealSchedule ) - 1 ); Q_strncpy( saveHeader.szIdealSchedule, pszIdealSchedule, sizeof( saveHeader.szIdealSchedule ) ); } } @@ -10985,7 +11002,7 @@ int CAI_BaseNPC::Save( ISave &save ) if ( pFailSchedule ) { const char *pszFailSchedule = pFailSchedule->GetName(); - Assert( Q_strlen( pszFailSchedule ) < sizeof( saveHeader.szFailSchedule ) - 1 ); + Assert( Q_strlen( pszFailSchedule ) < (int)sizeof( saveHeader.szFailSchedule ) - 1 ); Q_strncpy( saveHeader.szFailSchedule, pszFailSchedule, sizeof( saveHeader.szFailSchedule ) ); } } @@ -10995,7 +11012,7 @@ int CAI_BaseNPC::Save( ISave &save ) const char *pszSequenceName = GetSequenceName( GetSequence() ); if ( pszSequenceName && *pszSequenceName ) { - Assert( Q_strlen( pszSequenceName ) < sizeof( saveHeader.szSequence ) - 1 ); + Assert( Q_strlen( pszSequenceName ) < (int)sizeof( saveHeader.szSequence ) - 1 ); Q_strncpy( saveHeader.szSequence, pszSequenceName, sizeof(saveHeader.szSequence) ); } } @@ -14015,6 +14032,8 @@ bool CAI_BaseNPC::IsCrouchedActivity( Activity activity ) case ACT_COVER_SMG1_LOW: case ACT_RELOAD_SMG1_LOW: return true; + default: + break; } return false; diff --git a/game/server/ai_basenpc.h b/game/server/ai_basenpc.h index 66c9ec6f..a8d16356 100644 --- a/game/server/ai_basenpc.h +++ b/game/server/ai_basenpc.h @@ -931,7 +931,7 @@ public: Activity GetIdealActivity( void ) { return m_IdealActivity; } void SetIdealActivity( Activity NewActivity ); void ResetIdealActivity( Activity newIdealActivity ); - void SetSequenceByName( char *szSequence ); + void SetSequenceByName( const char *szSequence ); void SetSequenceById( int iSequence ); Activity GetScriptCustomMoveActivity( void ); int GetScriptCustomMoveSequence( void ); @@ -1748,7 +1748,7 @@ public: virtual float GetHitgroupDamageMultiplier( int iHitGroup, const CTakeDamageInfo &info ); void TraceAttack( const CTakeDamageInfo &info, const Vector &vecDir, trace_t *ptr ); void DecalTrace( trace_t *pTrace, char const *decalName ); - void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ); + void ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ); virtual bool PlayerInSpread( const Vector &sourcePos, const Vector &targetPos, float flSpread, float maxDistOffCenter, bool ignoreHatedPlayers = true ); CBaseEntity * PlayerInRange( const Vector &vecLocation, float flDist ); bool PointInSpread( CBaseCombatCharacter *pCheckEntity, const Vector &sourcePos, const Vector &targetPos, const Vector &testPoint, float flSpread, float maxDistOffCenter ); @@ -1805,7 +1805,7 @@ public: virtual void PickupWeapon( CBaseCombatWeapon *pWeapon ); virtual void PickupItem( CBaseEntity *pItem ) { }; - CBaseEntity* DropItem( char *pszItemName, Vector vecPos, QAngle vecAng );// drop an item. + CBaseEntity* DropItem( const char *pszItemName, Vector vecPos, QAngle vecAng );// drop an item. //--------------------------------- @@ -2338,11 +2338,11 @@ typedef CHandle AIHANDLE; #define DEFINE_SCHEDULE( id, text ) \ scheduleIds.PushBack( #id, id ); \ - char * g_psz##id = \ - "\n Schedule" \ - "\n " #id \ - text \ - "\n"; \ + const char * g_psz##id = \ + "\n Schedule" \ + "\n " #id \ + text \ + "\n"; \ schedulesToLoad.AddToTail( (char *)g_psz##id ); //----------------- diff --git a/game/server/ai_basenpc_physicsflyer.cpp b/game/server/ai_basenpc_physicsflyer.cpp index d26ab945..2b8230b4 100644 --- a/game/server/ai_basenpc_physicsflyer.cpp +++ b/game/server/ai_basenpc_physicsflyer.cpp @@ -336,8 +336,6 @@ void CAI_BasePhysicsFlyingBot::TranslateNavGoal( CBaseEntity *pTarget, Vector &c //----------------------------------------------------------------------------- IMotionEvent::simresult_e CAI_BasePhysicsFlyingBot::Simulate( IPhysicsMotionController *pController, IPhysicsObject *pObject, float deltaTime, Vector &linear, AngularImpulse &angular ) { - static int count; - IPhysicsObject *pPhysicsObject = VPhysicsGetObject(); // Assert( pPhysicsObject ); if (!pPhysicsObject) diff --git a/game/server/ai_basenpc_schedule.cpp b/game/server/ai_basenpc_schedule.cpp index f23183d1..407944a7 100644 --- a/game/server/ai_basenpc_schedule.cpp +++ b/game/server/ai_basenpc_schedule.cpp @@ -1254,7 +1254,7 @@ void CAI_BaseNPC::StartTask( const Task_t *pTask ) { if (!GetHintNode()) { - SetHintNode( CAI_HintManager::FindHint( this, HINT_NONE, pTask->flTaskData, 2000 ) ); + SetHintNode( CAI_HintManager::FindHint( this, HINT_NONE, (int)pTask->flTaskData, 2000 ) ); } if (GetHintNode()) { @@ -1452,7 +1452,7 @@ void CAI_BaseNPC::StartTask( const Task_t *pTask ) break; case TASK_SET_SCHEDULE: - if ( !SetSchedule( pTask->flTaskData ) ) + if ( !SetSchedule( (int)pTask->flTaskData ) ) TaskFail(FAIL_SCHEDULE_NOT_FOUND); break; @@ -2713,7 +2713,7 @@ void CAI_BaseNPC::StartTask( const Task_t *pTask ) } case TASK_SPEAK_SENTENCE: { - SpeakSentence(pTask->flTaskData); + SpeakSentence((int)pTask->flTaskData); TaskComplete(); break; } @@ -3045,7 +3045,7 @@ void CAI_BaseNPC::StartTask( const Task_t *pTask ) { int iMinDist, iMaxDist, iParameter; - iParameter = pTask->flTaskData; + iParameter = (int)pTask->flTaskData; iMinDist = iParameter / 10000; iMaxDist = iParameter - (iMinDist * 10000); @@ -3584,6 +3584,7 @@ void CAI_BaseNPC::RunTask( const Task_t *pTask ) { case ACT_WALK_AIM: curActivity = ACT_WALK; break; case ACT_RUN_AIM: curActivity = ACT_RUN; break; + default: break; } if ( curActivity != followActivity ) diff --git a/game/server/ai_behavior.h b/game/server/ai_behavior.h index 6c182eca..8a21b316 100644 --- a/game/server/ai_behavior.h +++ b/game/server/ai_behavior.h @@ -15,11 +15,15 @@ #include "networkvar.h" #ifdef DEBUG +#ifdef _MSC_VER #pragma warning(push) +#endif #include +#ifdef _MSC_VER #pragma warning(pop) #pragma warning(disable:4290) #endif +#endif #if defined( _WIN32 ) #pragma once @@ -274,28 +278,28 @@ public: { if ( condition >= ID_SPACE_OFFSET && condition < ID_SPACE_OFFSET + 10000 ) // it's local to us condition = GetClassScheduleIdSpace()->ConditionLocalToGlobal( condition ); - GetOuter()->SetCondition( condition ); + CAI_ComponentWithOuter::GetOuter()->SetCondition( condition ); } bool HasCondition( int condition ) { if ( condition >= ID_SPACE_OFFSET && condition < ID_SPACE_OFFSET + 10000 ) // it's local to us condition = GetClassScheduleIdSpace()->ConditionLocalToGlobal( condition ); - return GetOuter()->HasCondition( condition ); + return CAI_ComponentWithOuter::GetOuter()->HasCondition( condition ); } bool HasInterruptCondition( int condition ) { if ( condition >= ID_SPACE_OFFSET && condition < ID_SPACE_OFFSET + 10000 ) // it's local to us condition = GetClassScheduleIdSpace()->ConditionLocalToGlobal( condition ); - return GetOuter()->HasInterruptCondition( condition ); + return CAI_ComponentWithOuter::GetOuter()->HasInterruptCondition( condition ); } void ClearCondition( int condition ) { if ( condition >= ID_SPACE_OFFSET && condition < ID_SPACE_OFFSET + 10000 ) // it's local to us condition = GetClassScheduleIdSpace()->ConditionLocalToGlobal( condition ); - GetOuter()->ClearCondition( condition ); + CAI_ComponentWithOuter::GetOuter()->ClearCondition( condition ); } protected: @@ -310,7 +314,7 @@ protected: } virtual CAI_ClassScheduleIdSpace *GetClassScheduleIdSpace() { - return GetOuter()->GetClassScheduleIdSpace(); + return CAI_ComponentWithOuter::GetOuter()->GetClassScheduleIdSpace(); } static CAI_ClassScheduleIdSpace &AccessClassScheduleIdSpaceDirect() @@ -1041,7 +1045,7 @@ inline void CAI_BehaviorHost::ChangeBehaviorTo( CAI_BehaviorBase *pNew if ( pOldBehavior ) { pOldBehavior->EndScheduleSelection(); - VacateStrategySlot(); + this->VacateStrategySlot(); } OnChangeRunningBehavior( pOldBehavior, pNewBehavior ); diff --git a/game/server/ai_behavior_assault.cpp b/game/server/ai_behavior_assault.cpp index 6fc4c17e..87a21eb7 100644 --- a/game/server/ai_behavior_assault.cpp +++ b/game/server/ai_behavior_assault.cpp @@ -350,7 +350,7 @@ void CAI_AssaultBehavior::ClearAssaultPoint( void ) } else { - DevMsg("**ERROR: Can't find next assault point: %s\n", m_hAssaultPoint->m_NextAssaultPointName ); + DevMsg("**ERROR: Can't find next assault point: %s\n", STRING(m_hAssaultPoint->m_NextAssaultPointName) ); // Bomb out of assault behavior. m_AssaultCue = CUE_NO_ASSAULT; @@ -1112,6 +1112,9 @@ bool CAI_AssaultBehavior::PollAssaultCue( void ) // Player told me to go, so go! return m_ReceivedAssaultCue == CUE_COMMANDER; break; + + default: + break; } return false; diff --git a/game/server/ai_behavior_follow.cpp b/game/server/ai_behavior_follow.cpp index 87a3d512..b0888927 100644 --- a/game/server/ai_behavior_follow.cpp +++ b/game/server/ai_behavior_follow.cpp @@ -2542,7 +2542,7 @@ AI_FollowFormation_t *AIGetFormation( AI_Formations_t formation ) { if ( formation < 0 ) formation = (AI_Formations_t)0; - else if ( formation >= ARRAYSIZE( g_AI_Formations ) ) + else if ( (size_t)formation >= ARRAYSIZE( g_AI_Formations ) ) formation = (AI_Formations_t)(ARRAYSIZE( g_AI_Formations ) - 1 ); return g_AI_Formations[formation]; diff --git a/game/server/ai_behavior_lead.cpp b/game/server/ai_behavior_lead.cpp index 5a608210..1fc5cbfb 100644 --- a/game/server/ai_behavior_lead.cpp +++ b/game/server/ai_behavior_lead.cpp @@ -268,7 +268,7 @@ bool CAI_LeadBehavior::GetClosestPointOnRoute( const Vector &targetPos, Vector * float flNearestDist = 999999999; float flPathDist, flPathDist2D; - Vector vecNearestPoint; + Vector vecNearestPoint = Vector(0.0f, 0.0f, 0.0f); Vector vecPrevPos = GetOuter()->GetAbsOrigin(); for ( ; (waypoint != NULL) ; waypoint = waypoint->GetNext() ) { @@ -934,6 +934,7 @@ void CAI_LeadBehavior::RunTask( const Task_t *pTask ) { case ACT_WALK_AIM: curActivity = ACT_WALK; break; case ACT_RUN_AIM: curActivity = ACT_RUN; break; + default: break; } if ( curActivity != followActivity ) diff --git a/game/server/ai_behavior_passenger.cpp b/game/server/ai_behavior_passenger.cpp index bac18bb4..838e756d 100644 --- a/game/server/ai_behavior_passenger.cpp +++ b/game/server/ai_behavior_passenger.cpp @@ -62,9 +62,9 @@ END_DATADESC(); // Constructor //----------------------------------------------------------------------------- CAI_PassengerBehavior::CAI_PassengerBehavior( void ) : -m_bEnabled( false ), -m_hVehicle( NULL ), -m_PassengerState( PASSENGER_STATE_OUTSIDE ), +m_PassengerState( PASSENGER_STATE_OUTSIDE ), +m_hVehicle( NULL ), +m_bEnabled( false ), m_PassengerIntent( PASSENGER_INTENT_NONE ), m_nTransitionSequence( -1 ) { @@ -231,7 +231,7 @@ void CAI_PassengerBehavior::InitVehicleState( void ) m_vehicleState.m_flNextWarningTime = gpGlobals->curtime; m_vehicleState.m_vecLastAngles = m_hVehicle->GetAbsAngles(); - Vector localVelocity; + Vector localVelocity(0.0f, 0.0f, 0.0f); GetLocalVehicleVelocity( &m_vehicleState.m_vecLastLocalVelocity ); m_vehicleState.m_flLastSpeedSqr = localVelocity.LengthSqr(); diff --git a/game/server/ai_behavior_rappel.cpp b/game/server/ai_behavior_rappel.cpp index 0e14b091..888e3ceb 100644 --- a/game/server/ai_behavior_rappel.cpp +++ b/game/server/ai_behavior_rappel.cpp @@ -53,14 +53,14 @@ void CRopeAnchor::Spawn() BaseClass::Spawn(); // Decent enough default in case something happens to our owner! - float flDist = 384; + float flDist = 384.0f; if( GetOwnerEntity() ) { flDist = fabs( GetOwnerEntity()->GetAbsOrigin().z - GetAbsOrigin().z ); } - m_hRope = CRopeKeyframe::CreateWithSecondPointDetached( this, -1, flDist, RAPPEL_ROPE_WIDTH, "cable/cable.vmt", 5, true ); + m_hRope = CRopeKeyframe::CreateWithSecondPointDetached( this, -1, (int)flDist, RAPPEL_ROPE_WIDTH, "cable/cable.vmt", 5, true ); ASSERT( m_hRope != NULL ); @@ -355,7 +355,7 @@ void CAI_RappelBehavior::BeginRappel() Vector forward; GetOuter()->GetVectors( &forward, NULL, NULL ); - CSoundEnt::InsertSound( SOUND_DANGER, tr.m_pEnt->EarPosition() - forward * 12.0f, 32.0f, 0.2f, GetOuter() ); + CSoundEnt::InsertSound( SOUND_DANGER, tr.m_pEnt->EarPosition() - forward * 12.0f, 32, 0.2f, GetOuter() ); } } diff --git a/game/server/ai_behavior_standoff.cpp b/game/server/ai_behavior_standoff.cpp index af8d9584..5037ece0 100644 --- a/game/server/ai_behavior_standoff.cpp +++ b/game/server/ai_behavior_standoff.cpp @@ -1110,7 +1110,7 @@ void CAI_MappedActivityBehavior_Temporary::UpdateTranslateActivityMap() CBaseCombatWeapon *pWeapon = GetOuter()->GetActiveWeapon(); const char *pszWeaponClass = ( pWeapon ) ? pWeapon->GetClassname() : ""; - for ( int i = 0; i < ARRAYSIZE(mappings); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(mappings); i++ ) { if ( !mappings[i].pszWeapon || stricmp( mappings[i].pszWeapon, pszWeaponClass ) == 0 ) { diff --git a/game/server/ai_blended_movement.cpp b/game/server/ai_blended_movement.cpp index 70bc3a33..55f587c9 100644 --- a/game/server/ai_blended_movement.cpp +++ b/game/server/ai_blended_movement.cpp @@ -974,7 +974,7 @@ int CAI_BlendedMotor::BuildInsertNode( int i, float flTime ) Assert( flTime > 0.0 ); - for (i; i < m_scriptTurn.Count() - 1; i++) + for (; i < m_scriptTurn.Count() - 1; i++) { if (m_scriptTurn[i].flTime < flTime) { @@ -1223,6 +1223,8 @@ void CAI_BlendedMotor::BuildVelocityScript( const AILocalMoveGoal_t &move ) script.flMaxVelocity = 0; break; */ + default: + break; } } else diff --git a/game/server/ai_blended_movement.h b/game/server/ai_blended_movement.h index b79bdcdc..71070e42 100644 --- a/game/server/ai_blended_movement.h +++ b/game/server/ai_blended_movement.h @@ -214,8 +214,8 @@ class CAI_BlendingHost : public BASE_NPC { DECLARE_CLASS_NOFRIEND( CAI_BlendingHost, BASE_NPC ); public: - const CAI_BlendedMotor *GetBlendedMotor() const { return assert_cast(GetMotor()); } - CAI_BlendedMotor * GetBlendedMotor() { return assert_cast(GetMotor()); } + const CAI_BlendedMotor *GetBlendedMotor() const { return assert_cast(this->GetMotor()); } + CAI_BlendedMotor * GetBlendedMotor() { return assert_cast(this->GetMotor()); } CAI_Motor *CreateMotor() { @@ -232,7 +232,7 @@ public: float MaxYawSpeed( void ) { - float override = GetBlendedMotor()->OverrideMaxYawSpeed( GetActivity() ); + float override = GetBlendedMotor()->OverrideMaxYawSpeed( this->GetActivity() ); if ( override != -1 ) return override; return BaseClass::MaxYawSpeed(); diff --git a/game/server/ai_default.cpp b/game/server/ai_default.cpp index d62b377e..046665ed 100644 --- a/game/server/ai_default.cpp +++ b/game/server/ai_default.cpp @@ -331,6 +331,8 @@ int CAI_BaseNPC::TranslateSchedule( int scheduleType ) return SCHED_ALERT_WALK; case NPC_STATE_COMBAT: return SCHED_COMBAT_WALK; + default: + break; } } break; diff --git a/game/server/ai_dynamiclink.h b/game/server/ai_dynamiclink.h index 9dd18485..b1487a2c 100644 --- a/game/server/ai_dynamiclink.h +++ b/game/server/ai_dynamiclink.h @@ -122,4 +122,4 @@ public: DECLARE_DATADESC(); }; -#endif // AI_DYNAMICLINK_H \ No newline at end of file +#endif // AI_DYNAMICLINK_H diff --git a/game/server/ai_eventresponse.h b/game/server/ai_eventresponse.h index 7b187ee9..5b6974a1 100644 --- a/game/server/ai_eventresponse.h +++ b/game/server/ai_eventresponse.h @@ -45,4 +45,4 @@ private: CNPCEventResponseSystem *NPCEventResponse(); -#endif // AI_EVENTRESPONSE_H \ No newline at end of file +#endif // AI_EVENTRESPONSE_H diff --git a/game/server/ai_hint.cpp b/game/server/ai_hint.cpp index 71eeabd8..2f3ca855 100644 --- a/game/server/ai_hint.cpp +++ b/game/server/ai_hint.cpp @@ -311,7 +311,7 @@ int CAI_HintManager::FindAllHints( CAI_BaseNPC *pNPC, const Vector &position, co // If we have no hints, bail int c = CAI_HintManager::gm_AllHints.Count(); if ( !c ) - return NULL; + return 0; // Remove the nearest flag. It makes now sense with random. bool hadNearest = hintCriteria.HasFlag( bits_HINT_NODE_NEAREST ); @@ -684,7 +684,7 @@ int CAI_HintManager::GetFlags( const char *token ) char *lowercase = (char *)_alloca( len + 1 ); Q_strncpy( lowercase, token, len+1 ); - strlwr( lowercase ); + Q_strlower( lowercase ); if ( strstr( "none", lowercase ) ) { @@ -1038,6 +1038,8 @@ bool CAI_Hint::IsViewable(void) case HINT_WORLD_VISUALLY_INTERESTING_DONT_AIM: case HINT_WORLD_VISUALLY_INTERESTING_STEALTH: return true; + default: + break; } return false; @@ -1625,7 +1627,7 @@ hinttypedescs_t g_pszHintDescriptions[] = //----------------------------------------------------------------------------- const char *GetHintTypeDescription( Hint_e iHintType ) { - for ( int i = 0; i < ARRAYSIZE(g_pszHintDescriptions); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(g_pszHintDescriptions); i++ ) { if ( g_pszHintDescriptions[i].iType == iHintType ) return g_pszHintDescriptions[i].pszDesc; @@ -1655,7 +1657,7 @@ void CC_ai_drop_hint( const CCommand &args ) { Msg("Invalid hint type specified. Format: ai_drop_hint \nValid hint types:\n"); - for ( int i = 0; i < ARRAYSIZE(g_pszHintDescriptions); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(g_pszHintDescriptions); i++ ) { Msg("%d : %s\n", g_pszHintDescriptions[i].iType, g_pszHintDescriptions[i].pszDesc ); } diff --git a/game/server/ai_hint.h b/game/server/ai_hint.h index 0e164231..ae1e8625 100644 --- a/game/server/ai_hint.h +++ b/game/server/ai_hint.h @@ -201,6 +201,7 @@ public: CAIHintVector &operator=( const CAIHintVector &src ) { CopyArray( src.Base(), src.Count() ); + return *this; } }; diff --git a/game/server/ai_hull.cpp b/game/server/ai_hull.cpp index f6e7bd21..e35ae789 100644 --- a/game/server/ai_hull.cpp +++ b/game/server/ai_hull.cpp @@ -11,7 +11,7 @@ struct ai_hull_t { ai_hull_t( int bit, const char *pName, const Vector &_mins, const Vector &_maxs, const Vector &_smallMins, const Vector &_smallMaxs ) - : hullBit( bit ), mins( _mins ), maxs( _maxs ), smallMins( _smallMins ), smallMaxs( _smallMaxs ), name( pName ) {} + : hullBit( bit ), name( pName ), mins( _mins ), maxs( _maxs ), smallMins( _smallMins ), smallMaxs( _smallMaxs ) {} int hullBit; const char* name; diff --git a/game/server/ai_hull.h b/game/server/ai_hull.h index 2e839ae2..35ddfdee 100644 --- a/game/server/ai_hull.h +++ b/game/server/ai_hull.h @@ -72,4 +72,4 @@ namespace NAI_Hull Hull_t LookupId(const char *szName); }; -#endif // AI_HULL_H \ No newline at end of file +#endif // AI_HULL_H diff --git a/game/server/ai_looktarget.h b/game/server/ai_looktarget.h index eff2c3e7..bf5f68e2 100644 --- a/game/server/ai_looktarget.h +++ b/game/server/ai_looktarget.h @@ -44,4 +44,4 @@ private: float m_flMaxDist; }; -#endif//AI_LOOKTARGET_H \ No newline at end of file +#endif//AI_LOOKTARGET_H diff --git a/game/server/ai_motor.cpp b/game/server/ai_motor.cpp index adef1ce8..dfc8124e 100644 --- a/game/server/ai_motor.cpp +++ b/game/server/ai_motor.cpp @@ -34,14 +34,18 @@ void DebugNoteMovementFailure() } // a place to put breakpoints +#ifdef _MSC_VER #pragma warning(push) #pragma warning(disable:4189) +#endif AIMoveResult_t DbgResult( AIMoveResult_t result ) { +#ifdef _MSC_VER if ( result < AIMR_OK ) { - int breakHere = 1; + //int breakHere = 1; } +#endif switch ( result ) { @@ -747,10 +751,11 @@ void CAI_Motor::UpdateYaw( int yawSpeed ) GetOuter()->SetUpdatedYaw(); + float yaw = static_cast(yawSpeed); float ideal, current, newYaw; - if ( yawSpeed == -1 ) - yawSpeed = GetYawSpeed(); + if ( yaw == -1.0f ) + yaw = GetYawSpeed(); // NOTE: GetIdealYaw() will never exactly be reached because UTIL_AngleMod // also truncates the angle to 16 bits of resolution. So lets truncate it here. @@ -760,7 +765,7 @@ void CAI_Motor::UpdateYaw( int yawSpeed ) // FIXME: this needs a proper interval float dt = min( 0.2, gpGlobals->curtime - GetLastThink() ); - newYaw = AI_ClampYaw( (float)yawSpeed * 10.0, current, ideal, dt ); + newYaw = AI_ClampYaw( yaw * 10.0f, current, ideal, dt ); if (newYaw != current) { @@ -908,7 +913,7 @@ AIMoveResult_t CAI_Motor::MoveNormalExecute( const AILocalMoveGoal_t &move ) AIMR_BLOCKED_WORLD, // AIM_PARTIAL_HIT_WORLD AIMR_BLOCKED_WORLD, // AIM_PARTIAL_HIT_TARGET }; - Assert( ARRAYSIZE( moveResults ) == AIM_NUM_RESULTS && fMotorResult >= 0 && fMotorResult <= ARRAYSIZE( moveResults ) ); + Assert( (AIMotorMoveResult_t)ARRAYSIZE( moveResults ) == AIM_NUM_RESULTS && fMotorResult >= 0 && fMotorResult <= (AIMotorMoveResult_t)ARRAYSIZE( moveResults ) ); AIMoveResult_t result = moveResults[fMotorResult]; diff --git a/game/server/ai_moveshoot.cpp b/game/server/ai_moveshoot.cpp index 2d00bec6..3490da29 100644 --- a/game/server/ai_moveshoot.cpp +++ b/game/server/ai_moveshoot.cpp @@ -138,6 +138,8 @@ void CAI_MoveAndShootOverlay::UpdateMoveShootActivity( bool bMoveAimAtEnemy ) case ACT_RUN: newActivity = ACT_RUN_AIM; break; + default: + break; } } else @@ -150,6 +152,8 @@ void CAI_MoveAndShootOverlay::UpdateMoveShootActivity( bool bMoveAimAtEnemy ) case ACT_RUN_AIM: newActivity = ACT_RUN; break; + default: + break; } } diff --git a/game/server/ai_movesolver.cpp b/game/server/ai_movesolver.cpp index f231f097..333b2a65 100644 --- a/game/server/ai_movesolver.cpp +++ b/game/server/ai_movesolver.cpp @@ -114,7 +114,7 @@ bool CAI_MoveSolver::Solve( const AI_MoveSuggestion_t *pSuggestions, int nSugges AI_MoveSuggestion_t *pHighSuggestion; }; - Solution_t solutions[NUM_SOLUTIONS] = { 0 }; + Solution_t solutions[NUM_SOLUTIONS] = { {0.0f, 0.0f, NULL} }; //--------------------------------- @@ -133,15 +133,15 @@ bool CAI_MoveSolver::Solve( const AI_MoveSuggestion_t *pSuggestions, int nSugges // Convert arc values to solution indices relative to right post. Right is angle down, left is angle up. float halfSpan = current.arc.span * 0.5; - int center = round( ( halfSpan * NUM_SOLUTIONS ) / 360 ); - int left = ( current.arc.span * NUM_SOLUTIONS ) / 360; + int center = (int)round( ( halfSpan * NUM_SOLUTIONS ) / 360 ); + int left = (int)( (current.arc.span * NUM_SOLUTIONS) / 360 ); float angRight = current.arc.center - halfSpan; if (angRight < 0.0) angRight += 360; - int base = ( angRight * NUM_SOLUTIONS ) / 360; + int base = (int)( (angRight * NUM_SOLUTIONS) / 360 ); // Sweep from left to right, summing the bias. For positive suggestions, // the bias is further weighted to favor the center of the arc. diff --git a/game/server/ai_namespaces.cpp b/game/server/ai_namespaces.cpp index 7e8b6a9d..ff3dc1bd 100644 --- a/game/server/ai_namespaces.cpp +++ b/game/server/ai_namespaces.cpp @@ -90,12 +90,12 @@ int CAI_GlobalNamespace::NextGlobalBase() const // CAI_LocalIdSpace::CAI_LocalIdSpace( bool fIsRoot ) - : m_pGlobalNamespace( NULL ), - m_pParentIDSpace( NULL ), - m_globalBase( (fIsRoot) ? 0 : -1 ), + : m_globalBase( (fIsRoot) ? 0 : -1 ), m_localBase( (fIsRoot) ? 0 : MAX_STRING_INDEX ), m_localTop( -1 ), - m_globalTop( -1 ) + m_globalTop( -1 ), + m_pParentIDSpace( NULL ), + m_pGlobalNamespace( NULL ) { }; diff --git a/game/server/ai_navigator.cpp b/game/server/ai_navigator.cpp index 8e0ded24..4435cb86 100644 --- a/game/server/ai_navigator.cpp +++ b/game/server/ai_navigator.cpp @@ -1221,7 +1221,6 @@ float CAI_Navigator::GetPathTimeToGoal() AI_PathNode_t CAI_Navigator::GetNearestNode() { - COMPILE_TIME_ASSERT( (int)AIN_NO_NODE == NO_NODE ); return (AI_PathNode_t)( GetPathfinder()->NearestNodeToNPC() ); } @@ -2325,6 +2324,9 @@ bool CAI_Navigator::PreMove() GetMotor()->MoveJumpStop(); break; } + + default: + break; } SetNavType( NAV_GROUND ); @@ -2530,6 +2532,8 @@ bool CAI_Navigator::Move( float flInterval ) case NAV_FLY: OnMoveBlocked( &moveResult ); break; + default: + break; } break; } @@ -3819,6 +3823,9 @@ bool CAI_Navigator::DoFindPath( void ) } } break; + + default: + break; } return returnCode; @@ -4131,18 +4138,18 @@ void CAI_Navigator::DrawDebugRouteOverlay(void) if (waypoint) { Vector RGB = GetRouteColor(waypoint->NavType(), waypoint->Flags()); - NDebugOverlay::Line(GetLocalOrigin(), waypoint->GetPos(), RGB[0],RGB[1],RGB[2], true,0); + NDebugOverlay::Line(GetLocalOrigin(), waypoint->GetPos(), (int)RGB[0], (int)RGB[1], (int)RGB[2], true,0); } while (waypoint) { Vector RGB = GetWaypointColor(waypoint->NavType()); - NDebugOverlay::Box(waypoint->GetPos(), Vector(-3,-3,-3),Vector(3,3,3), RGB[0],RGB[1],RGB[2], true,0); + NDebugOverlay::Box(waypoint->GetPos(), Vector(-3,-3,-3), Vector(3,3,3), (int)RGB[0], (int)RGB[1], (int)RGB[2], true, 0); if (waypoint->GetNext()) { Vector RGB = GetRouteColor(waypoint->GetNext()->NavType(), waypoint->GetNext()->Flags()); - NDebugOverlay::Line(waypoint->GetPos(), waypoint->GetNext()->GetPos(),RGB[0],RGB[1],RGB[2], true,0); + NDebugOverlay::Line(waypoint->GetPos(), waypoint->GetNext()->GetPos(), (int)RGB[0], (int)RGB[1], (int)RGB[2], true, 0); } waypoint = waypoint->GetNext(); } diff --git a/game/server/ai_navigator.h b/game/server/ai_navigator.h index c1fb2ec6..a3031fa2 100644 --- a/game/server/ai_navigator.h +++ b/game/server/ai_navigator.h @@ -663,12 +663,12 @@ inline AI_NavGoal_t::AI_NavGoal_t( GoalType_t type, dest(AIN_NO_DEST), destNode(AIN_NO_NODE), activity(activity), + arrivalActivity( AIN_DEF_ACTIVITY ), + arrivalSequence( ACT_INVALID ), tolerance(tolerance), maxInitialSimplificationDist(-1), flags(flags), - pTarget(pTarget), - arrivalActivity( AIN_DEF_ACTIVITY ), - arrivalSequence( ACT_INVALID ) + pTarget(pTarget) { } @@ -681,12 +681,12 @@ inline AI_NavGoal_t::AI_NavGoal_t( const Vector &dest, dest(dest), destNode(AIN_NO_NODE), activity(activity), + arrivalActivity( AIN_DEF_ACTIVITY ), + arrivalSequence( ACT_INVALID ), tolerance(tolerance), maxInitialSimplificationDist(-1), flags(flags), - pTarget(pTarget), - arrivalActivity( AIN_DEF_ACTIVITY ), - arrivalSequence( ACT_INVALID ) + pTarget(pTarget) { } @@ -700,12 +700,12 @@ inline AI_NavGoal_t::AI_NavGoal_t( GoalType_t type, dest(dest), destNode(AIN_NO_NODE), activity(activity), + arrivalActivity( AIN_DEF_ACTIVITY ), + arrivalSequence( ACT_INVALID ), tolerance(tolerance), maxInitialSimplificationDist(-1), flags(flags), - pTarget(pTarget), - arrivalActivity( AIN_DEF_ACTIVITY ), - arrivalSequence( ACT_INVALID ) + pTarget(pTarget) { } @@ -718,12 +718,12 @@ inline AI_NavGoal_t::AI_NavGoal_t( AI_PathNode_t destNode, dest(AIN_NO_DEST), destNode(destNode), activity(activity), + arrivalActivity( AIN_DEF_ACTIVITY ), + arrivalSequence( ACT_INVALID ), tolerance(tolerance), maxInitialSimplificationDist(-1), flags(flags), - pTarget(pTarget), - arrivalActivity( AIN_DEF_ACTIVITY ), - arrivalSequence( ACT_INVALID ) + pTarget(pTarget) { } @@ -737,12 +737,12 @@ inline AI_NavGoal_t::AI_NavGoal_t( GoalType_t type, dest(AIN_NO_DEST), destNode(destNode), activity(activity), + arrivalActivity( AIN_DEF_ACTIVITY ), + arrivalSequence( ACT_INVALID ), tolerance(tolerance), maxInitialSimplificationDist(-1), flags(flags), - pTarget(pTarget), - arrivalActivity( AIN_DEF_ACTIVITY ), - arrivalSequence( ACT_INVALID ) + pTarget(pTarget) { } diff --git a/game/server/ai_network.cpp b/game/server/ai_network.cpp index 5a1fa0b7..40901785 100644 --- a/game/server/ai_network.cpp +++ b/game/server/ai_network.cpp @@ -47,13 +47,13 @@ public: class CNodeFilter : public INodeListFilter { public: - CNodeFilter( CAI_BaseNPC *pNPC, const Vector &pos ) : m_pNPC(pNPC), m_pos(pos) + CNodeFilter( CAI_BaseNPC *pNPC, const Vector &pos ) : m_pos(pos), m_pNPC(pNPC) { if ( m_pNPC ) m_capabilities = m_pNPC->CapabilitiesGet(); } - CNodeFilter( const Vector &pos ) : m_pNPC(NULL), m_pos(pos) + CNodeFilter( const Vector &pos ) : m_pos(pos), m_pNPC(NULL) { } diff --git a/game/server/ai_networkmanager.cpp b/game/server/ai_networkmanager.cpp index c340095a..709a71c7 100644 --- a/game/server/ai_networkmanager.cpp +++ b/game/server/ai_networkmanager.cpp @@ -2414,7 +2414,7 @@ void CAI_NetworkBuilder::InitClimbNodePosition(CAI_Network *pNetwork, CAI_Node * { float floorZ = GetFloorZ(origin); // FIXME: don't use this - if (abs(pNode->GetOrigin().z - floorZ) < 36) + if (fabs(pNode->GetOrigin().z - floorZ) < 36.0f) { CAI_Node *new_node = pNetwork->AddNode( pNode->GetOrigin(), pNode->m_flYaw ); new_node->m_pHint = NULL; diff --git a/game/server/ai_pathfinder.cpp b/game/server/ai_pathfinder.cpp index 78fde930..f53fad83 100644 --- a/game/server/ai_pathfinder.cpp +++ b/game/server/ai_pathfinder.cpp @@ -1514,7 +1514,7 @@ AI_Waypoint_t *CAI_Pathfinder::BuildRadialRoute( const Vector &vStartPos, const vNextPos.y += flRadius * sin( flCurAngle ); // Build a route from the last position to the current one - pNextRoute = BuildLocalRoute( vLastPos, vNextPos, NULL, NULL, NO_NODE, fRouteBits, goalTolerance); + pNextRoute = BuildLocalRoute( vLastPos, vNextPos, NULL, 0, NO_NODE, fRouteBits, goalTolerance); // If we can't find a route, we failed if ( pNextRoute == NULL ) @@ -1547,7 +1547,7 @@ AI_Waypoint_t *CAI_Pathfinder::BuildRadialRoute( const Vector &vStartPos, const return NULL; // Append a path to the final position - pLastRoute = BuildLocalRoute( vLastPos, vGoalPos, NULL, NULL, NO_NODE, bAirRoute ? bits_BUILD_FLY : bits_BUILD_GROUND, goalTolerance ); + pLastRoute = BuildLocalRoute( vLastPos, vGoalPos, NULL, 0, NO_NODE, bAirRoute ? bits_BUILD_FLY : bits_BUILD_GROUND, goalTolerance ); if ( pLastRoute == NULL ) return NULL; @@ -1687,7 +1687,7 @@ public: m_moveTypes( buildFlags & ( bits_BUILD_GROUND | bits_BUILD_FLY | bits_BUILD_JUMP | bits_BUILD_CLIMB ) ), m_pRoute( NULL ) { - COMPILE_TIME_ASSERT( bits_BUILD_GROUND == bits_CAP_MOVE_GROUND && bits_BUILD_FLY == bits_CAP_MOVE_FLY && bits_BUILD_JUMP == bits_CAP_MOVE_JUMP && bits_BUILD_CLIMB == bits_CAP_MOVE_CLIMB ); + COMPILE_TIME_ASSERT( (int)bits_BUILD_GROUND == (int)bits_CAP_MOVE_GROUND && (int)bits_BUILD_FLY == (int)bits_CAP_MOVE_FLY && (int)bits_BUILD_JUMP == (int)bits_CAP_MOVE_JUMP && (int)bits_BUILD_CLIMB == (int)bits_CAP_MOVE_CLIMB ); } bool IsValid( CAI_Node *pNode ) @@ -2098,9 +2098,9 @@ void CAI_Pathfinder::CTriDebugOverlay::FadeTriOverlayLines(void) { for (int i=0;ir *= 0.5; - m_debugTriOverlayLine[i]->g *= 0.5; - m_debugTriOverlayLine[i]->b *= 0.5; + m_debugTriOverlayLine[i]->r = static_cast(m_debugTriOverlayLine[i]->r * 0.5); + m_debugTriOverlayLine[i]->g = static_cast(m_debugTriOverlayLine[i]->g * 0.5); + m_debugTriOverlayLine[i]->b = static_cast(m_debugTriOverlayLine[i]->b * 0.5); } } } diff --git a/game/server/ai_planesolver.cpp b/game/server/ai_planesolver.cpp index ee157ad3..99a7a398 100644 --- a/game/server/ai_planesolver.cpp +++ b/game/server/ai_planesolver.cpp @@ -54,8 +54,8 @@ inline float cube( float f ) CAI_PlaneSolver::CAI_PlaneSolver( CAI_BaseNPC *pNpc ) : m_pNpc( pNpc ), - m_fSolvedPrev( false ), m_PrevTarget( FLT_MAX, FLT_MAX, FLT_MAX ), + m_fSolvedPrev( false ), m_PrevSolution( 0 ), m_ClosestHaveBeenToCurrent( FLT_MAX ), m_TimeLastProgress( FLT_MAX ), diff --git a/game/server/ai_planesolver.h b/game/server/ai_planesolver.h index 62ce5568..61b0ff16 100644 --- a/game/server/ai_planesolver.h +++ b/game/server/ai_planesolver.h @@ -135,10 +135,10 @@ private: struct CircleObstacles_t { CircleObstacles_t( const Vector ¢er, float radius, CBaseEntity *pEntity, AI_MoveSuggType_t type ) - : center(center), - radius(radius), - hEntity(pEntity), - type(type) + : center(center), + radius(radius), + type(type), + hEntity(pEntity) { } diff --git a/game/server/ai_playerally.cpp b/game/server/ai_playerally.cpp index 8f359f62..c146bdcc 100644 --- a/game/server/ai_playerally.cpp +++ b/game/server/ai_playerally.cpp @@ -141,7 +141,7 @@ public: CConceptInfoMap() : CUtlMap( CaselessStringLessThan ) { - for ( int i = 0; i < ARRAYSIZE(g_ConceptInfos); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(g_ConceptInfos); i++ ) { Insert( g_ConceptInfos[i].concept, &g_ConceptInfos[i] ); } @@ -165,7 +165,7 @@ CAI_AllySpeechManager::~CAI_AllySpeechManager() void CAI_AllySpeechManager::Spawn() { Assert( g_ConceptInfoMap.Count() != 0 ); - for ( int i = 0; i < ARRAYSIZE(g_ConceptInfos); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(g_ConceptInfos); i++ ) m_ConceptTimers.Insert( AllocPooledString( g_ConceptInfos[i].concept ), CSimpleSimTimer() ); } @@ -1536,7 +1536,7 @@ bool CAI_PlayerAlly::ShouldSpeakRandom( AIConcept_t concept, int iChance ) if ( flModifier < 0.001 ) return false; - iChance = floor( (float)iChance / flModifier ); + iChance = (int)floor( iChance / flModifier ); } } diff --git a/game/server/ai_playerally.h b/game/server/ai_playerally.h index db481a57..4ac52760 100644 --- a/game/server/ai_playerally.h +++ b/game/server/ai_playerally.h @@ -14,6 +14,7 @@ #include "ai_speechfilter.h" #ifndef _WIN32 #undef min +#undef max #endif #include "stdstring.h" #ifndef _WIN32 diff --git a/game/server/ai_schedule.cpp b/game/server/ai_schedule.cpp index e60e363a..5dd4bdba 100644 --- a/game/server/ai_schedule.cpp +++ b/game/server/ai_schedule.cpp @@ -239,7 +239,7 @@ bool CAI_SchedulesManager::LoadSchedulesFromBuffer( const char *prefix, char *pS int taskNum = 0; pfile = engine->ParseFile(pfile, token, sizeof( token ) ); - while ((token[0]!=NULL) && (stricmp("Interrupts",token))) + while ((token[0] != '\0') && (stricmp("Interrupts", token))) { // Convert generic ID to sub-class specific enum int taskID = CAI_BaseNPC::GetTaskID(token); @@ -477,7 +477,7 @@ bool CAI_SchedulesManager::LoadSchedulesFromBuffer( const char *prefix, char *pS // Now read in the interrupts // ========================== pfile = engine->ParseFile(pfile, token, sizeof( token ) ); - while ((token[0]!=NULL) && (stricmp("Schedule",token))) + while ((token[0] != '\0') && (stricmp("Schedule", token))) { // Convert generic ID to sub-class specific enum int condID = CAI_BaseNPC::GetConditionID(token); diff --git a/game/server/ai_schedule.h b/game/server/ai_schedule.h index 58539e4d..3222d430 100644 --- a/game/server/ai_schedule.h +++ b/game/server/ai_schedule.h @@ -197,4 +197,4 @@ private: //----------------------------------------------------------------------------- -#endif // AI_SCHEDULE_H \ No newline at end of file +#endif // AI_SCHEDULE_H diff --git a/game/server/ai_scriptconditions.h b/game/server/ai_scriptconditions.h index 7da2e2b3..f4ba5e4b 100644 --- a/game/server/ai_scriptconditions.h +++ b/game/server/ai_scriptconditions.h @@ -104,9 +104,9 @@ public: m_flPlayerTargetFOV( 0 ), m_fPlayerTargetLOS( TRS_NONE ), m_fPlayerBlockingActor( TRS_NONE ), + m_fActorInPVS( TRS_NONE ), m_flMinTimeout( 0 ), m_flMaxTimeout( 0 ), - m_fActorInPVS( TRS_NONE ), m_fActorInVehicle( TRS_NONE ), m_fPlayerInVehicle( TRS_NONE ) { @@ -253,4 +253,4 @@ private: //============================================================================= -#endif // AI_SCRIPTCONDITIONS_H \ No newline at end of file +#endif // AI_SCRIPTCONDITIONS_H diff --git a/game/server/ai_senses.cpp b/game/server/ai_senses.cpp index d7027ab6..a6ad3706 100644 --- a/game/server/ai_senses.cpp +++ b/game/server/ai_senses.cpp @@ -41,8 +41,7 @@ CAI_SensedObjectsManager g_AI_SensedObjectsManager; //----------------------------------------------------------------------------- -#pragma pack(push) -#pragma pack(1) +#pragma pack(push, 1) struct AISightIterVal_t { @@ -254,7 +253,7 @@ CBaseEntity *CAI_Senses::GetFirstSeenEntity( AISightIter_t *pIter, seentype_t iS pIterVal->SeenArray = (char)iSeenType; int iFirstArray = ( iSeenType == SEEN_ALL ) ? 0 : iSeenType; - for ( int i = iFirstArray; i < ARRAYSIZE( m_SeenArrays ); i++ ) + for ( int i = iFirstArray; i < (int)ARRAYSIZE( m_SeenArrays ); i++ ) { if ( m_SeenArrays[i]->Count() != 0 ) { @@ -276,7 +275,7 @@ CBaseEntity *CAI_Senses::GetNextSeenEntity( AISightIter_t *pIter ) const { AISightIterVal_t *pIterVal = (AISightIterVal_t *)pIter; - for ( int i = pIterVal->array; i < ARRAYSIZE( m_SeenArrays ); i++ ) + for ( int i = pIterVal->array; i < (int)ARRAYSIZE( m_SeenArrays ); i++ ) { for ( int j = pIterVal->iNext; j < m_SeenArrays[i]->Count(); j++ ) { @@ -654,7 +653,7 @@ void CAI_Senses::PerformSensing( void ) // Look // ----------------- if( !HasSensingFlags(SENSING_FLAGS_DONT_LOOK) ) - Look( m_LookDist ); + Look( static_cast(m_LookDist) ); // ------------------ // Listen diff --git a/game/server/ai_speech.cpp b/game/server/ai_speech.cpp index 4b1ba4be..6c4326bd 100644 --- a/game/server/ai_speech.cpp +++ b/game/server/ai_speech.cpp @@ -212,12 +212,12 @@ static int g_nExpressers; #endif CAI_Expresser::CAI_Expresser( CBaseFlex *pOuter ) - : m_pOuter( pOuter ), - m_pSink( NULL ), + : m_pSink( NULL ), m_flStopTalkTime( 0 ), - m_flBlockedTalkTime( 0 ), m_flStopTalkTimeWithoutDelay( 0 ), - m_voicePitch( 100 ) + m_flBlockedTalkTime( 0 ), + m_voicePitch( 100 ), + m_pOuter( pOuter ) { #ifdef DEBUG g_nExpressers++; @@ -467,7 +467,7 @@ bool CAI_Expresser::SpeakDispatchResponse( AIConcept_t concept, AI_Response *res if ( spoke ) { m_flLastTimeAcceptedSpeak = gpGlobals->curtime; - if ( DebuggingSpeech() && g_pDeveloper->GetInt() > 0 && response && result->GetType() != RESPONSE_PRINT ) + if ( DebuggingSpeech() && g_pDeveloper->GetInt() > 0 && response[0] != '\0' && result->GetType() != RESPONSE_PRINT ) { Vector vPrintPos; GetOuter()->CollisionProp()->NormalizedToWorldSpace( Vector(0.5,0.5,1.0f), &vPrintPos ); @@ -900,7 +900,7 @@ void CAI_ExpresserHost_NPC_DoModifyOrAppendCriteria( CAI_BaseNPC *pSpeaker, AI_C } static const char *pStateNames[] = { "None", "Idle", "Alert", "Combat", "Scripted", "PlayDead", "Dead" }; - if ( (int)pSpeaker->m_NPCState < ARRAYSIZE(pStateNames) ) + if ( (int)pSpeaker->m_NPCState < (int)ARRAYSIZE(pStateNames) ) { set.AppendCriteria( "npcstate", UTIL_VarArgs( "[NPCState::%s]", pStateNames[pSpeaker->m_NPCState] ) ); } @@ -1023,4 +1023,4 @@ void CMultiplayer_Expresser::AllowMultipleScenes() void CMultiplayer_Expresser::DisallowMultipleScenes() { m_bAllowMultipleScenes = false; -} \ No newline at end of file +} diff --git a/game/server/ai_speech.h b/game/server/ai_speech.h index 36ac3bed..f7433321 100644 --- a/game/server/ai_speech.h +++ b/game/server/ai_speech.h @@ -288,15 +288,15 @@ public: virtual void PostSpeakDispatchResponse( AIConcept_t concept, AI_Response *response ) { return; } float GetResponseDuration( AI_Response *response ); - float GetTimeSpeechComplete() const { return GetExpresser()->GetTimeSpeechComplete(); } + float GetTimeSpeechComplete() const { return this->GetExpresser()->GetTimeSpeechComplete(); } - bool IsSpeaking() { return GetExpresser()->IsSpeaking(); } - bool CanSpeak() { return GetExpresser()->CanSpeak(); } - bool CanSpeakAfterMyself() { return GetExpresser()->CanSpeakAfterMyself(); } + bool IsSpeaking() { return this->GetExpresser()->IsSpeaking(); } + bool CanSpeak() { return this->GetExpresser()->CanSpeak(); } + bool CanSpeakAfterMyself() { return this->GetExpresser()->CanSpeakAfterMyself(); } - void SetSpokeConcept( AIConcept_t concept, AI_Response *response, bool bCallback = true ) { GetExpresser()->SetSpokeConcept( concept, response, bCallback ); } - float GetTimeSpokeConcept( AIConcept_t concept ) { return GetExpresser()->GetTimeSpokeConcept( concept ); } - bool SpokeConcept( AIConcept_t concept ) { return GetExpresser()->SpokeConcept( concept ); } + void SetSpokeConcept( AIConcept_t concept, AI_Response *response, bool bCallback = true ) { this->GetExpresser()->SetSpokeConcept( concept, response, bCallback ); } + float GetTimeSpokeConcept( AIConcept_t concept ) { return this->GetExpresser()->GetTimeSpokeConcept( concept ); } + bool SpokeConcept( AIConcept_t concept ) { return this->GetExpresser()->SpokeConcept( concept ); } protected: int PlaySentence( const char *pszSentence, float delay, float volume = VOL_NORM, soundlevel_t soundlevel = SNDLVL_TALKING, CBaseEntity *pListener = NULL ); @@ -312,7 +312,7 @@ protected: template inline void CAI_ExpresserHost::NoteSpeaking( float duration, float delay ) { - GetExpresser()->NoteSpeaking( duration, delay ); + this->GetExpresser()->NoteSpeaking( duration, delay ); } //----------------------------------------------------------------------------- @@ -320,8 +320,8 @@ inline void CAI_ExpresserHost::NoteSpeaking( float duration, float del template inline bool CAI_ExpresserHost::Speak( AIConcept_t concept, const char *modifiers /*= NULL*/, char *pszOutResponseChosen /*=NULL*/, size_t bufsize /* = 0 */, IRecipientFilter *filter /* = NULL */ ) { - AssertOnce( GetExpresser()->GetOuter() == this ); - return GetExpresser()->Speak( concept, modifiers, pszOutResponseChosen, bufsize, filter ); + AssertOnce( this->GetExpresser()->GetOuter() == this ); + return this->GetExpresser()->Speak( concept, modifiers, pszOutResponseChosen, bufsize, filter ); } //----------------------------------------------------------------------------- @@ -329,7 +329,7 @@ inline bool CAI_ExpresserHost::Speak( AIConcept_t concept, const char template inline int CAI_ExpresserHost::PlaySentence( const char *pszSentence, float delay, float volume, soundlevel_t soundlevel, CBaseEntity *pListener ) { - return GetExpresser()->SpeakRawSentence( pszSentence, delay, volume, soundlevel, pListener ); + return this->GetExpresser()->SpeakRawSentence( pszSentence, delay, volume, soundlevel, pListener ); } //----------------------------------------------------------------------------- @@ -341,9 +341,9 @@ inline void CAI_ExpresserHost::ModifyOrAppendCriteria( AI_CriteriaSet& { BaseClass::ModifyOrAppendCriteria( criteriaSet ); - if ( MyNPCPointer() ) + if ( this->MyNPCPointer() ) { - CAI_ExpresserHost_NPC_DoModifyOrAppendCriteria( MyNPCPointer(), criteriaSet ); + CAI_ExpresserHost_NPC_DoModifyOrAppendCriteria( this->MyNPCPointer(), criteriaSet ); } } @@ -362,7 +362,7 @@ inline IResponseSystem *CAI_ExpresserHost::GetResponseSystem() template inline AI_Response *CAI_ExpresserHost::SpeakFindResponse( AIConcept_t concept, const char *modifiers /*= NULL*/ ) { - return GetExpresser()->SpeakFindResponse( concept, modifiers ); + return this->GetExpresser()->SpeakFindResponse( concept, modifiers ); } //----------------------------------------------------------------------------- @@ -370,7 +370,7 @@ inline AI_Response *CAI_ExpresserHost::SpeakFindResponse( AIConcept_t template inline bool CAI_ExpresserHost::SpeakDispatchResponse( AIConcept_t concept, AI_Response *response ) { - if ( GetExpresser()->SpeakDispatchResponse( concept, response ) ) + if ( this->GetExpresser()->SpeakDispatchResponse( concept, response ) ) { PostSpeakDispatchResponse( concept, response ); return true; @@ -384,7 +384,7 @@ inline bool CAI_ExpresserHost::SpeakDispatchResponse( AIConcept_t conc template inline float CAI_ExpresserHost::GetResponseDuration( AI_Response *response ) { - return GetExpresser()->GetResponseDuration( response ); + return this->GetExpresser()->GetResponseDuration( response ); } //----------------------------------------------------------------------------- diff --git a/game/server/ai_squad.cpp b/game/server/ai_squad.cpp index 93947f8a..b9d3af31 100644 --- a/game/server/ai_squad.cpp +++ b/game/server/ai_squad.cpp @@ -263,7 +263,7 @@ void CAI_Squad::AddToSquad(CAI_BaseNPC *pNPC) if (m_SquadMembers.Count() == MAX_SQUAD_MEMBERS) { - DevMsg("Error!! Squad %s is too big!!! Replacing last member\n",this->m_Name); + DevMsg("Error!! Squad %s is too big!!! Replacing last member\n", STRING(this->m_Name)); m_SquadMembers.Remove(m_SquadMembers.Count()-1); } m_SquadMembers.AddToTail(pNPC); diff --git a/game/server/ai_tacticalservices.cpp b/game/server/ai_tacticalservices.cpp index 06cc2dbf..e09fb53c 100644 --- a/game/server/ai_tacticalservices.cpp +++ b/game/server/ai_tacticalservices.cpp @@ -748,7 +748,7 @@ bool CAI_TacticalServices::FindLateralLos( const Vector &vecThreat, Vector *pRes int iDelta = COVER_DELTA; // If we're limited in how far we're allowed to move laterally, don't bother checking past it - int iMaxLateralDelta = GetOuter()->GetMaxTacticalLateralMovement(); + int iMaxLateralDelta = (int)GetOuter()->GetMaxTacticalLateralMovement(); if ( iMaxLateralDelta != MAXTACLAT_IGNORE && iMaxLateralDelta < iDelta ) { iChecks = 1; diff --git a/game/server/ai_trackpather.cpp b/game/server/ai_trackpather.cpp index 66ef581a..ee91c8f5 100644 --- a/game/server/ai_trackpather.cpp +++ b/game/server/ai_trackpather.cpp @@ -805,7 +805,7 @@ CPathTrack *CAI_TrackPather::FindClosestPointOnPath( CPathTrack *pPath, float flPathDist, flPathDist2D; // NOTE: Gotta do it this crazy way because paths can be one-way. - Vector vecNearestPoint; + Vector vecNearestPoint = Vector(0.0f, 0.0f, 0.0f); Vector vecNearestPathSegment; for ( int i = 0; i < 2; ++i ) { diff --git a/game/server/baseanimating.cpp b/game/server/baseanimating.cpp index e007f295..875dc241 100644 --- a/game/server/baseanimating.cpp +++ b/game/server/baseanimating.cpp @@ -530,7 +530,7 @@ void CBaseAnimating::SetLightingOriginRelative( string_t strLightingOriginRelati { if( !pLightingOrigin ) { - DevWarning( "%s: Cannot find Lighting Origin named: %s\n", GetEntityName().ToCStr(), strLightingOriginRelative ); + DevWarning( "%s: Cannot find Lighting Origin named: %s\n", GetEntityName().ToCStr(), STRING(strLightingOriginRelative) ); } else { @@ -2527,7 +2527,7 @@ void CBaseAnimating::LockStudioHdr() if ( pStudioHdrContainer && pStudioHdrContainer->GetVirtualModel() ) { - MDLHandle_t hVirtualModel = (MDLHandle_t)pStudioHdrContainer->GetRenderHdr()->virtualModel; + MDLHandle_t hVirtualModel = (MDLHandle_t)reinterpret_cast(pStudioHdrContainer->GetRenderHdr()->virtualModel); mdlcache->LockStudioHdr( hVirtualModel ); } m_pStudioHdr = pStudioHdrContainer; // must be last to ensure virtual model correctly set up @@ -2545,7 +2545,7 @@ void CBaseAnimating::UnlockStudioHdr() mdlcache->UnlockStudioHdr( modelinfo->GetCacheHandle( mdl ) ); if ( m_pStudioHdr->GetVirtualModel() ) { - MDLHandle_t hVirtualModel = (MDLHandle_t)m_pStudioHdr->GetRenderHdr()->virtualModel; + MDLHandle_t hVirtualModel = (MDLHandle_t)reinterpret_cast(m_pStudioHdr->GetRenderHdr()->virtualModel); mdlcache->UnlockStudioHdr( hVirtualModel ); } } diff --git a/game/server/basebludgeonweapon.cpp b/game/server/basebludgeonweapon.cpp index 5c2b3831..2eef546c 100644 --- a/game/server/basebludgeonweapon.cpp +++ b/game/server/basebludgeonweapon.cpp @@ -20,7 +20,7 @@ #include "ndebugoverlay.h" #include "te_effect_dispatch.h" #include "rumble_shared.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" diff --git a/game/server/basebludgeonweapon.h b/game/server/basebludgeonweapon.h index 162db1b9..d014c07c 100644 --- a/game/server/basebludgeonweapon.h +++ b/game/server/basebludgeonweapon.h @@ -54,4 +54,4 @@ private: Activity ChooseIntersectionPointAndActivity( trace_t &hitTrace, const Vector &mins, const Vector &maxs, CBasePlayer *pOwner ); }; -#endif \ No newline at end of file +#endif diff --git a/game/server/basecombatcharacter.cpp b/game/server/basecombatcharacter.cpp index 25745758..33bd72cb 100644 --- a/game/server/basecombatcharacter.cpp +++ b/game/server/basecombatcharacter.cpp @@ -1522,8 +1522,6 @@ Killed */ void CBaseCombatCharacter::Event_Killed( const CTakeDamageInfo &info ) { - extern ConVar npc_vphysics; - // Advance life state to dying m_lifeState = LIFE_DYING; @@ -3076,7 +3074,7 @@ void RadiusDamage( const CTakeDamageInfo &info, const Vector &vecSrc, float flRa // be less than 128 units. float soundRadius = max( 128.0f, flRadius * 1.5 ); - CSoundEnt::InsertSound( SOUND_COMBAT | SOUND_CONTEXT_EXPLOSION, vecSrc, soundRadius, 0.25, info.GetInflictor() ); + CSoundEnt::InsertSound( SOUND_COMBAT | SOUND_CONTEXT_EXPLOSION, vecSrc, (int)soundRadius, 0.25, info.GetInflictor() ); } } diff --git a/game/server/basecombatweapon.cpp b/game/server/basecombatweapon.cpp index 521a141b..3c1b48fc 100644 --- a/game/server/basecombatweapon.cpp +++ b/game/server/basecombatweapon.cpp @@ -228,7 +228,7 @@ class CWeaponLOSFilter : public CTraceFilterSkipTwoEntities { DECLARE_CLASS( CWeaponLOSFilter, CTraceFilterSkipTwoEntities ); public: - CWeaponLOSFilter::CWeaponLOSFilter( IHandleEntity *pHandleEntity, IHandleEntity *pHandleEntity2, int collisionGroup ) : + CWeaponLOSFilter( IHandleEntity *pHandleEntity, IHandleEntity *pHandleEntity2, int collisionGroup ) : CTraceFilterSkipTwoEntities( pHandleEntity, pHandleEntity2, collisionGroup ), m_pVehicle( NULL ) { // If the tracing entity is in a vehicle, then ignore it diff --git a/game/server/baseentity.cpp b/game/server/baseentity.cpp index 24630395..f5a0b75a 100644 --- a/game/server/baseentity.cpp +++ b/game/server/baseentity.cpp @@ -563,8 +563,8 @@ void CBaseEntity::AddTimedOverlay( const char *msg, int endTime ) int len = strlen(msg); pNewTO->msg = new char[len + 1]; Q_strncpy(pNewTO->msg,msg, len+1); - pNewTO->msgEndTime = gpGlobals->curtime + endTime; - pNewTO->msgStartTime = gpGlobals->curtime; + pNewTO->msgEndTime = (int)gpGlobals->curtime + endTime; + pNewTO->msgStartTime = (int)gpGlobals->curtime; pNewTO->pNextTimedOverlay = m_pTimedOverlay; m_pTimedOverlay = pNewTO; } @@ -705,7 +705,7 @@ void CBaseEntity::DrawTimedOverlays(void) // If messages aren't paused fade out if (!CBaseEntity::Debug_IsPaused()) { - nAlpha = 255*((gpGlobals->curtime - pTO->msgStartTime)/(pTO->msgEndTime - pTO->msgStartTime)); + nAlpha = (int)(255*((gpGlobals->curtime - pTO->msgStartTime)/(pTO->msgEndTime - pTO->msgStartTime))); } int r = 185; int g = 145; @@ -864,7 +864,7 @@ int CBaseEntity::DrawDebugTextOverlays(void) if( m_iGlobalname != NULL_STRING ) { - Q_snprintf( tempstr, sizeof(tempstr), "GLOBALNAME: %s", m_iGlobalname ); + Q_snprintf( tempstr, sizeof(tempstr), "GLOBALNAME: %s", STRING(m_iGlobalname) ); EntityText(offset,tempstr, 0); offset++; } @@ -3577,7 +3577,7 @@ void CBaseEntity::DrawInputOverlay(const char *szInputName, CBaseEntity *pCaller { Q_snprintf( bigstring,sizeof(bigstring), "%3.1f (%s) <-- (%s)\n", gpGlobals->curtime, szInputName, pCaller ? pCaller->GetDebugName() : NULL); } - AddTimedOverlay(bigstring, 10.0); + AddTimedOverlay(bigstring, 10); if ( Value.FieldType() == FIELD_INTEGER ) { @@ -3608,7 +3608,7 @@ void CBaseEntity::DrawOutputOverlay(CEventAction *ev) { Q_snprintf( bigstring,sizeof(bigstring), "%3.1f (%s) --> (%s)\n", gpGlobals->curtime, STRING(ev->m_iTargetInput), STRING(ev->m_iTarget)); } - AddTimedOverlay(bigstring, 10.0); + AddTimedOverlay(bigstring, 10); // Now print to the console if ( ev->m_flDelay ) @@ -4649,7 +4649,7 @@ void CBaseEntity::PrecacheModelComponents( int nModelIndex ) char token[256]; const char *pOptions = pEvent->pszOptions(); nexttoken( token, pOptions, ' ' ); - if ( token ) + if ( token[0] != '\0' ) { PrecacheParticleSystem( token ); } @@ -5106,6 +5106,8 @@ void CC_Ent_Dump( const CCommand& args ) } } break; + default: + break; } // don't print out the duplicate keys @@ -6924,8 +6926,8 @@ void CBaseEntity::SUB_PerformFadeOut( void ) dt = 0.1f; } m_nRenderMode = kRenderTransTexture; - int speed = max(1,256*dt); // fade out over 1 second - SetRenderColorA( UTIL_Approach( 0, m_clrRender->a, speed ) ); + int speed = (int)max(1,256*dt); // fade out over 1 second + SetRenderColorA( (byte)UTIL_Approach( 0, m_clrRender->a, speed ) ); } bool CBaseEntity::SUB_AllowedToFade( void ) diff --git a/game/server/baseentity.h b/game/server/baseentity.h index 8ac7d1bc..778cfed5 100644 --- a/game/server/baseentity.h +++ b/game/server/baseentity.h @@ -909,7 +909,7 @@ public: bool IsWorld() { return entindex() == 0; } virtual char const *DamageDecal( int bitsDamageType, int gameMaterial ); virtual void DecalTrace( trace_t *pTrace, char const *decalName ); - virtual void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName = NULL ); + virtual void ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName = NULL ); void AddPoints( int score, bool bAllowNegativeScore ); void AddPointsToTeam( int score, bool bAllowNegativeScore ); @@ -1061,23 +1061,23 @@ public: #ifdef _DEBUG void FunctionCheck( void *pFunction, const char *name ); - ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, char *name ) + ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, const char *name ) { - COMPILE_TIME_ASSERT( sizeof(func) == 4 ); + COMPILE_TIME_ASSERT( sizeof(func) == MFP_SIZE ); m_pfnTouch = func; FunctionCheck( *(reinterpret_cast(&m_pfnTouch)), name ); return func; } - USEPTR UseSet( USEPTR func, char *name ) + USEPTR UseSet( USEPTR func, const char *name ) { - COMPILE_TIME_ASSERT( sizeof(func) == 4 ); + COMPILE_TIME_ASSERT( sizeof(func) == MFP_SIZE ); m_pfnUse = func; FunctionCheck( *(reinterpret_cast(&m_pfnUse)), name ); return func; } - ENTITYFUNCPTR BlockedSet( ENTITYFUNCPTR func, char *name ) + ENTITYFUNCPTR BlockedSet( ENTITYFUNCPTR func, const char *name ) { - COMPILE_TIME_ASSERT( sizeof(func) == 4 ); + COMPILE_TIME_ASSERT( sizeof(func) == MFP_SIZE ); m_pfnBlocked = func; FunctionCheck( *(reinterpret_cast(&m_pfnBlocked)), name ); return func; diff --git a/game/server/baseflex.cpp b/game/server/baseflex.cpp index 42ef2813..60f03802 100644 --- a/game/server/baseflex.cpp +++ b/game/server/baseflex.cpp @@ -62,9 +62,9 @@ IMPLEMENT_SERVERCLASS_ST(CBaseFlex, DT_BaseFlex) SendPropInt (SENDINFO(m_blinktoggle), 1, SPROP_UNSIGNED ), SendPropVector (SENDINFO(m_viewtarget), -1, SPROP_COORD), #ifdef HL2_DLL - SendPropFloat ( SENDINFO_VECTORELEM(m_vecViewOffset, 0), 0, SPROP_NOSCALE ), - SendPropFloat ( SENDINFO_VECTORELEM(m_vecViewOffset, 1), 0, SPROP_NOSCALE ), - SendPropFloat ( SENDINFO_VECTORELEM(m_vecViewOffset, 2), 0, SPROP_NOSCALE ), + SendPropFloat ( SENDINFO_VECTORELEM2(m_vecViewOffset, 0, x), 0, SPROP_NOSCALE ), + SendPropFloat ( SENDINFO_VECTORELEM2(m_vecViewOffset, 1, y), 0, SPROP_NOSCALE ), + SendPropFloat ( SENDINFO_VECTORELEM2(m_vecViewOffset, 2, z), 0, SPROP_NOSCALE ), SendPropVector ( SENDINFO(m_vecLean), -1, SPROP_COORD ), SendPropVector ( SENDINFO(m_vecShift), -1, SPROP_COORD ), @@ -383,6 +383,8 @@ bool CBaseFlex::ClearSceneEvent( CSceneEventInfo *info, bool fastKill, bool canc } } return true; + default: + break; } return false; } @@ -669,7 +671,7 @@ bool CBaseFlex::HandleStartGestureSceneEvent( CSceneEventInfo *info, CChoreoScen if ( looping ) { DevMsg( 1, "vcd error, gesture %s of model %s is marked as STUDIO_LOOPING!\n", - event->GetParameters(), GetModelName() ); + event->GetParameters(), STRING(GetModelName()) ); } SetLayerLooping( info->m_iLayer, false ); // force to not loop @@ -765,6 +767,9 @@ bool CBaseFlex::StartSceneEvent( CSceneEventInfo *info, CChoreoScene *scene, CCh case CChoreoEvent::EXPRESSION: // These are handled client-side return true; + + default: + break; } return false; diff --git a/game/server/basegrenade_concussion.cpp b/game/server/basegrenade_concussion.cpp index 530a45df..ae2991b7 100644 --- a/game/server/basegrenade_concussion.cpp +++ b/game/server/basegrenade_concussion.cpp @@ -47,7 +47,7 @@ void CBaseGrenadeConcussion::FallThink(void) Remove( ); return; } - CSoundEnt::InsertSound ( SOUND_DANGER, GetAbsOrigin() + GetAbsVelocity() * 0.5, GetAbsVelocity().Length( ), 0.2 ); + CSoundEnt::InsertSound ( SOUND_DANGER, GetAbsOrigin() + GetAbsVelocity() * 0.5, (int)GetAbsVelocity().Length(), 0.2 ); SetNextThink( gpGlobals->curtime + random->RandomFloat(0.05, 0.1) ); diff --git a/game/server/basemultiplayerplayer.cpp b/game/server/basemultiplayerplayer.cpp index 4075ba01..51eb5beb 100644 --- a/game/server/basemultiplayerplayer.cpp +++ b/game/server/basemultiplayerplayer.cpp @@ -329,4 +329,4 @@ uint64 CBaseMultiplayerPlayer::GetSteamIDAsUInt64( void ) return steamIDForPlayer.ConvertToUint64(); return 0; } -#endif // NO_STEAM \ No newline at end of file +#endif // NO_STEAM diff --git a/game/server/basemultiplayerplayer.h b/game/server/basemultiplayerplayer.h index 9dd62c6f..07500094 100644 --- a/game/server/basemultiplayerplayer.h +++ b/game/server/basemultiplayerplayer.h @@ -121,4 +121,4 @@ inline CBaseMultiplayerPlayer *ToBaseMultiplayerPlayer( CBaseEntity *pEntity ) #endif } -#endif // BASEMULTIPLAYERPLAYER_H \ No newline at end of file +#endif // BASEMULTIPLAYERPLAYER_H diff --git a/game/server/basetempentity.h b/game/server/basetempentity.h index b6817307..45ce4c0c 100644 --- a/game/server/basetempentity.h +++ b/game/server/basetempentity.h @@ -62,4 +62,4 @@ private: static CBaseTempEntity *s_pTempEntities; }; -#endif // BASETEMPENTITY_H \ No newline at end of file +#endif // BASETEMPENTITY_H diff --git a/game/server/baseviewmodel.h b/game/server/baseviewmodel.h index 3fddb478..c5e6844f 100644 --- a/game/server/baseviewmodel.h +++ b/game/server/baseviewmodel.h @@ -14,4 +14,4 @@ #include "baseviewmodel_shared.h" -#endif // BASEVIEWMODEL_H \ No newline at end of file +#endif // BASEVIEWMODEL_H diff --git a/game/server/bmodels.cpp b/game/server/bmodels.cpp index 360b91d6..5bc5792e 100644 --- a/game/server/bmodels.cpp +++ b/game/server/bmodels.cpp @@ -804,7 +804,7 @@ void CFuncRotating::RampPitchVol( void ) float fpitch = FANPITCHMIN + (FANPITCHMAX - FANPITCHMIN) * fpct; - int pitch = clamp(fpitch, 0, 255); + int pitch = (int)clamp(fpitch, 0, 255); if (pitch == PITCH_NORM) { pitch = PITCH_NORM - 1; diff --git a/game/server/buttons.cpp b/game/server/buttons.cpp index a15c3e42..bad2d486 100644 --- a/game/server/buttons.cpp +++ b/game/server/buttons.cpp @@ -143,19 +143,19 @@ bool CBaseButton::KeyValue( const char *szKeyName, const char *szValue ) { if (FStrEq(szKeyName, "locked_sound")) { - m_bLockedSound = atof(szValue); + m_bLockedSound = atoi(szValue); } else if (FStrEq(szKeyName, "locked_sentence")) { - m_bLockedSentence = atof(szValue); + m_bLockedSentence = atoi(szValue); } else if (FStrEq(szKeyName, "unlocked_sound")) { - m_bUnlockedSound = atof(szValue); + m_bUnlockedSound = atoi(szValue); } else if (FStrEq(szKeyName, "unlocked_sentence")) { - m_bUnlockedSentence = atof(szValue); + m_bUnlockedSentence = atoi(szValue); } else { @@ -802,7 +802,7 @@ int CBaseButton::DrawDebugTextOverlays() if (m_debugOverlays & OVERLAY_TEXT_BIT) { - static char *pszStates[] = + static const char *pszStates[] = { "Pressed", "Unpressed", @@ -1584,4 +1584,4 @@ void CMomentaryRotButton::Enable( void ) void CMomentaryRotButton::Disable( void ) { m_bDisabled = true; -} \ No newline at end of file +} diff --git a/game/server/cbase.cpp b/game/server/cbase.cpp index 23bedb0b..b0be4228 100644 --- a/game/server/cbase.cpp +++ b/game/server/cbase.cpp @@ -1222,6 +1222,7 @@ void variant_t::SetOther( void *data ) case FIELD_EHANDLE: *((EHANDLE *)data) = eVal; break; case FIELD_CLASSPTR: *((CBaseEntity **)data) = eVal; break; + default: break; } } @@ -1274,8 +1275,14 @@ bool variant_t::Convert( fieldtype_t newType ) SetBool( iVal != 0 ); return true; } + + default: + break; } break; + + default: + break; } case FIELD_FLOAT: @@ -1293,6 +1300,9 @@ bool variant_t::Convert( fieldtype_t newType ) SetBool( flVal != 0 ); return true; } + + default: + break; } break; } @@ -1380,6 +1390,9 @@ bool variant_t::Convert( fieldtype_t newType ) SetEntity( ent ); return true; } + + default: + break; } break; @@ -1399,6 +1412,9 @@ bool variant_t::Convert( fieldtype_t newType ) } return true; } + + default: + break; } break; } @@ -1479,6 +1495,9 @@ const char *variant_t::ToString( void ) const Q_strncpy( szBuf, pszName, 512 ); return (szBuf); } + + default: + break; } return("No conversion to string"); diff --git a/game/server/client.cpp b/game/server/client.cpp index e33c1e28..f58d1273 100644 --- a/game/server/client.cpp +++ b/game/server/client.cpp @@ -912,7 +912,7 @@ void CC_Player_TestDispatchEffect( const CCommand &args ) AngleVectors( vecAngles, &data.m_vNormal ); } data.m_nEntIndex = pPlayer->entindex(); - data.m_fFlags = flags; + data.m_fFlags = (int)flags; data.m_flMagnitude = magnitude; data.m_flScale = scale; DispatchEffect( (char *)args[1], data ); @@ -1306,6 +1306,7 @@ void CC_HurtMe_f(const CCommand &args) static ConCommand hurtme("hurtme", CC_HurtMe_f, "Hurts the player.\n\tArguments: ", FCVAR_CHEAT); +#ifdef _DEBUG static bool IsInGroundList( CBaseEntity *ent, CBaseEntity *ground ) { if ( !ground || !ent ) @@ -1327,6 +1328,7 @@ static bool IsInGroundList( CBaseEntity *ent, CBaseEntity *ground ) return false; } +#endif static int DescribeGroundList( CBaseEntity *ent ) { diff --git a/game/server/controlentities.cpp b/game/server/controlentities.cpp index f9e66836..cd19e016 100644 --- a/game/server/controlentities.cpp +++ b/game/server/controlentities.cpp @@ -128,7 +128,7 @@ void CTargetChangeGravity::InputChangeGrav( inputdata_t &inputdata ) // Save the gravity to restore it in InputResetGrav if ( m_iOldGrav ) - m_iOldGrav = pl->GetGravity(); + m_iOldGrav = (int)pl->GetGravity(); pl->SetGravity(m_iGravity); } diff --git a/game/server/cplane.cpp b/game/server/cplane.cpp index c6051056..f7e625c8 100644 --- a/game/server/cplane.cpp +++ b/game/server/cplane.cpp @@ -68,4 +68,4 @@ float CPlane::PointDist ( const Vector &vecPoint ) flDist = DotProduct ( m_vecNormal, vecPoint ) - m_flDist; return flDist; -} \ No newline at end of file +} diff --git a/game/server/cplane.h b/game/server/cplane.h index e1ecd9ec..f9f250a6 100644 --- a/game/server/cplane.h +++ b/game/server/cplane.h @@ -41,4 +41,4 @@ private: bool m_fInitialized; }; -#endif //CPLANE_H \ No newline at end of file +#endif //CPLANE_H diff --git a/game/server/doors.cpp b/game/server/doors.cpp index cc33ee14..d25e9d87 100644 --- a/game/server/doors.cpp +++ b/game/server/doors.cpp @@ -220,11 +220,11 @@ bool CBaseDoor::KeyValue( const char *szKeyName, const char *szValue ) { if (FStrEq(szKeyName, "locked_sentence")) { - m_bLockedSentence = atof(szValue); + m_bLockedSentence = atoi(szValue); } else if (FStrEq(szKeyName, "unlocked_sentence")) { - m_bUnlockedSentence = atof(szValue); + m_bUnlockedSentence = atoi(szValue); } else return BaseClass::KeyValue( szKeyName, szValue ); @@ -484,6 +484,8 @@ void CBaseDoor::Activate( void ) case TS_AT_BOTTOM: UpdateAreaPortals( false ); break; + default: + break; } #ifdef HL1_DLL diff --git a/game/server/effects.cpp b/game/server/effects.cpp index 4038de10..a080ebe1 100644 --- a/game/server/effects.cpp +++ b/game/server/effects.cpp @@ -988,7 +988,7 @@ void CTestEffect::Think( void ) for (i = 0; i < m_iBeam; i++) { t = (gpGlobals->curtime - m_flBeamTime[i]) / ( 3 + m_flStartTime - m_flBeamTime[i]); - m_pBeam[i]->SetBrightness( 255 * t ); + m_pBeam[i]->SetBrightness( (int)(255 * t) ); // m_pBeam[i]->SetScrollRate( 20 * t ); } SetNextThink( gpGlobals->curtime + 0.1f ); @@ -1169,11 +1169,11 @@ void CBlood::InputEmitBlood( inputdata_t &inputdata ) { if ( HasSpawnFlags( SF_BLOOD_STREAM ) ) { - UTIL_BloodStream( BloodPosition(inputdata.pActivator), Direction(), Color(), BloodAmount() ); + UTIL_BloodStream( BloodPosition(inputdata.pActivator), Direction(), Color(), (int)BloodAmount() ); } else { - UTIL_BloodDrips( BloodPosition(inputdata.pActivator), Direction(), Color(), BloodAmount() ); + UTIL_BloodDrips( BloodPosition(inputdata.pActivator), Direction(), Color(), (int)BloodAmount() ); } if ( HasSpawnFlags( SF_BLOOD_DECAL ) ) @@ -1210,7 +1210,7 @@ void CBlood::InputEmitBlood( inputdata_t &inputdata ) nFlags |= FX_BLOODSPRAY_GORE; } - UTIL_BloodSpray(GetAbsOrigin(), Direction(), Color(), BloodAmount(), nFlags); + UTIL_BloodSpray(GetAbsOrigin(), Direction(), Color(), (int)BloodAmount(), nFlags); } } @@ -1615,7 +1615,7 @@ void CEnvWind::Spawn( void ) SetSolid( SOLID_NONE ); AddEffects( EF_NODRAW ); - m_EnvWindShared.Init( entindex(), 0, gpGlobals->frametime, GetLocalAngles().y, 0 ); + m_EnvWindShared.Init( entindex(), 0, gpGlobals->frametime, (int)GetLocalAngles().y, 0 ); SetThink( &CEnvWind::WindThink ); SetNextThink( gpGlobals->curtime ); diff --git a/game/server/entityblocker.cpp b/game/server/entityblocker.cpp index 21878dad..63eb2a3d 100644 --- a/game/server/entityblocker.cpp +++ b/game/server/entityblocker.cpp @@ -73,4 +73,4 @@ void CC_Test_Entity_Blocker( void ) NDebugOverlay::Box( tr.endpos, VEC_HULL_MIN, VEC_HULL_MAX, 0, 255, 0, 64, 1000.0 ); } } -static ConCommand test_entity_blocker("test_entity_blocker", CC_Test_Entity_Blocker, "Test command that drops an entity blocker out in front of the player.", FCVAR_CHEAT ); \ No newline at end of file +static ConCommand test_entity_blocker("test_entity_blocker", CC_Test_Entity_Blocker, "Test command that drops an entity blocker out in front of the player.", FCVAR_CHEAT ); diff --git a/game/server/entitylist.cpp b/game/server/entitylist.cpp index 2ad0e0b6..4f2d10b9 100644 --- a/game/server/entitylist.cpp +++ b/game/server/entitylist.cpp @@ -6,6 +6,7 @@ //=============================================================================// #include "cbase.h" + #include "entitylist.h" #include "utlvector.h" #include "igamesystem.h" @@ -143,7 +144,7 @@ public: void Clear() { m_simThinkList.Purge(); - for ( int i = 0; i < ARRAYSIZE(m_entinfoIndex); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(m_entinfoIndex); i++ ) { m_entinfoIndex[i] = 0xFFFF; } diff --git a/game/server/env_debughistory.cpp b/game/server/env_debughistory.cpp index 358fee5b..124f9b05 100644 --- a/game/server/env_debughistory.cpp +++ b/game/server/env_debughistory.cpp @@ -134,7 +134,7 @@ void CDebugHistory::DumpDebugHistory( int iCategory ) // Find the start of the oldest whole debug line. const char *pszLine = m_DebugLineEnd[iCategory] + 1; - if ( (pszLine - m_DebugLines[iCategory]) >= sizeof(m_DebugLines[iCategory]) ) + if ( (size_t)(pszLine - m_DebugLines[iCategory]) >= sizeof(m_DebugLines[iCategory]) ) { pszLine = m_DebugLines[iCategory]; } @@ -147,7 +147,7 @@ void CDebugHistory::DumpDebugHistory( int iCategory ) pszLine++; // Have we looped? - if ( (pszLine - m_DebugLines[iCategory]) >= sizeof(m_DebugLines[iCategory]) ) + if ( (size_t)(pszLine - m_DebugLines[iCategory]) >= sizeof(m_DebugLines[iCategory]) ) { pszLine = m_DebugLines[iCategory]; } @@ -187,7 +187,7 @@ void CDebugHistory::DumpDebugHistory( int iCategory ) pszLine++; // Have we looped? - if ( (pszLine - m_DebugLines[iCategory]) >= sizeof(m_DebugLines[iCategory]) ) + if ( (size_t)(pszLine - m_DebugLines[iCategory]) >= sizeof(m_DebugLines[iCategory]) ) { pszLine = m_DebugLines[iCategory]; } diff --git a/game/server/env_screenoverlay.cpp b/game/server/env_screenoverlay.cpp index 9e18e117..37d6cb9a 100644 --- a/game/server/env_screenoverlay.cpp +++ b/game/server/env_screenoverlay.cpp @@ -49,6 +49,7 @@ BEGIN_DATADESC( CEnvScreenOverlay ) // DEFINE_ARRAY( m_iszOverlayNames, FIELD_STRING, MAX_SCREEN_OVERLAYS ), // DEFINE_ARRAY( m_flOverlayTimes, FIELD_FLOAT, MAX_SCREEN_OVERLAYS ), + /* This causes a cannot apply ‘offsetof’ when ‘operator[]’ is overloaded error in GCC 4.2 DEFINE_KEYFIELD( m_iszOverlayNames[0], FIELD_STRING, "OverlayName1" ), DEFINE_KEYFIELD( m_iszOverlayNames[1], FIELD_STRING, "OverlayName2" ), DEFINE_KEYFIELD( m_iszOverlayNames[2], FIELD_STRING, "OverlayName3" ), @@ -69,6 +70,28 @@ BEGIN_DATADESC( CEnvScreenOverlay ) DEFINE_KEYFIELD( m_flOverlayTimes[7], FIELD_FLOAT, "OverlayTime8" ), DEFINE_KEYFIELD( m_flOverlayTimes[8], FIELD_FLOAT, "OverlayTime9" ), DEFINE_KEYFIELD( m_flOverlayTimes[9], FIELD_FLOAT, "OverlayTime10" ), + */ + + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 0, FIELD_STRING, "OverlayName1" ), + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 1, FIELD_STRING, "OverlayName2" ), + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 2, FIELD_STRING, "OverlayName3" ), + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 3, FIELD_STRING, "OverlayName4" ), + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 4, FIELD_STRING, "OverlayName5" ), + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 5, FIELD_STRING, "OverlayName6" ), + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 6, FIELD_STRING, "OverlayName7" ), + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 7, FIELD_STRING, "OverlayName8" ), + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 8, FIELD_STRING, "OverlayName9" ), + DEFINE_KEYFIELD_NETARRAY( m_iszOverlayNames, 9, FIELD_STRING, "OverlayName10" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 0, FIELD_FLOAT, "OverlayTime1" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 1, FIELD_FLOAT, "OverlayTime2" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 2, FIELD_FLOAT, "OverlayTime3" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 3, FIELD_FLOAT, "OverlayTime4" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 4, FIELD_FLOAT, "OverlayTime5" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 5, FIELD_FLOAT, "OverlayTime6" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 6, FIELD_FLOAT, "OverlayTime7" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 7, FIELD_FLOAT, "OverlayTime8" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 8, FIELD_FLOAT, "OverlayTime9" ), + DEFINE_KEYFIELD_NETARRAY( m_flOverlayTimes, 9, FIELD_FLOAT, "OverlayTime10" ), // Class CEnvScreenOverlay: DEFINE_FIELD( m_iDesiredOverlay, FIELD_INTEGER ), diff --git a/game/server/env_zoom.h b/game/server/env_zoom.h index 960aabec..298d4645 100644 --- a/game/server/env_zoom.h +++ b/game/server/env_zoom.h @@ -10,4 +10,4 @@ bool CanOverrideEnvZoomOwner( CBaseEntity *pZoomOwner ); float GetZoomOwnerDesiredFOV( CBaseEntity *pZoomOwner ); -#endif //ENV_ZOOM_H \ No newline at end of file +#endif //ENV_ZOOM_H diff --git a/game/server/envmicrophone.cpp b/game/server/envmicrophone.cpp index 99ca26b1..d5224c18 100644 --- a/game/server/envmicrophone.cpp +++ b/game/server/envmicrophone.cpp @@ -85,7 +85,7 @@ void CEnvMicrophone::Spawn(void) { SF_MICROPHONE_SOUND_EXPLOSION, SOUND_CONTEXT_EXPLOSION }, }; - for (int i = 0; i < sizeof(nFlags) / sizeof(nFlags[0]); i++) + for (size_t i = 0; i < sizeof(nFlags) / sizeof(nFlags[0]); i++) { if (m_spawnflags & nFlags[i][0]) { diff --git a/game/server/episodic/ai_behavior_alyx_injured.cpp b/game/server/episodic/ai_behavior_alyx_injured.cpp index a8a2bf78..4d9cdb4a 100644 --- a/game/server/episodic/ai_behavior_alyx_injured.cpp +++ b/game/server/episodic/ai_behavior_alyx_injured.cpp @@ -90,7 +90,7 @@ void CAI_BehaviorAlyxInjured::PopulateActivityMap( void ) m_ActivityMap.RemoveAll(); // Add all translations - for ( int i = 0; i < ARRAYSIZE( map ); i++ ) + for ( size_t i = 0; i < ARRAYSIZE( map ); i++ ) { Assert( m_ActivityMap.Find( map[i].activity ) == m_ActivityMap.InvalidIndex() ); m_ActivityMap.Insert( map[i].activity, map[i].translation ); diff --git a/game/server/episodic/ai_behavior_passenger_companion.cpp b/game/server/episodic/ai_behavior_passenger_companion.cpp index 2f4d5565..67808533 100644 --- a/game/server/episodic/ai_behavior_passenger_companion.cpp +++ b/game/server/episodic/ai_behavior_passenger_companion.cpp @@ -80,13 +80,13 @@ BEGIN_SIMPLE_DATADESC( FailPosition_t ) END_DATADESC(); CAI_PassengerBehaviorCompanion::CAI_PassengerBehaviorCompanion( void ) : -m_flUnseenDuration( 0.0f ), +m_flNextJostleTime( 0.0f ), m_flNextOverturnWarning( 0.0f ), -m_flOverturnedDuration( 0.0f ), +m_flOverturnedDuration( 0.0f ), +m_flUnseenDuration( 0.0f ), m_nExitAttempts( 0 ), -m_flNextEnterAttempt( 0.0f ), m_flLastLateralLean( 0.0f ), -m_flNextJostleTime( 0.0f ) +m_flNextEnterAttempt( 0.0f ) { memset( &m_vehicleState, 0, sizeof( m_vehicleState ) ); m_VehicleMonitor.ClearMark(); @@ -818,8 +818,8 @@ bool CAI_PassengerBehaviorCompanion::CanEnterVehicleImmediately( int *pResultSeq float flSeatDistSqr; int nNearestSequence = -1; int nSequence; - Vector vecNearestPos; - QAngle vecNearestAngles; + Vector vecNearestPos(0.0f, 0.0f, 0.0f); + QAngle vecNearestAngles(0.0f, 0.0f, 0.0f); // Test each animation (sorted by priority) for the best match for ( int i = 0; i < pEntryAnims->Count(); i++ ) diff --git a/game/server/episodic/ai_behavior_passenger_zombie.cpp b/game/server/episodic/ai_behavior_passenger_zombie.cpp index b8126e67..38317b77 100644 --- a/game/server/episodic/ai_behavior_passenger_zombie.cpp +++ b/game/server/episodic/ai_behavior_passenger_zombie.cpp @@ -73,8 +73,8 @@ impactdamagetable_t gZombiePassengerImpactDamageTable = // Constructor //----------------------------------------------------------------------------- CAI_PassengerBehaviorZombie::CAI_PassengerBehaviorZombie( void ) : -m_flLastVerticalLean( 0.0f ), m_flLastLateralLean( 0.0f ), +m_flLastVerticalLean( 0.0f ), m_flNextLeapTime( 0.0f ) { } diff --git a/game/server/episodic/ep1_gamestats.cpp b/game/server/episodic/ep1_gamestats.cpp index a4909239..edd59c04 100644 --- a/game/server/episodic/ep1_gamestats.cpp +++ b/game/server/episodic/ep1_gamestats.cpp @@ -8,7 +8,7 @@ #include "cbase.h" #include "ep1_gamestats.h" -#include "tier1/UtlBuffer.h" +#include "tier1/utlbuffer.h" static CEP1GameStats s_CEP1GS_ThisJustSitsInMemory; // A bit of a hack to redirect the gamestats API for ep2 (ep3, etc.) diff --git a/game/server/episodic/ep1_gamestats.h b/game/server/episodic/ep1_gamestats.h index 7afc5ec7..55fd146a 100644 --- a/game/server/episodic/ep1_gamestats.h +++ b/game/server/episodic/ep1_gamestats.h @@ -10,7 +10,7 @@ #pragma once #endif -#include "gamestats.h" +#include "GameStats.h" class CEP1GameStats : public CBaseGameStats { diff --git a/game/server/episodic/ep2_gamestats.cpp b/game/server/episodic/ep2_gamestats.cpp index 9da14693..840f5022 100644 --- a/game/server/episodic/ep2_gamestats.cpp +++ b/game/server/episodic/ep2_gamestats.cpp @@ -7,11 +7,11 @@ #include "cbase.h" #endif #include "ep2_gamestats.h" -#include "tier1/UtlBuffer.h" +#include "tier1/utlbuffer.h" #include "vehicle_base.h" -#include "tier1/UtlString.h" +#include "tier1/utlstring.h" #include "filesystem.h" -#include "ICommandLine.h" +#include "icommandline.h" static CEP2GameStats s_CEP2GameStats_Singleton; CBaseGameStats *g_pEP2GameStats = &s_CEP2GameStats_Singleton; @@ -582,4 +582,4 @@ static void CC_ListDeaths( const CCommand &args ) Msg( "\nlisted %d deaths\n", map->m_aPlayerDeaths.Count() ); } -static ConCommand listDeaths("listdeaths", CC_ListDeaths, "lists player deaths", 0 ); \ No newline at end of file +static ConCommand listDeaths("listdeaths", CC_ListDeaths, "lists player deaths", 0 ); diff --git a/game/server/episodic/ep2_gamestats.h b/game/server/episodic/ep2_gamestats.h index 5bdbe6f8..653f53e1 100644 --- a/game/server/episodic/ep2_gamestats.h +++ b/game/server/episodic/ep2_gamestats.h @@ -11,7 +11,7 @@ #endif #include "ep1_gamestats.h" -#include "tier1/UtlString.h" +#include "tier1/utlstring.h" // EP2 Game Stats enum Ep2GameStatsVersions_t @@ -412,8 +412,8 @@ public: static const unsigned short LumpId = EP2STATS_LUMP_SAVEGAMEINFO; SaveGameInfo_t() : - m_nCurrentSaveFileTime( 0 ), - m_pCurrentRecord( NULL ) + m_pCurrentRecord( NULL ), + m_nCurrentSaveFileTime( 0 ) { } diff --git a/game/server/episodic/grenade_hopwire.cpp b/game/server/episodic/grenade_hopwire.cpp index f587b530..6d9bb2ee 100644 --- a/game/server/episodic/grenade_hopwire.cpp +++ b/game/server/episodic/grenade_hopwire.cpp @@ -38,7 +38,7 @@ class CGravityVortexController : public CBaseEntity public: - CGravityVortexController( void ) : m_flEndTime( 0.0f ), m_flRadius( 256 ), m_flStrength( 256 ), m_flMass( 0.0f ) {} + CGravityVortexController( void ) : m_flMass( 0.0f ), m_flEndTime( 0.0f ), m_flRadius( 256.0f ), m_flStrength( 256.0f ) {} float GetConsumedMass( void ) const; static CGravityVortexController *Create( const Vector &origin, float radius, float strength, float duration ); diff --git a/game/server/episodic/grenade_hopwire.h b/game/server/episodic/grenade_hopwire.h index fc063618..3b5cee4b 100644 --- a/game/server/episodic/grenade_hopwire.h +++ b/game/server/episodic/grenade_hopwire.h @@ -11,7 +11,7 @@ #endif #include "basegrenade_shared.h" -#include "sprite.h" +#include "Sprite.h" extern ConVar hopwire_trap; diff --git a/game/server/episodic/npc_advisor.cpp b/game/server/episodic/npc_advisor.cpp index fcb6c0c9..02e806a3 100644 --- a/game/server/episodic/npc_advisor.cpp +++ b/game/server/episodic/npc_advisor.cpp @@ -433,8 +433,10 @@ int __cdecl AdvisorStagingComparator(const EHANDLE *pe1, const EHANDLE *pe2) //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- +#ifdef _MSC_VER #pragma warning(push) #pragma warning(disable : 4706) +#endif void CNPC_Advisor::Activate() { @@ -468,8 +470,10 @@ void CNPC_Advisor::Activate() AssertMsg(m_hvStagingPositions.Count() > 0, "You did not specify any staging positions in the advisor's staging_ent_names !"); #endif } -#pragma warning(pop) +#ifdef _MSC_VER +#pragma warning(pop) +#endif //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- @@ -1071,7 +1075,7 @@ void CNPC_Advisor::RunTask( const Task_t *pTask ) #endif // helper function for testing whether or not an avisor is allowed to grab an object -static bool AdvisorCanPickObject(CBasePlayer *pPlayer, CBaseEntity *pEnt) +/*static bool AdvisorCanPickObject(CBasePlayer *pPlayer, CBaseEntity *pEnt) { Assert( pPlayer != NULL ); @@ -1094,7 +1098,7 @@ static bool AdvisorCanPickObject(CBasePlayer *pPlayer, CBaseEntity *pEnt) } return true; -} +}*/ #if NPC_ADVISOR_HAS_BEHAVIOR diff --git a/game/server/episodic/npc_combine_cannon.cpp b/game/server/episodic/npc_combine_cannon.cpp index f9ed921d..47a8caf3 100644 --- a/game/server/episodic/npc_combine_cannon.cpp +++ b/game/server/episodic/npc_combine_cannon.cpp @@ -466,7 +466,7 @@ void CNPC_Combine_Cannon::UpdateAncillaryBeams( float flConvergencePerc, const V UTIL_TraceLine( vecOrigin, vecOrigin + ( vecFinal * LINE_LENGTH ), MASK_SHOT, this, COLLISION_GROUP_NONE, &tr ); // Move the beam to that position - m_pAncillaryBeams[i]->SetBrightness( 255.0f * flConvergencePerc ); + m_pAncillaryBeams[i]->SetBrightness( static_cast(255.0f * flConvergencePerc) ); m_pAncillaryBeams[i]->SetEndPos( tr.startpos ); m_pAncillaryBeams[i]->SetStartPos( tr.endpos ); } @@ -523,7 +523,7 @@ void CNPC_Combine_Cannon::PaintTarget( const Vector &vecTarget, float flPaintTim // Update our beam position m_pBeam->SetEndPos( tr.startpos ); m_pBeam->SetStartPos( tr.endpos ); - m_pBeam->SetBrightness( 255.0f * flPaintPerc ); + m_pBeam->SetBrightness( static_cast(255.0f * flPaintPerc) ); m_pBeam->RelinkBeam(); // Find points around that center point and make our designators converge at that point over time @@ -834,13 +834,13 @@ bool CNPC_Combine_Cannon::FireBullet( const Vector &vecTarget, bool bDirectShot FireBulletsInfo_t info; info.m_iShots = 1; - info.m_iTracerFreq = 1.0f; + info.m_iTracerFreq = 1; info.m_vecDirShooting = vecDir; info.m_vecSrc = vecBulletOrigin; info.m_flDistance = MAX_TRACE_LENGTH; info.m_pAttacker = this; info.m_iAmmoType = m_iAmmoType; - info.m_iPlayerDamage = 20.0f; + info.m_iPlayerDamage = 20; info.m_vecSpread = Vector( 0.015f, 0.015f, 0.015f ); // medium cone FireBullets( info ); diff --git a/game/server/episodic/npc_hunter.cpp b/game/server/episodic/npc_hunter.cpp index 6544f362..1a548c97 100644 --- a/game/server/episodic/npc_hunter.cpp +++ b/game/server/episodic/npc_hunter.cpp @@ -305,8 +305,8 @@ bool HateThisStriderBuster( CBaseEntity *pTarget ) //----------------------------------------------------------------------------- static const char *s_szHunterFlechetteBubbles = "HunterFlechetteBubbles"; static const char *s_szHunterFlechetteSeekThink = "HunterFlechetteSeekThink"; -static const char *s_szHunterFlechetteDangerSoundThink = "HunterFlechetteDangerSoundThink"; -static const char *s_szHunterFlechetteSpriteTrail = "sprites/bluelaser1.vmt"; +//static const char *s_szHunterFlechetteDangerSoundThink = "HunterFlechetteDangerSoundThink"; +//static const char *s_szHunterFlechetteSpriteTrail = "sprites/bluelaser1.vmt"; static int s_nHunterFlechetteImpact = -2; static int s_nFlechetteFuseAttach = -1; @@ -427,9 +427,10 @@ void CC_Hunter_Shoot_Flechette( const CCommand& args ) DispatchSpawn( entity ); // Shoot the flechette. - Vector forward; + Vector forward, velocity; pPlayer->EyeVectors( &forward ); - entity->Shoot( forward * 2000.0f, false ); + velocity = forward * 2000.0f; + entity->Shoot( velocity, false ); } CBaseEntity::SetAllowPrecache( allowPrecache ); @@ -872,7 +873,7 @@ void CHunterFlechette::DangerSoundThink() { EmitSound( "NPC_Hunter.FlechettePreExplode" ); - CSoundEnt::InsertSound( SOUND_DANGER|SOUND_CONTEXT_EXCLUDE_COMBINE, GetAbsOrigin(), 150.0f, 0.5, this ); + CSoundEnt::InsertSound( SOUND_DANGER|SOUND_CONTEXT_EXCLUDE_COMBINE, GetAbsOrigin(), 150, 0.5, this ); SetThink( &CHunterFlechette::ExplodeThink ); SetNextThink( gpGlobals->curtime + HUNTER_FLECHETTE_WARN_TIME ); } @@ -1022,8 +1023,6 @@ inline void HunterTraceHull_SkipPhysics( const Vector &vecAbsStart, const Vector //----------------------------------------------------------------------------- class CAI_HunterEscortBehavior : public CAI_FollowBehavior { - typedef CAI_FollowBehavior BaseClass; - DECLARE_CLASS( CAI_HunterEscortBehavior, CAI_FollowBehavior ); public: @@ -3123,6 +3122,9 @@ int CNPC_Hunter::SelectSchedule() { return SelectCombatSchedule(); } + + default: + break; } } @@ -4295,25 +4297,29 @@ void CNPC_Hunter::HandleAnimEvent( animevent_t *pEvent ) if ( pEvent->event == AE_HUNTER_MELEE_ATTACK_LEFT ) { - Vector right, forward; + QAngle viewPunch(25.0f, 30.0f, -20.0f); + Vector right, forward, velocityPunch; AngleVectors( GetLocalAngles(), &forward, &right, NULL ); right = right * -100; forward = forward * 600; + velocityPunch = right + forward; - MeleeAttack( HUNTER_MELEE_REACH, sk_hunter_dmg_one_slash.GetFloat(), QAngle( 25, 30, -20 ), right + forward, HUNTER_BLOOD_LEFT_FOOT ); + MeleeAttack( HUNTER_MELEE_REACH, sk_hunter_dmg_one_slash.GetInt(), viewPunch, velocityPunch, HUNTER_BLOOD_LEFT_FOOT ); return; } if ( pEvent->event == AE_HUNTER_MELEE_ATTACK_RIGHT ) { - Vector right, forward; + QAngle viewPunch(25.0f, -30.0f, 20.0f); + Vector right, forward, velocityPunch; AngleVectors( GetLocalAngles(), &forward, &right, NULL ); right = right * 100; forward = forward * 600; + velocityPunch = right + forward; - MeleeAttack( HUNTER_MELEE_REACH, sk_hunter_dmg_one_slash.GetFloat(), QAngle( 25, -30, 20 ), right + forward, HUNTER_BLOOD_LEFT_FOOT ); + MeleeAttack( HUNTER_MELEE_REACH, sk_hunter_dmg_one_slash.GetInt(), viewPunch, velocityPunch, HUNTER_BLOOD_LEFT_FOOT ); return; } @@ -4700,7 +4706,7 @@ int CNPC_Hunter::IRelationPriority( CBaseEntity *pTarget ) if ( IsStriderBuster( pTarget ) ) { // If we're here, we already know that we hate striderbusters. - return 1000.0f; + return 1000; } return BaseClass::IRelationPriority( pTarget ); @@ -6265,7 +6271,7 @@ bool CNPC_Hunter::ShootFlechette( CBaseEntity *pTargetEntity, bool bSingleShot ) { // Make this person afraid and react to ME, not to the flechettes. // Otherwise they could be scared into running towards the hunter. - CSoundEnt::InsertSound( SOUND_DANGER|SOUND_CONTEXT_REACT_TO_SOURCE|SOUND_CONTEXT_EXCLUDE_COMBINE, pTargetEntity->EyePosition(), 180.0f, 2.0f, this ); + CSoundEnt::InsertSound( SOUND_DANGER|SOUND_CONTEXT_REACT_TO_SOURCE|SOUND_CONTEXT_EXCLUDE_COMBINE, pTargetEntity->EyePosition(), 180, 2.0f, this ); } return bClamped; @@ -6471,7 +6477,7 @@ const char *CNPC_Hunter::SelectRandomExpressionForState( NPC_STATE state ) if ( !hunter_random_expressions.GetBool() ) return NULL; - char *szExpressions[4] = + const char *szExpressions[4] = { "scenes/npc/hunter/hunter_scan.vcd", "scenes/npc/hunter/hunter_eyeclose.vcd", diff --git a/game/server/episodic/npc_magnusson.cpp b/game/server/episodic/npc_magnusson.cpp index 0b2d2cb1..1e84f954 100644 --- a/game/server/episodic/npc_magnusson.cpp +++ b/game/server/episodic/npc_magnusson.cpp @@ -72,7 +72,7 @@ void CNPC_Magnusson::HandleAnimEvent( animevent_t *pEvent ) //----------------------------------------------------------------------------- int CNPC_Magnusson::GetSoundInterests ( void ) { - return NULL; + return 0; } //----------------------------------------------------------------------------- @@ -81,7 +81,7 @@ int CNPC_Magnusson::GetSoundInterests ( void ) void CNPC_Magnusson::Spawn() { // Allow custom model usage (mostly for monitors) - char *szModel = (char *)STRING( GetModelName() ); + const char *szModel = (char *)STRING( GetModelName() ); if (!szModel || !*szModel) { szModel = "models/magnusson.mdl"; diff --git a/game/server/episodic/prop_scalable.cpp b/game/server/episodic/prop_scalable.cpp index 5af27e65..4a57b198 100644 --- a/game/server/episodic/prop_scalable.cpp +++ b/game/server/episodic/prop_scalable.cpp @@ -147,4 +147,4 @@ void CPropScalable::InputSetScaleZ( inputdata_t &inputdata ) m_flScaleZ = vecScale.x; m_flLerpTimeZ = vecScale.y; m_flGoalTimeZ = gpGlobals->curtime; -} \ No newline at end of file +} diff --git a/game/server/episodic/vehicle_jeep_episodic.cpp b/game/server/episodic/vehicle_jeep_episodic.cpp index 3e87c744..98be4352 100644 --- a/game/server/episodic/vehicle_jeep_episodic.cpp +++ b/game/server/episodic/vehicle_jeep_episodic.cpp @@ -15,7 +15,7 @@ #include "vphysics/friction.h" #include "vphysicsupdateai.h" #include "physics_npc_solver.h" -#include "sprite.h" +#include "Sprite.h" #include "weapon_striderbuster.h" #include "npc_strider.h" #include "vguiscreen.h" @@ -1003,7 +1003,8 @@ void CPropJeepEpisodic::UpdateCargoEntry( void ) // Slerp our quaternions to find where we are this frame Quaternion qtTarget; - AngleQuaternion( pProp->PreferredCarryAngles() + QAngle( 0, 90, 0 ), qtTarget ); // FIXME: Find the real offset to make this sit properly + QAngle ang = pProp->PreferredCarryAngles() + QAngle(0.0f, 90.0f, 0.0f); + AngleQuaternion( ang, qtTarget ); // FIXME: Find the real offset to make this sit properly Quaternion qtCurrent; AngleQuaternion( pProp->GetLocalAngles(), qtCurrent ); @@ -1039,11 +1040,11 @@ void CPropJeepEpisodic::CreateAvoidanceZone( void ) Vector vecPos; CollisionProp()->NormalizedToWorldSpace( Vector( 0.5f, 0.33f, 0.25f ), &vecPos ); - CSoundEnt::InsertSound( SOUND_MOVE_AWAY, vecPos, (flHullRadius*0.4f), VEHICLE_AVOID_BROADCAST_RATE, this ); + CSoundEnt::InsertSound( SOUND_MOVE_AWAY, vecPos, (int)(flHullRadius*0.4f), VEHICLE_AVOID_BROADCAST_RATE, this ); // NDebugOverlay::Sphere( vecPos, vec3_angle, flHullRadius*0.4f, 255, 0, 0, 0, true, VEHICLE_AVOID_BROADCAST_RATE ); CollisionProp()->NormalizedToWorldSpace( Vector( 0.5f, 0.66f, 0.25f ), &vecPos ); - CSoundEnt::InsertSound( SOUND_MOVE_AWAY, vecPos, (flHullRadius*0.4f), VEHICLE_AVOID_BROADCAST_RATE, this ); + CSoundEnt::InsertSound( SOUND_MOVE_AWAY, vecPos, (int)(flHullRadius*0.4f), VEHICLE_AVOID_BROADCAST_RATE, this ); // NDebugOverlay::Sphere( vecPos, vec3_angle, flHullRadius*0.4f, 255, 0, 0, 0, true, VEHICLE_AVOID_BROADCAST_RATE ); // Don't broadcast again until these are done @@ -1449,8 +1450,8 @@ void CPropJeepEpisodic::SpawnRadarPanel() // If we're attached to an entity, spawn control panels on it instead of use CBaseAnimating *pEntityToSpawnOn = this; - char *pOrgLL = "controlpanel0_ll"; - char *pOrgUR = "controlpanel0_ur"; + const char *pOrgLL = "controlpanel0_ll"; + const char *pOrgUR = "controlpanel0_ur"; Assert( pEntityToSpawnOn ); diff --git a/game/server/episodic/weapon_striderbuster.cpp b/game/server/episodic/weapon_striderbuster.cpp index be89db86..a51c0f9c 100644 --- a/game/server/episodic/weapon_striderbuster.cpp +++ b/game/server/episodic/weapon_striderbuster.cpp @@ -14,7 +14,7 @@ #include "model_types.h" #include "ai_utils.h" #include "particle_system.h" -#include "sprite.h" +#include "Sprite.h" #include "citadel_effects_shared.h" #include "soundent.h" #include "SpriteTrail.h" @@ -24,7 +24,7 @@ #include "npc_hunter.h" #include "particle_parse.h" #include "gameweaponmanager.h" -#include "gamestats.h" +#include "GameStats.h" extern ConVar hunter_hate_held_striderbusters; extern ConVar hunter_hate_thrown_striderbusters; @@ -192,10 +192,10 @@ BEGIN_DATADESC( CWeaponStriderBuster ) END_DATADESC() CWeaponStriderBuster::CWeaponStriderBuster( void ) : - m_pConstraint( NULL ), m_flCollisionSpeedSqr( -1.0f ), - m_hConstrainedEntity( NULL ), - m_nAttachedBoneFollowerIndex( -1 ) + m_nAttachedBoneFollowerIndex( -1 ), + m_pConstraint( NULL ), + m_hConstrainedEntity( NULL ) { } @@ -260,7 +260,7 @@ void CWeaponStriderBuster::Spawn( void ) m_hParticleEffect->SetParent( this ); } - SetHealth( striderbuster_health.GetFloat() ); + SetHealth( striderbuster_health.GetInt() ); SetNextThink(gpGlobals->curtime + 0.01f); } @@ -946,7 +946,7 @@ void CWeaponStriderBuster::BusterFlyThink() float magradiusSq = Square( magradius ); float nearestDistSq = magradiusSq + 1; int bestFit = -1; - Vector toTarget; // will be garbage unless something good is found + Vector toTarget(0.0f, 0.0f, 0.0f); // will be garbage unless something good is found CNPC_Strider *pBestStrider = NULL; for ( int ii = 0 ; ii < count ; ++ii ) diff --git a/game/server/event_tempentity_tester.cpp b/game/server/event_tempentity_tester.cpp index 69255779..93104623 100644 --- a/game/server/event_tempentity_tester.cpp +++ b/game/server/event_tempentity_tester.cpp @@ -44,7 +44,7 @@ CBaseEntity *CTempEntTester::Create( const Vector &vecOrigin, const QAngle &vecA if ( single_te && single_te[0] ) { Q_strncpy( classname, single_te ,sizeof(classname)); - strlwr( classname ); + Q_strlower( classname ); } else { @@ -81,7 +81,7 @@ void CTempEntTester::Spawn( void ) { char name[ 128 ]; Q_strncpy( name, m_pCurrent->GetName() ,sizeof(name)); - strlwr( name ); + Q_strlower( name ); if ( strstr( name, m_szClass ) ) { break; @@ -122,4 +122,4 @@ void CTempEntTester::Think( void ) UTIL_Remove( this ); return; } -} \ No newline at end of file +} diff --git a/game/server/event_tempentity_tester.h b/game/server/event_tempentity_tester.h index 6a810d65..7c72f2c4 100644 --- a/game/server/event_tempentity_tester.h +++ b/game/server/event_tempentity_tester.h @@ -37,4 +37,4 @@ private: char m_szClass[ 64 ]; }; -#endif // EVENT_TEMPENTITY_TESTER_H \ No newline at end of file +#endif // EVENT_TEMPENTITY_TESTER_H diff --git a/game/server/explode.cpp b/game/server/explode.cpp index 8dea7efe..a19d3914 100644 --- a/game/server/explode.cpp +++ b/game/server/explode.cpp @@ -307,7 +307,7 @@ void CEnvExplosion::InputExplode( inputdata_t &inputdata ) } //Get the damage override if specified - int iRadius = ( m_iRadiusOverride > 0 ) ? m_iRadiusOverride : ( m_iMagnitude * 2.5f ); + int iRadius = ( m_iRadiusOverride > 0 ) ? m_iRadiusOverride : static_cast(m_iMagnitude * 2.5f); CPASFilter filter( vecExplodeOrigin ); te->Explosion( filter, 0.0, @@ -388,7 +388,7 @@ void ExplosionCreate( const Vector ¢er, const QAngle &angles, CEnvExplosion *pExplosion = (CEnvExplosion*)CBaseEntity::Create( "env_explosion", center, angles, pOwner ); Q_snprintf( buf,sizeof(buf), "%3d", magnitude ); - char *szKeyName = "iMagnitude"; + const char *szKeyName = "iMagnitude"; char *szValue = buf; pExplosion->KeyValue( szKeyName, szValue ); diff --git a/game/server/fire.cpp b/game/server/fire.cpp index 342e40d8..007069a8 100644 --- a/game/server/fire.cpp +++ b/game/server/fire.cpp @@ -980,7 +980,7 @@ void CFire::Update( float simTime ) if ( m_flDamageTime <= gpGlobals->curtime ) { m_flDamageTime = gpGlobals->curtime + fire_dmginterval.GetFloat(); - outputDamage = (fire_dmgbase.GetFloat() + outputHeat * fire_dmgscale.GetFloat() * m_flDamageScale) * fire_dmginterval.GetFloat(); + outputDamage = (int)((fire_dmgbase.GetFloat() + outputHeat * fire_dmgscale.GetFloat() * m_flDamageScale) * fire_dmginterval.GetFloat()); if ( outputDamage ) { damage = true; @@ -997,7 +997,7 @@ void CFire::Update( float simTime ) } else if ( FClassnameIs( pOther, "env_fire" ) ) { - if ( fireCount < ARRAYSIZE(pFires) ) + if ( fireCount < (int)ARRAYSIZE(pFires) ) { pFires[fireCount] = (CFire *)pOther; fireCount++; diff --git a/game/server/fire_smoke.cpp b/game/server/fire_smoke.cpp index 35307165..61633b43 100644 --- a/game/server/fire_smoke.cpp +++ b/game/server/fire_smoke.cpp @@ -188,4 +188,4 @@ void CFireSmoke::EnableVisibleFromAbove( int state ) { m_nFlags &= ~bitsFIRESMOKE_VISIBLE_FROM_ABOVE; } -} \ No newline at end of file +} diff --git a/game/server/fogcontroller.h b/game/server/fogcontroller.h index 703567ff..6e4249f2 100644 --- a/game/server/fogcontroller.h +++ b/game/server/fogcontroller.h @@ -54,7 +54,7 @@ public: void InputStartFogTransition(inputdata_t &data); - int CFogController::DrawDebugTextOverlays(void); + int DrawDebugTextOverlays(void); void SetLerpValues( void ); void Spawn( void ); diff --git a/game/server/forcefeedback.cpp b/game/server/forcefeedback.cpp index 1e7b628a..e8de47d7 100644 --- a/game/server/forcefeedback.cpp +++ b/game/server/forcefeedback.cpp @@ -105,7 +105,7 @@ void CForceFeedback::StartEffect( CBasePlayer *player, FORCEFEEDBACK_t effect, c WRITE_BYTE( dir ); // encode duration as a signed int - int duration = (int)params.m_flDuration * 1000.0f; + int duration = (int)(params.m_flDuration * 1000.0f); WRITE_LONG( duration ); // encode gain as a byte @@ -152,4 +152,4 @@ void CForceFeedback::ResumeAll( CBasePlayer *player ) WRITE_BYTE( FFMSG_RESUME ); // Resume effects MessageEnd(); -} \ No newline at end of file +} diff --git a/game/server/fourwheelvehiclephysics.cpp b/game/server/fourwheelvehiclephysics.cpp index 0abf555f..8175e065 100644 --- a/game/server/fourwheelvehiclephysics.cpp +++ b/game/server/fourwheelvehiclephysics.cpp @@ -717,7 +717,7 @@ bool CFourWheelVehiclePhysics::Think() m_nLastSpeed = m_nSpeed; m_nSpeed = ( int )carSpeed; m_nRPM = ( int )carState.engineRPM; - m_nHasBoost = vehicleData.engine.boostDelay; // if we have any boost delay, vehicle has boost ability + m_nHasBoost = (int)vehicleData.engine.boostDelay; // if we have any boost delay, vehicle has boost ability m_pVehicle->Update( gpGlobals->frametime, m_controls); diff --git a/game/server/fourwheelvehiclephysics.h b/game/server/fourwheelvehiclephysics.h index 723b63e6..b255961f 100644 --- a/game/server/fourwheelvehiclephysics.h +++ b/game/server/fourwheelvehiclephysics.h @@ -178,7 +178,7 @@ inline int CFourWheelVehiclePhysics::GetSpeed() const inline int CFourWheelVehiclePhysics::GetMaxSpeed() const { - return INS2MPH(m_pVehicle->GetVehicleParams().engine.maxSpeed); + return (int)INS2MPH(m_pVehicle->GetVehicleParams().engine.maxSpeed); } inline int CFourWheelVehiclePhysics::GetRPM() const diff --git a/game/server/func_areaportalwindow.cpp b/game/server/func_areaportalwindow.cpp index 0a2f64fe..117634fa 100644 --- a/game/server/func_areaportalwindow.cpp +++ b/game/server/func_areaportalwindow.cpp @@ -125,4 +125,4 @@ void CFuncAreaPortalWindow::InputSetFadeStartDistance( inputdata_t &inputdata ) void CFuncAreaPortalWindow::InputSetFadeEndDistance( inputdata_t &inputdata ) { m_flFadeDist = inputdata.value.Float(); -} \ No newline at end of file +} diff --git a/game/server/func_break.cpp b/game/server/func_break.cpp index 5910e4f1..962e421a 100644 --- a/game/server/func_break.cpp +++ b/game/server/func_break.cpp @@ -62,11 +62,11 @@ extern Vector g_vecAttackDir; "item_rpg_round", // 12 "unused (item_smg1_grenade) 13",// 13 "item_box_sniper_rounds", // 14 - "unused (???) 15", // 15 + "unused (?) 15", // 15 "weapon_stunstick", // 16 "unused (weapon_ar1) 17", // 17 "weapon_ar2", // 18 - "unused (???) 19", // 19 + "unused (?) 19", // 19 "weapon_rpg", // 20 "weapon_smg1", // 21 "unused (weapon_smg2) 22", // 22 @@ -218,13 +218,13 @@ bool CBreakable::KeyValue( const char *szKeyName, const char *szValue ) else if (FStrEq(szKeyName, "spawnobject") ) { int object = atoi( szValue ); - if ( object > 0 && object < ARRAYSIZE(pSpawnObjects) ) + if ( object > 0 && object < (int)ARRAYSIZE(pSpawnObjects) ) m_iszSpawnObject = MAKE_STRING( pSpawnObjects[object] ); } else if (FStrEq(szKeyName, "propdata") ) { int pdata = atoi( szValue ); - if ( pdata > 0 && pdata < ARRAYSIZE(pFGDPropData) ) + if ( pdata > 0 && pdata < (int)ARRAYSIZE(pFGDPropData) ) { m_iszPropData = MAKE_STRING( pFGDPropData[pdata] ); } @@ -467,7 +467,7 @@ void CBreakable::Precache( void ) else { // Actually, precache all possible objects... - for ( int i = 0; i < ARRAYSIZE(pSpawnObjects) ; ++i ) + for ( int i = 0; i < (int)ARRAYSIZE(pSpawnObjects) ; ++i ) { if ( !pSpawnObjects[ i ] ) continue; @@ -501,7 +501,7 @@ void CBreakable::DamageSound( void ) { int pitch; float fvol; - char *soundname = NULL; + const char *soundname = NULL; int material = m_Material; if (random->RandomInt(0,2)) @@ -746,11 +746,14 @@ void CBreakable::TraceAttack( const CTakeDamageInfo &info, const Vector &vecDir, EmitSound( "Breakable.Computer" ); } - break; + break; case matUnbreakableGlass: g_pEffects->Ricochet( ptr->endpos, (vecDir*-1.0f) ); - break; + break; + + default: + break; } } @@ -1047,7 +1050,7 @@ void CBreakable::Die( void ) CCollisionProperty *pCollisionProp = CollisionProp(); Vector vSize = pCollisionProp->OBBSize(); - int iCount = ( vSize[0] * vSize[1] + vSize[1] * vSize[2] + vSize[2] * vSize[0] ) / ( 3 * 12 * 12 ); + int iCount = (int)(( vSize[0] * vSize[1] + vSize[1] * vSize[2] + vSize[2] * vSize[0] ) / ( 3 * 12 * 12 )); if ( iCount > func_break_max_pieces.GetInt() ) { @@ -1063,7 +1066,7 @@ void CBreakable::Die( void ) } else if ( m_PerformanceMode == PM_REDUCED_GIBS ) { - int iNewCount = iCount * func_break_reduction_factor.GetFloat(); + int iNewCount = (int)(iCount * func_break_reduction_factor.GetFloat()); iCount = max( iNewCount, 1 ); } } @@ -1120,7 +1123,7 @@ void CBreakable::Die( void ) if ( Explodable() ) { - ExplosionCreate( vecSpot, pCollisionProp->GetCollisionAngles(), this, GetExplosiveDamage(), GetExplosiveRadius(), true ); + ExplosionCreate( vecSpot, pCollisionProp->GetCollisionAngles(), this, (int)GetExplosiveDamage(), (int)GetExplosiveRadius(), true ); } } diff --git a/game/server/func_break.h b/game/server/func_break.h index 41b017c0..5825b04b 100644 --- a/game/server/func_break.h +++ b/game/server/func_break.h @@ -94,7 +94,7 @@ public: float GetDmgModClub( void ) { return m_flDmgModClub; } float GetDmgModExplosive( void ) { return m_flDmgModExplosive; } void SetExplosiveRadius( float flRadius ) { m_explodeRadius = flRadius; } - void SetExplosiveDamage( float flDamage ) { m_ExplosionMagnitude = flDamage; } + void SetExplosiveDamage( float flDamage ) { m_ExplosionMagnitude = (int)flDamage; } float GetExplosiveRadius( void ) { return m_explodeRadius; } float GetExplosiveDamage( void ) { return m_ExplosionMagnitude; } void SetPhysicsDamageTable( string_t iszTableName ) { m_iszPhysicsDamageTableName = iszTableName; } diff --git a/game/server/func_breakablesurf.cpp b/game/server/func_breakablesurf.cpp index 8f90f761..5c7b0271 100644 --- a/game/server/func_breakablesurf.cpp +++ b/game/server/func_breakablesurf.cpp @@ -367,8 +367,8 @@ void CBreakableSurface::TraceAttack( const CTakeDamageInfo &info, const Vector & // Figure out which panel has taken the damage and break it float flWidth,flHeight; PanePos(ptr->endpos,&flWidth,&flHeight); - int nWidth = flWidth; - int nHeight = flHeight; + int nWidth = (int)flWidth; + int nHeight = (int)flHeight; if ( ShatterPane(nWidth, nHeight,vecDir*500,ptr->endpos) ) { @@ -438,8 +438,8 @@ void CBreakableSurface::TraceAttack( const CTakeDamageInfo &info, const Vector & { PanePos(ptr->endpos,&flWidth,&flHeight); } - int nWidth = flWidth; - int nHeight = flHeight; + int nWidth = (int)flWidth; + int nHeight = (int)flHeight; // Blow out a roughly circular patch of tile with some randomness for (int width =nWidth-4;width -#include "movehelper_server.h" -#include "networkstringtable_gamedll.h" -#include "filesystem.h" -#include "func_areaportalwindow.h" -#include "igamesystem.h" -#include "init_factory.h" -#include "vstdlib/random.h" -#include "env_wind_shared.h" -#include "engine/IEngineSound.h" -#include "ispatialpartition.h" -#include "textstatsmgr.h" -#include "bitbuf.h" -#include "saverestoretypes.h" -#include "physics_saverestore.h" -#include "achievement_saverestore.h" -#include "tier0/vprof.h" -#include "effect_dispatch_data.h" -#include "engine/IStaticPropMgr.h" -#include "TemplateEntities.h" -#include "ai_speech.h" -#include "soundenvelope.h" -#include "usermessages.h" -#include "physics.h" -#include "igameevents.h" -#include "EventLog.h" -#include "datacache/idatacache.h" -#include "engine/ivdebugoverlay.h" -#include "shareddefs.h" -#include "props.h" -#include "timedeventmgr.h" -#include "gameinterface.h" -#include "eventqueue.h" -#include "hltvdirector.h" -#include "SoundEmitterSystem/isoundemittersystembase.h" -#include "nav_mesh.h" -#include "AI_ResponseSystem.h" -#include "saverestore_stringtable.h" -#include "util.h" -#include "tier0/icommandline.h" -#include "datacache/imdlcache.h" -#include "engine/iserverplugin.h" -#ifdef _WIN32 -#include "ienginevgui.h" -#endif -#include "ragdoll_shared.h" -#include "toolframework/iserverenginetools.h" -#include "sceneentity.h" -#include "appframework/IAppSystemGroup.h" -#include "scenefilecache/ISceneFileCache.h" -#include "tier2/tier2.h" -#include "particles/particles.h" -#include "GameStats.h" -#include "ixboxsystem.h" -#include "engine/imatchmaking.h" -#include "hl2orange.spa.h" -#include "particle_parse.h" -#include "steam/steam_api.h" -#include "tier3/tier3.h" -#include "serverbenchmark_base.h" - -#ifdef CSTRIKE_DLL // BOTPORT: TODO: move these ifdefs out -#include "bot/bot.h" -#endif - -#ifdef PORTAL -#include "prop_portal_shared.h" -#include "portal_player.h" -#endif - -extern IToolFrameworkServer *g_pToolFrameworkServer; -extern IParticleSystemQuery *g_pParticleSystemQuery; - -extern ConVar commentary; - -static CSteamAPIContext g_SteamAPIContext; -CSteamAPIContext *steamapicontext = &g_SteamAPIContext; - -IUploadGameStats *gamestatsuploader = NULL; - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -CTimedEventMgr g_NetworkPropertyEventMgr; - -ISaveRestoreBlockHandler *GetEventQueueSaveRestoreBlockHandler(); -ISaveRestoreBlockHandler *GetCommentarySaveRestoreBlockHandler(); - -CUtlLinkedList g_MapEntityRefs; - -// Engine interfaces. -IVEngineServer *engine = NULL; -IVoiceServer *g_pVoiceServer = NULL; -#if !defined(_STATIC_LINKED) -IFileSystem *filesystem = NULL; -#else -extern IFileSystem *filesystem; -#endif -INetworkStringTableContainer *networkstringtable = NULL; -IStaticPropMgrServer *staticpropmgr = NULL; -IUniformRandomStream *random = NULL; -IEngineSound *enginesound = NULL; -ISpatialPartition *partition = NULL; -IVModelInfo *modelinfo = NULL; -IEngineTrace *enginetrace = NULL; -IGameEventManager2 *gameeventmanager = NULL; -IDataCache *datacache = NULL; -IVDebugOverlay * debugoverlay = NULL; -ISoundEmitterSystemBase *soundemitterbase = NULL; -IServerPluginHelpers *serverpluginhelpers = NULL; -IServerEngineTools *serverenginetools = NULL; -ISceneFileCache *scenefilecache = NULL; -IXboxSystem *xboxsystem = NULL; // Xbox 360 only -IMatchmaking *matchmaking = NULL; // Xbox 360 only - -IGameSystem *SoundEmitterSystem(); - -bool ModelSoundsCacheInit(); -void ModelSoundsCacheShutdown(); - -void SceneManager_ClientActive( CBasePlayer *player ); - -class IMaterialSystem; -class IStudioRender; - -#ifdef _DEBUG -static ConVar s_UseNetworkVars( "UseNetworkVars", "1", FCVAR_CHEAT, "For profiling, toggle network vars." ); -#endif - -extern ConVar sv_noclipduringpause; -ConVar sv_massreport( "sv_massreport", "0" ); -ConVar sv_force_transmit_ents( "sv_force_transmit_ents", "0", FCVAR_CHEAT | FCVAR_DEVELOPMENTONLY, "Will transmit all entities to client, regardless of PVS conditions (will still skip based on transmit flags, however)." ); - -ConVar sv_autosave( "sv_autosave", "1", 0, "Set to 1 to autosave game on level transition. Does not affect autosave triggers." ); -ConVar *sv_maxreplay = NULL; -static ConVar *g_pcv_commentary = NULL; -static ConVar *g_pcv_ThreadMode = NULL; - -// String tables -INetworkStringTable *g_pStringTableParticleEffectNames = NULL; -INetworkStringTable *g_pStringTableEffectDispatch = NULL; -INetworkStringTable *g_pStringTableVguiScreen = NULL; -INetworkStringTable *g_pStringTableMaterials = NULL; -INetworkStringTable *g_pStringTableInfoPanel = NULL; -INetworkStringTable *g_pStringTableClientSideChoreoScenes = NULL; - -CStringTableSaveRestoreOps g_VguiScreenStringOps; - -// Holds global variables shared between engine and game. -CGlobalVars *gpGlobals; -edict_t *g_pDebugEdictBase = 0; -static int g_nCommandClientIndex = 0; - -// The chapter number of the current -static int g_nCurrentChapterIndex = -1; - -static ConVar sv_showhitboxes( "sv_showhitboxes", "-1", FCVAR_CHEAT, "Send server-side hitboxes for specified entity to client (NOTE: this uses lots of bandwidth, use on listen server only)." ); - -void PrecachePointTemplates(); - -static ClientPutInServerOverrideFn g_pClientPutInServerOverride = NULL; -static void UpdateChapterRestrictions( const char *mapname ); - -static void UpdateRichPresence ( void ); - - -#if !defined( _XBOX ) // Don't doubly define this symbol. -CSharedEdictChangeInfo *g_pSharedChangeInfo = NULL; - -#endif - -IChangeInfoAccessor *CBaseEdict::GetChangeAccessor() -{ - return engine->GetChangeAccessor( (const edict_t *)this ); -} - -const IChangeInfoAccessor *CBaseEdict::GetChangeAccessor() const -{ - return engine->GetChangeAccessor( (const edict_t *)this ); -} - -const char *GetHintTypeDescription( CAI_Hint *pHint ); - -void ClientPutInServerOverride( ClientPutInServerOverrideFn fn ) -{ - g_pClientPutInServerOverride = fn; -} - -ConVar ai_post_frame_navigation( "ai_post_frame_navigation", "0" ); -class CPostFrameNavigationHook; -extern CPostFrameNavigationHook *PostFrameNavigationSystem( void ); - -//----------------------------------------------------------------------------- -// Purpose: -// Output : int -//----------------------------------------------------------------------------- -int UTIL_GetCommandClientIndex( void ) -{ - // -1 == unknown,dedicated server console - // 0 == player 1 - - // Convert to 1 based offset - return (g_nCommandClientIndex+1); -} - -//----------------------------------------------------------------------------- -// Purpose: -// Output : CBasePlayer -//----------------------------------------------------------------------------- -CBasePlayer *UTIL_GetCommandClient( void ) -{ - int idx = UTIL_GetCommandClientIndex(); - if ( idx > 0 ) - { - return UTIL_PlayerByIndex( idx ); - } - - // HLDS console issued command - return NULL; -} - -//----------------------------------------------------------------------------- -// Purpose: Retrieves the MOD directory for the active game (ie. "hl2") -//----------------------------------------------------------------------------- - -bool UTIL_GetModDir( char *lpszTextOut, unsigned int nSize ) -{ - // Must pass in a buffer at least large enough to hold the desired string - const char *pGameDir = CommandLine()->ParmValue( "-game", "hl2" ); - Assert( strlen(pGameDir) <= nSize ); - if ( strlen(pGameDir) > nSize ) - return false; - - Q_strncpy( lpszTextOut, pGameDir, nSize ); - if ( Q_strnchr( lpszTextOut, '/', nSize ) || Q_strnchr( lpszTextOut, '\\', nSize ) ) - { - // Strip the last directory off (which will be our game dir) - Q_StripLastDir( lpszTextOut, nSize ); - - // Find the difference in string lengths and take that difference from the original string as the mod dir - int dirlen = Q_strlen( lpszTextOut ); - Q_strncpy( lpszTextOut, pGameDir + dirlen, Q_strlen( pGameDir ) - dirlen + 1 ); - } - - return true; -} - -extern void InitializeCvars( void ); - -CBaseEntity* FindPickerEntity( CBasePlayer* pPlayer ); -CAI_Node* FindPickerAINode( CBasePlayer* pPlayer, NodeType_e nNodeType ); -CAI_Link* FindPickerAILink( CBasePlayer* pPlayer ); -float GetFloorZ(const Vector &origin); -void UpdateAllClientData( void ); -void DrawMessageEntities(); - -#include "ai_network.h" - -// For now just using one big AI network -extern ConVar think_limit; - - -#if 0 -//----------------------------------------------------------------------------- -// Purpose: Draw output overlays for any measure sections -// Input : -//----------------------------------------------------------------------------- -void DrawMeasuredSections(void) -{ - int row = 1; - float rowheight = 0.025; - - CMeasureSection *p = CMeasureSection::GetList(); - while ( p ) - { - char str[256]; - Q_snprintf(str,sizeof(str),"%s",p->GetName()); - NDebugOverlay::ScreenText( 0.01,0.51+(row*rowheight),str, 255,255,255,255, 0.0 ); - - Q_snprintf(str,sizeof(str),"%5.2f\n",p->GetTime().GetMillisecondsF()); - //Q_snprintf(str,sizeof(str),"%3.3f\n",p->GetTime().GetSeconds() * 100.0 / engine->Time()); - NDebugOverlay::ScreenText( 0.28,0.51+(row*rowheight),str, 255,255,255,255, 0.0 ); - - Q_snprintf(str,sizeof(str),"%5.2f\n",p->GetMaxTime().GetMillisecondsF()); - //Q_snprintf(str,sizeof(str),"%3.3f\n",p->GetTime().GetSeconds() * 100.0 / engine->Time()); - NDebugOverlay::ScreenText( 0.34,0.51+(row*rowheight),str, 255,255,255,255, 0.0 ); - - - row++; - - p = p->GetNext(); - } - - bool sort_reset = false; - - // Time to redo sort? - if ( measure_resort.GetFloat() > 0.0 && - engine->Time() >= CMeasureSection::m_dNextResort ) - { - // Redo it - CMeasureSection::SortSections(); - // Set next time - CMeasureSection::m_dNextResort = engine->Time() + measure_resort.GetFloat(); - // Flag to reset sort accumulator, too - sort_reset = true; - } - - // Iterate through the sections now - p = CMeasureSection::GetList(); - while ( p ) - { - // Update max - p->UpdateMax(); - - // Reset regular accum. - p->Reset(); - // Reset sort accum less often - if ( sort_reset ) - { - p->SortReset(); - } - p = p->GetNext(); - } - -} -#endif - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void DrawAllDebugOverlays( void ) -{ - // If in debug select mode print the selection entities name or classname - if (CBaseEntity::m_bInDebugSelect) - { - CBasePlayer* pPlayer = UTIL_PlayerByIndex( CBaseEntity::m_nDebugPlayer ); - - if (pPlayer) - { - // First try to trace a hull to an entity - CBaseEntity *pEntity = FindPickerEntity( pPlayer ); - - if ( pEntity ) - { - pEntity->DrawDebugTextOverlays(); - pEntity->DrawBBoxOverlay(); - pEntity->SendDebugPivotOverlay(); - } - } - } - - // -------------------------------------------------------- - // Draw debug overlay lines - // -------------------------------------------------------- - UTIL_DrawOverlayLines(); - - // ------------------------------------------------------------------------ - // If in wc_edit mode draw a box to highlight which node I'm looking at - // ------------------------------------------------------------------------ - if (engine->IsInEditMode()) - { - CBasePlayer* pPlayer = UTIL_PlayerByIndex( CBaseEntity::m_nDebugPlayer ); - if (pPlayer) - { - if (g_pAINetworkManager->GetEditOps()->m_bLinkEditMode) - { - CAI_Link* pAILink = FindPickerAILink(pPlayer); - if (pAILink) - { - // For now just using one big AI network - Vector startPos = g_pBigAINet->GetNode(pAILink->m_iSrcID)->GetPosition(g_pAINetworkManager->GetEditOps()->m_iHullDrawNum); - Vector endPos = g_pBigAINet->GetNode(pAILink->m_iDestID)->GetPosition(g_pAINetworkManager->GetEditOps()->m_iHullDrawNum); - Vector linkDir = startPos-endPos; - float linkLen = VectorNormalize( linkDir ); - - // Draw in green if link that's been turned off - if (pAILink->m_LinkInfo & bits_LINK_OFF) - { - NDebugOverlay::BoxDirection(startPos, Vector(-4,-4,-4), Vector(-linkLen,4,4), linkDir, 0,255,0,40,0); - } - else - { - NDebugOverlay::BoxDirection(startPos, Vector(-4,-4,-4), Vector(-linkLen,4,4), linkDir, 255,0,0,40,0); - } - } - } - else - { - CAI_Node* pAINode; - if (g_pAINetworkManager->GetEditOps()->m_bAirEditMode) - { - pAINode = FindPickerAINode(pPlayer,NODE_AIR); - } - else - { - pAINode = FindPickerAINode(pPlayer,NODE_GROUND); - } - - if (pAINode) - { - Vector vecPos = pAINode->GetPosition(g_pAINetworkManager->GetEditOps()->m_iHullDrawNum); - NDebugOverlay::Box( vecPos, Vector(-8,-8,-8), Vector(8,8,8), 255,0,0,40,0); - - if ( pAINode->GetHint() ) - { - CBaseEntity *pEnt = (CBaseEntity *)pAINode->GetHint(); - if ( pEnt->GetEntityName() != NULL_STRING ) - { - NDebugOverlay::Text( vecPos + Vector(0,0,6), STRING(pEnt->GetEntityName()), false, 0 ); - } - NDebugOverlay::Text( vecPos, GetHintTypeDescription( pAINode->GetHint() ), false, 0 ); - } - } - } - // ------------------------------------ - // If in air edit mode draw guide line - // ------------------------------------ - if (g_pAINetworkManager->GetEditOps()->m_bAirEditMode) - { - UTIL_DrawPositioningOverlay(g_pAINetworkManager->GetEditOps()->m_flAirEditDistance); - } - else - { - NDebugOverlay::DrawGroundCrossHairOverlay(); - } - } - } - - // For not just using one big AI Network - if ( g_pAINetworkManager ) - { - g_pAINetworkManager->GetEditOps()->DrawAINetworkOverlay(); - } - - // PERFORMANCE: only do this in developer mode - if ( g_pDeveloper->GetInt() ) - { - // iterate through all objects for debug overlays - const CEntInfo *pInfo = gEntList.FirstEntInfo(); - - for ( ;pInfo; pInfo = pInfo->m_pNext ) - { - CBaseEntity *ent = (CBaseEntity *)pInfo->m_pEntity; - // HACKHACK: to flag off these calls - if ( ent->m_debugOverlays || ent->m_pTimedOverlay ) - { - MDLCACHE_CRITICAL_SECTION(); - ent->DrawDebugGeometryOverlays(); - } - } - } - - if ( sv_massreport.GetInt() ) - { - // iterate through all objects for debug overlays - const CEntInfo *pInfo = gEntList.FirstEntInfo(); - - for ( ;pInfo; pInfo = pInfo->m_pNext ) - { - CBaseEntity *ent = (CBaseEntity *)pInfo->m_pEntity; - if (!ent->VPhysicsGetObject()) - continue; - - char tempstr[512]; - Q_snprintf(tempstr, sizeof(tempstr),"%s: Mass: %.2f kg / %.2f lb (%s)", - ent->GetModelName(), ent->VPhysicsGetObject()->GetMass(), - kg2lbs(ent->VPhysicsGetObject()->GetMass()), - GetMassEquivalent(ent->VPhysicsGetObject()->GetMass())); - ent->EntityText(0, tempstr, 0); - } - } - - // A hack to draw point_message entities w/o developer required - DrawMessageEntities(); -} - -CServerGameDLL g_ServerGameDLL; -EXPOSE_SINGLE_INTERFACE_GLOBALVAR(CServerGameDLL, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL, g_ServerGameDLL); - -bool CServerGameDLL::DLLInit( CreateInterfaceFn appSystemFactory, - CreateInterfaceFn physicsFactory, CreateInterfaceFn fileSystemFactory, - CGlobalVars *pGlobals) -{ - ConnectTier1Libraries( &appSystemFactory, 1 ); - ConnectTier2Libraries( &appSystemFactory, 1 ); - ConnectTier3Libraries( &appSystemFactory, 1 ); - - // Connected in ConnectTier1Libraries - if ( cvar == NULL ) - return false; - -#ifndef _X360 - g_SteamAPIContext.Init(); -#endif - - // init each (seperated for ease of debugging) - if ( (engine = (IVEngineServer*)appSystemFactory(INTERFACEVERSION_VENGINESERVER, NULL)) == NULL ) - return false; - if ( (g_pVoiceServer = (IVoiceServer*)appSystemFactory(INTERFACEVERSION_VOICESERVER, NULL)) == NULL ) - return false; - if ( (networkstringtable = (INetworkStringTableContainer *)appSystemFactory(INTERFACENAME_NETWORKSTRINGTABLESERVER,NULL)) == NULL ) - return false; - if ( (staticpropmgr = (IStaticPropMgrServer *)appSystemFactory(INTERFACEVERSION_STATICPROPMGR_SERVER,NULL)) == NULL ) - return false; - if ( (random = (IUniformRandomStream *)appSystemFactory(VENGINE_SERVER_RANDOM_INTERFACE_VERSION, NULL)) == NULL ) - return false; - if ( (enginesound = (IEngineSound *)appSystemFactory(IENGINESOUND_SERVER_INTERFACE_VERSION, NULL)) == NULL ) - return false; - if ( (partition = (ISpatialPartition *)appSystemFactory(INTERFACEVERSION_SPATIALPARTITION, NULL)) == NULL ) - return false; - if ( (modelinfo = (IVModelInfo *)appSystemFactory(VMODELINFO_SERVER_INTERFACE_VERSION, NULL)) == NULL ) - return false; - if ( (enginetrace = (IEngineTrace *)appSystemFactory(INTERFACEVERSION_ENGINETRACE_SERVER,NULL)) == NULL ) - return false; - if ( (filesystem = (IFileSystem *)fileSystemFactory(FILESYSTEM_INTERFACE_VERSION,NULL)) == NULL ) - return false; - if ( (gameeventmanager = (IGameEventManager2 *)appSystemFactory(INTERFACEVERSION_GAMEEVENTSMANAGER2,NULL)) == NULL ) - return false; - if ( (datacache = (IDataCache*)appSystemFactory(DATACACHE_INTERFACE_VERSION, NULL )) == NULL ) - return false; - if ( (soundemitterbase = (ISoundEmitterSystemBase *)appSystemFactory(SOUNDEMITTERSYSTEM_INTERFACE_VERSION, NULL)) == NULL ) - return false; -#ifndef _XBOX - if ( (gamestatsuploader = (IUploadGameStats *)appSystemFactory( INTERFACEVERSION_UPLOADGAMESTATS, NULL )) == NULL ) - return false; -#endif - if ( !mdlcache ) - return false; - if ( (serverpluginhelpers = (IServerPluginHelpers *)appSystemFactory(INTERFACEVERSION_ISERVERPLUGINHELPERS, NULL)) == NULL ) - return false; - if ( (scenefilecache = (ISceneFileCache *)appSystemFactory( SCENE_FILE_CACHE_INTERFACE_VERSION, NULL )) == NULL ) - return false; - if ( IsX360() && (xboxsystem = (IXboxSystem *)appSystemFactory( XBOXSYSTEM_INTERFACE_VERSION, NULL )) == NULL ) - return false; - if ( IsX360() && (matchmaking = (IMatchmaking *)appSystemFactory( VENGINE_MATCHMAKING_VERSION, NULL )) == NULL ) - return false; - - // If not running dedicated, grab the engine vgui interface - if ( !engine->IsDedicatedServer() ) - { -#ifdef _WIN32 - // This interface is optional, and is only valid when running with -tools - serverenginetools = ( IServerEngineTools * )appSystemFactory( VSERVERENGINETOOLS_INTERFACE_VERSION, NULL ); -#endif - } - - // Yes, both the client and game .dlls will try to Connect, the soundemittersystem.dll will handle this gracefully - if ( !soundemitterbase->Connect( appSystemFactory ) ) - return false; - - // cache the globals - gpGlobals = pGlobals; - - g_pSharedChangeInfo = engine->GetSharedEdictChangeInfo(); - - MathLib_Init( 2.2f, 2.2f, 0.0f, 2.0f ); - - // save these in case other system inits need them - factorylist_t factories; - factories.engineFactory = appSystemFactory; - factories.fileSystemFactory = fileSystemFactory; - factories.physicsFactory = physicsFactory; - FactoryList_Store( factories ); - - // load used game events - gameeventmanager->LoadEventsFromFile("resource/gameevents.res"); - - // init the cvar list first in case inits want to reference them - InitializeCvars(); - - // Initialize the particle system - if ( !g_pParticleSystemMgr->Init( g_pParticleSystemQuery ) ) - { - return false; - } - - sv_cheats = g_pCVar->FindVar( "sv_cheats" ); - if ( !sv_cheats ) - return false; - - g_pcv_commentary = g_pCVar->FindVar( "commentary" ); - g_pcv_ThreadMode = g_pCVar->FindVar( "host_thread_mode" ); - - sv_maxreplay = g_pCVar->FindVar( "sv_maxreplay" ); - - g_pGameSaveRestoreBlockSet->AddBlockHandler( GetEntitySaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->AddBlockHandler( GetPhysSaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->AddBlockHandler( GetAISaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->AddBlockHandler( GetTemplateSaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->AddBlockHandler( GetDefaultResponseSystemSaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->AddBlockHandler( GetCommentarySaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->AddBlockHandler( GetEventQueueSaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->AddBlockHandler( GetAchievementSaveRestoreBlockHandler() ); - - // The string system must init first + shutdown last - IGameSystem::Add( GameStringSystem() ); - - // Physics must occur before the sound envelope manager - IGameSystem::Add( PhysicsGameSystem() ); - - // Used to service deferred navigation queries for NPCs - IGameSystem::Add( (IGameSystem *) PostFrameNavigationSystem() ); - - // Add game log system - IGameSystem::Add( GameLogSystem() ); -#ifndef _XBOX - // Add HLTV director - IGameSystem::Add( HLTVDirectorSystem() ); -#endif - // Add sound emitter - IGameSystem::Add( SoundEmitterSystem() ); - - // load Mod specific game events ( MUST be before InitAllSystems() so it can pickup the mod specific events) - gameeventmanager->LoadEventsFromFile("resource/ModEvents.res"); - -#ifdef CSTRIKE_DLL // BOTPORT: TODO: move these ifdefs out - InstallBotControl(); -#endif - - if ( !IGameSystem::InitAllSystems() ) - return false; - - // Due to dependencies, these are not autogamesystems - if ( !ModelSoundsCacheInit() ) - { - return false; - } - - // Parse the particle manifest file & register the effects within it - ParseParticleEffects( false ); - - // try to get debug overlay, may be NULL if on HLDS - debugoverlay = (IVDebugOverlay *)appSystemFactory( VDEBUG_OVERLAY_INTERFACE_VERSION, NULL ); - -#ifndef _XBOX - // create the Navigation Mesh interface - TheNavMesh = new CNavMesh; - - // init the gamestatsupload connection - gamestatsuploader->InitConnection(); -#endif - - return true; -} - -void CServerGameDLL::PostInit() -{ - IGameSystem::PostInitAllSystems(); -} - -void CServerGameDLL::DLLShutdown( void ) -{ - - // Due to dependencies, these are not autogamesystems - ModelSoundsCacheShutdown(); - - g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetAchievementSaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetCommentarySaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetEventQueueSaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetDefaultResponseSystemSaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetTemplateSaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetAISaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetPhysSaveRestoreBlockHandler() ); - g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetEntitySaveRestoreBlockHandler() ); - - char *pFilename = g_TextStatsMgr.GetStatsFilename(); - if ( !pFilename || !pFilename[0] ) - { - g_TextStatsMgr.SetStatsFilename( "stats.txt" ); - } - g_TextStatsMgr.WriteFile( filesystem ); - - IGameSystem::ShutdownAllSystems(); - -#ifdef CSTRIKE_DLL // BOTPORT: TODO: move these ifdefs out - RemoveBotControl(); -#endif - -#ifndef _XBOX - // destroy the Navigation Mesh interface - if (TheNavMesh) - { - delete TheNavMesh; - TheNavMesh = NULL; - } -#endif - - DisconnectTier3Libraries(); - DisconnectTier2Libraries(); - ConVar_Unregister(); - DisconnectTier1Libraries(); -} - - -//----------------------------------------------------------------------------- -// Purpose: See shareddefs.h for redefining this. Don't even think about it, though, for HL2. Or you will pay. ywb 9/22/03 -// Output : float -//----------------------------------------------------------------------------- -float CServerGameDLL::GetTickInterval( void ) const -{ - float tickinterval = DEFAULT_TICK_INTERVAL; - -#if defined( CSTRIKE_DLL ) - // in CS reduce tickrate/sec by defualt - tickinterval *= 2; -#endif - -// Ignoring this for now, server ops are abusing it -#if !defined( TF_DLL ) - // override if tick rate specified in command line - if ( CommandLine()->CheckParm( "-tickrate" ) ) - { - float tickrate = CommandLine()->ParmValue( "-tickrate", 0 ); - if ( tickrate > 10 ) - tickinterval = 1.0f / tickrate; - } -#endif - - return tickinterval; -} - -// This is called when a new game is started. (restart, map) -bool CServerGameDLL::GameInit( void ) -{ - ResetGlobalState(); - engine->ServerCommand( "exec game.cfg\n" ); - engine->ServerExecute( ); - CBaseEntity::sm_bAccurateTriggerBboxChecks = true; - - IGameEvent *event = gameeventmanager->CreateEvent( "game_init" ); - if ( event ) - { - gameeventmanager->FireEvent( event ); - } - - return true; -} - -// This is called when a game ends (server disconnect, death, restart, load) -// NOT on level transitions within a game -void CServerGameDLL::GameShutdown( void ) -{ - ResetGlobalState(); -} - -static bool g_OneWayTransition = false; -void Game_SetOneWayTransition( void ) -{ - g_OneWayTransition = true; -} - -static CUtlVector g_RestoredEntities; -// just for debugging, assert that this is the only time this function is called -static bool g_InRestore = false; - -void AddRestoredEntity( CBaseEntity *pEntity ) -{ - Assert(g_InRestore); - if ( !pEntity ) - return; - - g_RestoredEntities.AddToTail( EHANDLE(pEntity) ); -} - -void EndRestoreEntities() -{ - if ( !g_InRestore ) - return; - - // The entire hierarchy is restored, so we can call GetAbsOrigin again. - //CBaseEntity::SetAbsQueriesValid( true ); - - // Call all entities' OnRestore handlers - for ( int i = g_RestoredEntities.Count()-1; i >=0; --i ) - { - CBaseEntity *pEntity = g_RestoredEntities[i].Get(); - if ( pEntity && !pEntity->IsDormant() ) - { - MDLCACHE_CRITICAL_SECTION(); - pEntity->OnRestore(); - } - } - - g_RestoredEntities.Purge(); - - IGameSystem::OnRestoreAllSystems(); - - g_InRestore = false; - gEntList.CleanupDeleteList(); - - // HACKHACK: UNDONE: We need to redesign the main loop with respect to save/load/server activate - g_ServerGameDLL.ServerActivate( NULL, 0, 0 ); - CBaseEntity::SetAllowPrecache( false ); -} - -void BeginRestoreEntities() -{ - if ( g_InRestore ) - { - DevMsg( "BeginRestoreEntities without previous EndRestoreEntities.\n" ); - gEntList.CleanupDeleteList(); - } - g_RestoredEntities.Purge(); - g_InRestore = true; - - CBaseEntity::SetAllowPrecache( true ); - - // No calls to GetAbsOrigin until the entire hierarchy is restored! - //CBaseEntity::SetAbsQueriesValid( false ); -} - -//----------------------------------------------------------------------------- -// Purpose: This prevents sv.tickcount/gpGlobals->tickcount from advancing during restore which -// would cause a lot of the NPCs to fast forward their think times to the same -// tick due to some ticks being elapsed during restore where there was no simulation going on -//----------------------------------------------------------------------------- -bool CServerGameDLL::IsRestoring() -{ - return g_InRestore; -} - -// Called any time a new level is started (after GameInit() also on level transitions within a game) -bool CServerGameDLL::LevelInit( const char *pMapName, char const *pMapEntities, char const *pOldLevel, char const *pLandmarkName, bool loadGame, bool background ) -{ - VPROF("CServerGameDLL::LevelInit"); - ResetWindspeed(); - UpdateChapterRestrictions( pMapName ); - - if ( IsX360() && !background && (gpGlobals->maxClients == 1) && (g_nCurrentChapterIndex >= 0) ) - { - // Single player games tell xbox live what game & chapter the user is playing - UpdateRichPresence(); - } - - // IGameSystem::LevelInitPreEntityAllSystems() is called when the world is precached - // That happens either in LoadGameState() or in MapEntity_ParseAllEntities() - if ( loadGame ) - { - if ( pOldLevel ) - { - gpGlobals->eLoadType = MapLoad_Transition; - } - else - { - gpGlobals->eLoadType = MapLoad_LoadGame; - } - - BeginRestoreEntities(); - if ( !engine->LoadGameState( pMapName, 1 ) ) - { - if ( pOldLevel ) - { - MapEntity_ParseAllEntities( pMapEntities ); - } - else - { - // Regular save load case - return false; - } - } - - if ( pOldLevel ) - { - engine->LoadAdjacentEnts( pOldLevel, pLandmarkName ); - } - - if ( g_OneWayTransition ) - { - engine->ClearSaveDirAfterClientLoad(); - } - - if ( pOldLevel && sv_autosave.GetBool() == true ) - { - // This is a single-player style level transition. - // Queue up an autosave one second into the level - CBaseEntity *pAutosave = CBaseEntity::Create( "logic_autosave", vec3_origin, vec3_angle, NULL ); - if ( pAutosave ) - { - g_EventQueue.AddEvent( pAutosave, "Save", 1.0, NULL, NULL ); - g_EventQueue.AddEvent( pAutosave, "Kill", 1.1, NULL, NULL ); - } - } - } - else - { - if ( background ) - { - gpGlobals->eLoadType = MapLoad_Background; - } - else - { - gpGlobals->eLoadType = MapLoad_NewGame; - } - - // Clear out entity references, and parse the entities into it. - g_MapEntityRefs.Purge(); - CMapLoadEntityFilter filter; - MapEntity_ParseAllEntities( pMapEntities, &filter ); - - g_pServerBenchmark->StartBenchmark(); - - // Now call the mod specific parse - LevelInit_ParseAllEntities( pMapEntities ); - } - - // Check low violence settings for this map - g_RagdollLVManager.SetLowViolence( pMapName ); - - // Now that all of the active entities have been loaded in, precache any entities who need point_template parameters - // to be parsed (the above code has loaded all point_template entities) - PrecachePointTemplates(); - - // load MOTD from file into stringtable - LoadMessageOfTheDay(); - - // Sometimes an ent will Remove() itself during its precache, so RemoveImmediate won't happen. - // This makes sure those ents get cleaned up. - gEntList.CleanupDeleteList(); - - g_AIFriendliesTalkSemaphore.Release(); - g_AIFoesTalkSemaphore.Release(); - g_OneWayTransition = false; - - // clear any pending autosavedangerous - m_fAutoSaveDangerousTime = 0.0f; - m_fAutoSaveDangerousMinHealthToCommit = 0.0f; - return true; -} - -//----------------------------------------------------------------------------- -// Purpose: called after every level change and load game, iterates through all the -// active entities and gives them a chance to fix up their state -//----------------------------------------------------------------------------- -#ifdef DEBUG -bool g_bReceivedChainedActivate; -bool g_bCheckForChainedActivate; -#define BeginCheckChainedActivate() if (0) ; else { g_bCheckForChainedActivate = true; g_bReceivedChainedActivate = false; } -#define EndCheckChainedActivate( bCheck ) \ - if (0) ; else \ - { \ - if ( bCheck ) \ - { \ - char msg[ 1024 ]; \ - Q_snprintf( msg, sizeof( msg ), "Entity (%i/%s/%s) failed to call base class Activate()\n", pClass->entindex(), pClass->GetClassname(), STRING( pClass->GetEntityName() ) ); \ - AssertMsg( g_bReceivedChainedActivate == true, msg ); \ - } \ - g_bCheckForChainedActivate = false; \ - } -#else -#define BeginCheckChainedActivate() ((void)0) -#define EndCheckChainedActivate( bCheck ) ((void)0) -#endif - -void CServerGameDLL::ServerActivate( edict_t *pEdictList, int edictCount, int clientMax ) -{ - // HACKHACK: UNDONE: We need to redesign the main loop with respect to save/load/server activate - if ( g_InRestore ) - return; - - if ( gEntList.ResetDeleteList() != 0 ) - { - Msg( "ERROR: Entity delete queue not empty on level start!\n" ); - } - - for ( CBaseEntity *pClass = gEntList.FirstEnt(); pClass != NULL; pClass = gEntList.NextEnt(pClass) ) - { - if ( pClass && !pClass->IsDormant() ) - { - MDLCACHE_CRITICAL_SECTION(); - - BeginCheckChainedActivate(); - pClass->Activate(); - - // We don't care if it finished activating if it decided to remove itself. - EndCheckChainedActivate( !( pClass->GetEFlags() & EFL_KILLME ) ); - } - } - - IGameSystem::LevelInitPostEntityAllSystems(); - // No more precaching after PostEntityAllSystems!!! - CBaseEntity::SetAllowPrecache( false ); - - // only display the think limit when the game is run with "developer" mode set - if ( !g_pDeveloper->GetInt() ) - { - think_limit.SetValue( 0 ); - } - -#ifndef _XBOX - // load the Navigation Mesh for this map - TheNavMesh->Load(); -#endif - -#ifdef CSTRIKE_DLL // BOTPORT: TODO: move these ifdefs out - TheBots->ServerActivate(); -#endif -} - -//----------------------------------------------------------------------------- -// Purpose: Called at the start of every game frame -//----------------------------------------------------------------------------- -ConVar trace_report( "trace_report", "0" ); - -void CServerGameDLL::GameFrame( bool simulating ) -{ - VPROF( "CServerGameDLL::GameFrame" ); - - // Don't run frames until fully restored - if ( g_InRestore ) - return; - - if ( CBaseEntity::IsSimulatingOnAlternateTicks() ) - { - // only run simulation on even numbered ticks - if ( gpGlobals->tickcount & 1 ) - { - UpdateAllClientData(); - return; - } - // If we're skipping frames, then the frametime is 2x the normal tick - gpGlobals->frametime *= 2.0f; - } - - float oldframetime = gpGlobals->frametime; - -#ifdef _DEBUG - // For profiling.. let them enable/disable the networkvar manual mode stuff. - g_bUseNetworkVars = s_UseNetworkVars.GetBool(); -#endif - - extern void GameStartFrame( void ); - extern void ServiceEventQueue( void ); - extern void Physics_RunThinkFunctions( bool simulating ); - - // Delete anything that was marked for deletion - // outside of server frameloop (e.g., in response to concommand) - gEntList.CleanupDeleteList(); - - IGameSystem::FrameUpdatePreEntityThinkAllSystems(); - GameStartFrame(); - -#ifndef _XBOX - TheNavMesh->Update(); - - gamestatsuploader->UpdateConnection(); -#endif - - g_pServerBenchmark->UpdateBenchmark(); - - Physics_RunThinkFunctions( simulating ); - - IGameSystem::FrameUpdatePostEntityThinkAllSystems(); - - // UNDONE: Make these systems IGameSystems and move these calls into FrameUpdatePostEntityThink() - // service event queue, firing off any actions whos time has come - ServiceEventQueue(); - - // free all ents marked in think functions - gEntList.CleanupDeleteList(); - - // FIXME: Should this only occur on the final tick? - UpdateAllClientData(); - - if ( g_pGameRules ) - { - g_pGameRules->EndGameFrame(); - } - - if ( trace_report.GetBool() ) - { - int total = 0, totals[3]; - for ( int i = 0; i < 3; i++ ) - { - totals[i] = enginetrace->GetStatByIndex( i, true ); - if ( totals[i] > 0 ) - { - total += totals[i]; - } - } - - if ( total ) - { - Msg("Trace: %d, contents %d, enumerate %d\n", totals[0], totals[1], totals[2] ); - } - } - - // Any entities that detect network state changes on a timer do it here. - g_NetworkPropertyEventMgr.FireEvents(); - - gpGlobals->frametime = oldframetime; -} - -//----------------------------------------------------------------------------- -// Purpose: Called every frame even if not ticking -// Input : simulating - -//----------------------------------------------------------------------------- -void CServerGameDLL::PreClientUpdate( bool simulating ) -{ - if ( !simulating ) - return; - - /* - if (game_speeds.GetInt()) - { - DrawMeasuredSections(); - } - */ - -//#ifdef _DEBUG - allow this in release for now - DrawAllDebugOverlays(); -//#endif - - IGameSystem::PreClientUpdateAllSystems(); - - if ( sv_showhitboxes.GetInt() == -1 ) - return; - - if ( sv_showhitboxes.GetInt() == 0 ) - { - // assume it's text - CBaseEntity *pEntity = NULL; - - while (1) - { - pEntity = gEntList.FindEntityByName( pEntity, sv_showhitboxes.GetString() ); - if ( !pEntity ) - break; - - CBaseAnimating *anim = dynamic_cast< CBaseAnimating * >( pEntity ); - - if (anim) - { - anim->DrawServerHitboxes(); - } - } - return; - } - - CBaseAnimating *anim = dynamic_cast< CBaseAnimating * >( CBaseEntity::Instance( engine->PEntityOfEntIndex( sv_showhitboxes.GetInt() ) ) ); - if ( !anim ) - return; - - anim->DrawServerHitboxes(); -} - -void CServerGameDLL::Think( bool finalTick ) -{ - if ( m_fAutoSaveDangerousTime != 0.0f && m_fAutoSaveDangerousTime < gpGlobals->curtime ) - { - // The safety timer for a dangerous auto save has expired - CBasePlayer *pPlayer = UTIL_PlayerByIndex( 1 ); - - if ( pPlayer && ( pPlayer->GetDeathTime() == 0.0f || pPlayer->GetDeathTime() > gpGlobals->curtime ) - && !pPlayer->IsSinglePlayerGameEnding() - ) - { - if( pPlayer->GetHealth() >= m_fAutoSaveDangerousMinHealthToCommit ) - { - // The player isn't dead, so make the dangerous auto save safe - engine->ServerCommand( "autosavedangerousissafe\n" ); - } - } - - m_fAutoSaveDangerousTime = 0.0f; - m_fAutoSaveDangerousMinHealthToCommit = 0.0f; - } -} - -void CServerGameDLL::OnQueryCvarValueFinished( QueryCvarCookie_t iCookie, edict_t *pPlayerEntity, EQueryCvarValueStatus eStatus, const char *pCvarName, const char *pCvarValue ) -{ -} - - -// Called when a level is shutdown (including changing levels) -void CServerGameDLL::LevelShutdown( void ) -{ - MDLCACHE_CRITICAL_SECTION(); - IGameSystem::LevelShutdownPreEntityAllSystems(); - - // YWB: - // This entity pointer is going away now and is corrupting memory on level transitions/restarts - CSoundEnt::ShutdownSoundEnt(); - - gEntList.Clear(); - - IGameSystem::LevelShutdownPostEntityAllSystems(); - - // In case we quit out during initial load - CBaseEntity::SetAllowPrecache( false ); - - g_nCurrentChapterIndex = -1; -} - -//----------------------------------------------------------------------------- -// Purpose: -// Input : -// Output : ServerClass* -//----------------------------------------------------------------------------- -ServerClass* CServerGameDLL::GetAllServerClasses() -{ - return g_pServerClassHead; -} - - -const char *CServerGameDLL::GetGameDescription( void ) -{ - return ::GetGameDescription(); -} - -void CServerGameDLL::CreateNetworkStringTables( void ) -{ - // Create any shared string tables here (and only here!) - // E.g.: xxx = networkstringtable->CreateStringTable( "SceneStrings", 512 ); - g_pStringTableParticleEffectNames = networkstringtable->CreateStringTable( "ParticleEffectNames", MAX_PARTICLESYSTEMS_STRINGS ); - g_pStringTableEffectDispatch = networkstringtable->CreateStringTable( "EffectDispatch", MAX_EFFECT_DISPATCH_STRINGS ); - g_pStringTableVguiScreen = networkstringtable->CreateStringTable( "VguiScreen", MAX_VGUI_SCREEN_STRINGS ); - g_pStringTableMaterials = networkstringtable->CreateStringTable( "Materials", MAX_MATERIAL_STRINGS ); - g_pStringTableInfoPanel = networkstringtable->CreateStringTable( "InfoPanel", MAX_INFOPANEL_STRINGS ); - g_pStringTableClientSideChoreoScenes = networkstringtable->CreateStringTable( "Scenes", MAX_CHOREO_SCENES_STRINGS ); - - Assert( g_pStringTableParticleEffectNames && - g_pStringTableEffectDispatch && - g_pStringTableVguiScreen && - g_pStringTableMaterials && - g_pStringTableInfoPanel && - g_pStringTableClientSideChoreoScenes ); - - // Need this so we have the error material always handy - PrecacheMaterial( "debug/debugempty" ); - Assert( GetMaterialIndex( "debug/debugempty" ) == 0 ); - - PrecacheParticleSystem( "error" ); // ensure error particle system is handy - Assert( GetParticleSystemIndex( "error" ) == 0 ); - - CreateNetworkStringTables_GameRules(); - - // Set up save/load utilities for string tables - g_VguiScreenStringOps.Init( g_pStringTableVguiScreen ); -} - -CSaveRestoreData *CServerGameDLL::SaveInit( int size ) -{ - return ::SaveInit(size); -} - -//----------------------------------------------------------------------------- -// Purpose: Saves data from a struct into a saverestore object, to be saved to disk -// Input : *pSaveData - the saverestore object -// char *pname - the name of the data to write -// *pBaseData - the struct into which the data is to be read -// *pFields - pointer to an array of data field descriptions -// fieldCount - the size of the array (number of field descriptions) -//----------------------------------------------------------------------------- -void CServerGameDLL::SaveWriteFields( CSaveRestoreData *pSaveData, const char *pname, void *pBaseData, datamap_t *pMap, typedescription_t *pFields, int fieldCount ) -{ - CSave saveHelper( pSaveData ); - saveHelper.WriteFields( pname, pBaseData, pMap, pFields, fieldCount ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Reads data from a save/restore block into a structure -// Input : *pSaveData - the saverestore object -// char *pname - the name of the data to extract from -// *pBaseData - the struct into which the data is to be restored -// *pFields - pointer to an array of data field descriptions -// fieldCount - the size of the array (number of field descriptions) -//----------------------------------------------------------------------------- - -//----------------------------------------------------------------------------- - -void CServerGameDLL::SaveReadFields( CSaveRestoreData *pSaveData, const char *pname, void *pBaseData, datamap_t *pMap, typedescription_t *pFields, int fieldCount ) -{ - CRestore restoreHelper( pSaveData ); - restoreHelper.ReadFields( pname, pBaseData, pMap, pFields, fieldCount ); -} - -//----------------------------------------------------------------------------- - -void CServerGameDLL::SaveGlobalState( CSaveRestoreData *s ) -{ - ::SaveGlobalState(s); -} - -void CServerGameDLL::RestoreGlobalState(CSaveRestoreData *s) -{ - ::RestoreGlobalState(s); -} - -void CServerGameDLL::Save( CSaveRestoreData *s ) -{ - CSave saveHelper( s ); - g_pGameSaveRestoreBlockSet->Save( &saveHelper ); -} - -void CServerGameDLL::Restore( CSaveRestoreData *s, bool b) -{ - CRestore restore(s); - g_pGameSaveRestoreBlockSet->Restore( &restore, b ); - g_pGameSaveRestoreBlockSet->PostRestore(); -} - -//----------------------------------------------------------------------------- -// Purpose: -// Input : msg_type - -// *name - -// size - -// Output : Returns true on success, false on failure. -//----------------------------------------------------------------------------- - -bool CServerGameDLL::GetUserMessageInfo( int msg_type, char *name, int maxnamelength, int& size ) -{ - if ( !usermessages->IsValidIndex( msg_type ) ) - return false; - - Q_strncpy( name, usermessages->GetUserMessageName( msg_type ), maxnamelength ); - size = usermessages->GetUserMessageSize( msg_type ); - return true; -} - -CStandardSendProxies* CServerGameDLL::GetStandardSendProxies() -{ - return &g_StandardSendProxies; -} - -int CServerGameDLL::CreateEntityTransitionList( CSaveRestoreData *s, int a) -{ - CRestore restoreHelper( s ); - // save off file base - int base = restoreHelper.GetReadPos(); - - int movedCount = ::CreateEntityTransitionList(s, a); - if ( movedCount ) - { - g_pGameSaveRestoreBlockSet->CallBlockHandlerRestore( GetPhysSaveRestoreBlockHandler(), base, &restoreHelper, false ); - g_pGameSaveRestoreBlockSet->CallBlockHandlerRestore( GetAISaveRestoreBlockHandler(), base, &restoreHelper, false ); - } - - GetPhysSaveRestoreBlockHandler()->PostRestore(); - GetAISaveRestoreBlockHandler()->PostRestore(); - - return movedCount; -} - -void CServerGameDLL::PreSave( CSaveRestoreData *s ) -{ - g_pGameSaveRestoreBlockSet->PreSave( s ); -} - -#include "client_textmessage.h" - -// This little hack lets me marry BSP names to messages in titles.txt -typedef struct -{ - char *pBSPName; - char *pTitleName; -} TITLECOMMENT; - -// this list gets searched for the first partial match, so some are out of order -static TITLECOMMENT gTitleComments[] = -{ -#ifdef HL1_DLL - { "t0a0", "#T0A0TITLE" }, - { "c0a0", "#HL1_Chapter1_Title" }, - { "c1a0", "#HL1_Chapter2_Title" }, - { "c1a1", "#HL1_Chapter3_Title" }, - { "c1a2", "#HL1_Chapter4_Title" }, - { "c1a3", "#HL1_Chapter5_Title" }, - { "c1a4", "#HL1_Chapter6_Title" }, - { "c2a1", "#HL1_Chapter7_Title" }, - { "c2a2", "#HL1_Chapter8_Title" }, - { "c2a3", "#HL1_Chapter9_Title" }, - { "c2a4d", "#HL1_Chapter11_Title" }, // These must appear before "C2A4" so all other map names starting with C2A4 get that title - { "c2a4e", "#HL1_Chapter11_Title" }, - { "c2a4f", "#HL1_Chapter11_Title" }, - { "c2a4g", "#HL1_Chapter11_Title" }, - { "c2a4", "#HL1_Chapter10_Title" }, - { "c2a5", "#HL1_Chapter12_Title" }, - { "c3a1", "#HL1_Chapter13_Title" }, - { "c3a2", "#HL1_Chapter14_Title" }, - { "c4a1a", "#HL1_Chapter17_Title" }, // Order is important, see above - { "c4a1b", "#HL1_Chapter17_Title" }, - { "c4a1c", "#HL1_Chapter17_Title" }, - { "c4a1d", "#HL1_Chapter17_Title" }, - { "c4a1e", "#HL1_Chapter17_Title" }, - { "c4a1", "#HL1_Chapter15_Title" }, - { "c4a2", "#HL1_Chapter16_Title" }, - { "c4a3", "#HL1_Chapter18_Title" }, - { "c5a1", "#HL1_Chapter19_Title" }, -#elif defined PORTAL - { "testchmb_a_00", "#Portal_Chapter1_Title" }, - { "testchmb_a_01", "#Portal_Chapter1_Title" }, - { "testchmb_a_02", "#Portal_Chapter2_Title" }, - { "testchmb_a_03", "#Portal_Chapter2_Title" }, - { "testchmb_a_04", "#Portal_Chapter3_Title" }, - { "testchmb_a_05", "#Portal_Chapter3_Title" }, - { "testchmb_a_06", "#Portal_Chapter4_Title" }, - { "testchmb_a_07", "#Portal_Chapter4_Title" }, - { "testchmb_a_08_advanced", "#Portal_Chapter5_Title" }, - { "testchmb_a_08", "#Portal_Chapter5_Title" }, - { "testchmb_a_09_advanced", "#Portal_Chapter6_Title" }, - { "testchmb_a_09", "#Portal_Chapter6_Title" }, - { "testchmb_a_10_advanced", "#Portal_Chapter7_Title" }, - { "testchmb_a_10", "#Portal_Chapter7_Title" }, - { "testchmb_a_11_advanced", "#Portal_Chapter8_Title" }, - { "testchmb_a_11", "#Portal_Chapter8_Title" }, - { "testchmb_a_13_advanced", "#Portal_Chapter9_Title" }, - { "testchmb_a_13", "#Portal_Chapter9_Title" }, - { "testchmb_a_14_advanced", "#Portal_Chapter10_Title" }, - { "testchmb_a_14", "#Portal_Chapter10_Title" }, - { "testchmb_a_15", "#Portal_Chapter11_Title" }, - { "escape_", "#Portal_Chapter11_Title" }, - { "background2", "#Portal_Chapter12_Title" }, -#else - { "intro", "#HL2_Chapter1_Title" }, - - { "d1_trainstation_05", "#HL2_Chapter2_Title" }, - { "d1_trainstation_06", "#HL2_Chapter2_Title" }, - - { "d1_trainstation_", "#HL2_Chapter1_Title" }, - - { "d1_canals_06", "#HL2_Chapter4_Title" }, - { "d1_canals_07", "#HL2_Chapter4_Title" }, - { "d1_canals_08", "#HL2_Chapter4_Title" }, - { "d1_canals_09", "#HL2_Chapter4_Title" }, - { "d1_canals_1", "#HL2_Chapter4_Title" }, - - { "d1_canals_0", "#HL2_Chapter3_Title" }, - - { "d1_eli_", "#HL2_Chapter5_Title" }, - - { "d1_town_", "#HL2_Chapter6_Title" }, - - { "d2_coast_09", "#HL2_Chapter8_Title" }, - { "d2_coast_1", "#HL2_Chapter8_Title" }, - { "d2_prison_01", "#HL2_Chapter8_Title" }, - - { "d2_coast_", "#HL2_Chapter7_Title" }, - - { "d2_prison_06", "#HL2_Chapter9a_Title" }, - { "d2_prison_07", "#HL2_Chapter9a_Title" }, - { "d2_prison_08", "#HL2_Chapter9a_Title" }, - - { "d2_prison_", "#HL2_Chapter9_Title" }, - - { "d3_c17_01", "#HL2_Chapter9a_Title" }, - { "d3_c17_09", "#HL2_Chapter11_Title" }, - { "d3_c17_1", "#HL2_Chapter11_Title" }, - - { "d3_c17_", "#HL2_Chapter10_Title" }, - - { "d3_citadel_", "#HL2_Chapter12_Title" }, - - { "d3_breen_", "#HL2_Chapter13_Title" }, - { "credits", "#HL2_Chapter14_Title" }, - - { "ep1_citadel_00", "#episodic_Chapter1_Title" }, - { "ep1_citadel_01", "#episodic_Chapter1_Title" }, - { "ep1_citadel_02b", "#episodic_Chapter1_Title" }, - { "ep1_citadel_02", "#episodic_Chapter1_Title" }, - { "ep1_citadel_03", "#episodic_Chapter2_Title" }, - { "ep1_citadel_04", "#episodic_Chapter2_Title" }, - { "ep1_c17_00a", "#episodic_Chapter3_Title" }, - { "ep1_c17_00", "#episodic_Chapter3_Title" }, - { "ep1_c17_01", "#episodic_Chapter4_Title" }, - { "ep1_c17_02b", "#episodic_Chapter4_Title" }, - { "ep1_c17_02", "#episodic_Chapter4_Title" }, - { "ep1_c17_05", "#episodic_Chapter5_Title" }, - { "ep1_c17_06", "#episodic_Chapter5_Title" }, - - { "ep2_outland_01a", "#ep2_Chapter1_Title" }, - { "ep2_outland_01", "#ep2_Chapter1_Title" }, - { "ep2_outland_02", "#ep2_Chapter2_Title" }, - { "ep2_outland_03", "#ep2_Chapter2_Title" }, - { "ep2_outland_04", "#ep2_Chapter2_Title" }, - { "ep2_outland_05", "#ep2_Chapter3_Title" }, - - { "ep2_outland_06a", "#ep2_Chapter4_Title" }, - { "ep2_outland_06", "#ep2_Chapter3_Title" }, - - { "ep2_outland_07", "#ep2_Chapter4_Title" }, - { "ep2_outland_08", "#ep2_Chapter4_Title" }, - { "ep2_outland_09", "#ep2_Chapter5_Title" }, - - { "ep2_outland_10a", "#ep2_Chapter5_Title" }, - { "ep2_outland_10", "#ep2_Chapter5_Title" }, - - { "ep2_outland_11a", "#ep2_Chapter6_Title" }, - { "ep2_outland_11", "#ep2_Chapter6_Title" }, - - { "ep2_outland_12a", "#ep2_Chapter7_Title" }, - { "ep2_outland_12", "#ep2_Chapter6_Title" }, -#endif -}; - -#ifdef _XBOX -void CServerGameDLL::GetTitleName( const char *pMapName, char* pTitleBuff, int titleBuffSize ) -{ - // Try to find a matching title comment for this mapname - for ( int i = 0; i < ARRAYSIZE(gTitleComments); i++ ) - { - if ( !Q_strnicmp( pMapName, gTitleComments[i].pBSPName, strlen(gTitleComments[i].pBSPName) ) ) - { - Q_strncpy( pTitleBuff, gTitleComments[i].pTitleName, titleBuffSize ); - return; - } - } - Q_strncpy( pTitleBuff, pMapName, titleBuffSize ); -} -#endif - -void CServerGameDLL::GetSaveComment( char *text, int maxlength, float flMinutes, float flSeconds, bool bNoTime ) -{ - char comment[64]; - const char *pName; - int i; - - char const *mapname = STRING( gpGlobals->mapname ); - - pName = NULL; - - // Try to find a matching title comment for this mapname - for ( i = 0; i < ARRAYSIZE(gTitleComments) && !pName; i++ ) - { - if ( !Q_strnicmp( mapname, gTitleComments[i].pBSPName, strlen(gTitleComments[i].pBSPName) ) ) - { - // found one - int j; - - // Got a message, post-process it to be save name friendly - Q_strncpy( comment, gTitleComments[i].pTitleName, sizeof( comment ) ); - pName = comment; - j = 0; - // Strip out CRs - while ( j < 64 && comment[j] ) - { - if ( comment[j] == '\n' || comment[j] == '\r' ) - comment[j] = 0; - else - j++; - } - break; - } - } - - // If we didn't get one, use the designer's map name, or the BSP name itself - if ( !pName ) - { - pName = mapname; - } - - if ( bNoTime ) - { - Q_snprintf( text, maxlength, "%-64.64s", pName ); - } - else - { - int minutes = flMinutes; - int seconds = flSeconds; - - // Wow, this guy/gal must suck...! - if ( minutes >= 1000 ) - { - minutes = 999; - seconds = 59; - } - - int minutesAdd = ( seconds / 60 ); - seconds %= 60; - - // add the elapsed time at the end of the comment, for the ui to parse out - Q_snprintf( text, maxlength, "%-64.64s %03d:%02d", pName, (minutes + minutesAdd), seconds ); - } -} - -void CServerGameDLL::WriteSaveHeaders( CSaveRestoreData *s ) -{ - CSave saveHelper( s ); - g_pGameSaveRestoreBlockSet->WriteSaveHeaders( &saveHelper ); - g_pGameSaveRestoreBlockSet->PostSave(); -} - -void CServerGameDLL::ReadRestoreHeaders( CSaveRestoreData *s ) -{ - CRestore restoreHelper( s ); - g_pGameSaveRestoreBlockSet->PreRestore(); - g_pGameSaveRestoreBlockSet->ReadRestoreHeaders( &restoreHelper ); -} - -void CServerGameDLL::PreSaveGameLoaded( char const *pSaveName, bool bInGame ) -{ - gamestats->Event_PreSaveGameLoaded( pSaveName, bInGame ); -} - -//----------------------------------------------------------------------------- -// Purpose: Returns true if the game DLL wants the server not to be made public. -// Used by commentary system to hide multiplayer commentary servers from the master. -//----------------------------------------------------------------------------- -bool CServerGameDLL::ShouldHideServer( void ) -{ - if ( g_pcv_commentary && g_pcv_commentary->GetBool() ) - return true; - - if ( gpGlobals->eLoadType == MapLoad_Background ) - return true; - - return false; -} - -//----------------------------------------------------------------------------- -// -//----------------------------------------------------------------------------- -void CServerGameDLL::InvalidateMdlCache() -{ - CBaseAnimating *pAnimating; - for ( CBaseEntity *pEntity = gEntList.FirstEnt(); pEntity != NULL; pEntity = gEntList.NextEnt(pEntity) ) - { - pAnimating = dynamic_cast(pEntity); - if ( pAnimating ) - { - pAnimating->InvalidateMdlCache(); - } - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Called during a transition, to build a map adjacency list -//----------------------------------------------------------------------------- -void CServerGameDLL::BuildAdjacentMapList( void ) -{ - // retrieve the pointer to the save data - CSaveRestoreData *pSaveData = gpGlobals->pSaveData; - - if ( pSaveData ) - pSaveData->levelInfo.connectionCount = BuildChangeList( pSaveData->levelInfo.levelList, MAX_LEVEL_CONNECTIONS ); -} - -//----------------------------------------------------------------------------- -// Purpose: Sanity-check to verify that a path is a relative path inside the game dir -// Taken From: engine/cmd.cpp -//----------------------------------------------------------------------------- -static bool IsValidPath( const char *pszFilename ) -{ - if ( !pszFilename ) - { - return false; - } - - if ( Q_strlen( pszFilename ) <= 0 || - Q_IsAbsolutePath( pszFilename ) || // to protect absolute paths - Q_strstr( pszFilename, ".." ) ) // to protect relative paths - { - return false; - } - - return true; -} - -static void ValidateMOTDFilename( IConVar *pConVar, const char *oldValue, float flOldValue ) -{ - ConVarRef var( pConVar ); - if ( !IsValidPath( var.GetString() ) ) - { - var.SetValue( var.GetDefault() ); - } -} - -static ConVar motdfile( "motdfile", "motd.txt", 0, "The MOTD file to load.", ValidateMOTDFilename ); -void CServerGameDLL::LoadMessageOfTheDay() -{ -#ifndef _XBOX - char data[2048]; - - int length = filesystem->Size( motdfile.GetString(), "GAME" ); - - if ( length <= 0 || length >= (sizeof(data)-1) ) - { - DevMsg("Invalid file size for %s\n", motdfile.GetString() ); - return; - } - - FileHandle_t hFile = filesystem->Open( motdfile.GetString(), "rb", "GAME" ); - - if ( hFile == FILESYSTEM_INVALID_HANDLE ) - return; - - filesystem->Read( data, length, hFile ); - filesystem->Close( hFile ); - - data[length] = 0; - - g_pStringTableInfoPanel->AddString( CBaseEntity::IsServer(), "motd", length+1, data ); -#endif -} - -// keeps track of which chapters the user has unlocked -ConVar sv_unlockedchapters( "sv_unlockedchapters", "1", FCVAR_ARCHIVE | FCVAR_ARCHIVE_XBOX ); - -//----------------------------------------------------------------------------- -// Purpose: Updates which chapters are unlocked -//----------------------------------------------------------------------------- -void UpdateChapterRestrictions( const char *mapname ) -{ - // look at the chapter for this map - char chapterTitle[64]; - chapterTitle[0] = 0; - for ( int i = 0; i < ARRAYSIZE(gTitleComments); i++ ) - { - if ( !Q_strnicmp( mapname, gTitleComments[i].pBSPName, strlen(gTitleComments[i].pBSPName) ) ) - { - // found - Q_strncpy( chapterTitle, gTitleComments[i].pTitleName, sizeof( chapterTitle ) ); - int j = 0; - while ( j < 64 && chapterTitle[j] ) - { - if ( chapterTitle[j] == '\n' || chapterTitle[j] == '\r' ) - chapterTitle[j] = 0; - else - j++; - } - - break; - } - } - - if ( !chapterTitle[0] ) - return; - - // make sure the specified chapter title is unlocked - strlwr( chapterTitle ); - - // Get our active mod directory name - char modDir[MAX_PATH]; - if ( UTIL_GetModDir( modDir, sizeof(modDir) ) == false ) - return; - - char chapterNumberPrefix[64]; - Q_snprintf(chapterNumberPrefix, sizeof(chapterNumberPrefix), "#%s_chapter", modDir); - - const char *newChapterNumber = strstr( chapterTitle, chapterNumberPrefix ); - if ( newChapterNumber ) - { - // cut off the front - newChapterNumber += strlen( chapterNumberPrefix ); - char newChapter[32]; - Q_strncpy( newChapter, newChapterNumber, sizeof(newChapter) ); - - // cut off the end - char *end = strstr( newChapter, "_title" ); - if ( end ) - { - *end = 0; - } - - int nNewChapter = atoi( newChapter ); - - // HACK: HL2 added a zany chapter "9a" which wreaks - // havoc in this stupid atoi-based chapter code. - if ( !Q_stricmp( modDir, "hl2" ) ) - { - if ( !Q_stricmp( newChapter, "9a" ) ) - { - nNewChapter = 10; - } - else if ( nNewChapter > 9 ) - { - nNewChapter++; - } - } - - // ok we have the string, see if it's newer - const char *unlockedChapter = sv_unlockedchapters.GetString(); - int nUnlockedChapter = atoi( unlockedChapter ); - - if ( nUnlockedChapter < nNewChapter ) - { - // ok we're at a higher chapter, unlock - sv_unlockedchapters.SetValue( nNewChapter ); - - // HACK: Call up through a better function than this? 7/23/07 - jdw - if ( IsX360() ) - { - engine->ServerCommand( "host_writeconfig\n" ); - } - } - - g_nCurrentChapterIndex = nNewChapter; - } -} - -//----------------------------------------------------------------------------- -// Purpose: Update xbox live data for the user's presence -//----------------------------------------------------------------------------- -void UpdateRichPresence ( void ) -{ - // This assumes we're playing a single player game - Assert ( gpGlobals->maxClients == 1 ); - - // Shouldn't get here unless we're playing a map and we've updated sv_unlockedchapters - Assert ( g_nCurrentChapterIndex >= 0 ); - - // Get our active mod directory name - char modDir[MAX_PATH]; - if ( UTIL_GetModDir( modDir, sizeof(modDir) ) == false ) - return; - - // Get presence data based on the game we're playing - uint iGameID, iChapterIndex, iChapterID, iGamePresenceID; - iGameID = iChapterIndex = iChapterID = iGamePresenceID = 0; - if ( Q_stristr( modDir, "hl2" ) ) - { - iGameID = CONTEXT_GAME_GAME_HALF_LIFE_2; - iChapterID = CONTEXT_CHAPTER_HL2; - iChapterIndex = g_nCurrentChapterIndex - 1; - iGamePresenceID = CONTEXT_PRESENCE_HL2_INGAME; - } - else if ( Q_stristr( modDir, "episodic" ) ) - { - iGameID = CONTEXT_GAME_GAME_EPISODE_ONE; - iChapterID = CONTEXT_CHAPTER_EP1; - iChapterIndex = g_nCurrentChapterIndex - 1; - iGamePresenceID = CONTEXT_PRESENCE_EP1_INGAME; - } - else if ( Q_stristr( modDir, "ep2" ) ) - { - iGameID = CONTEXT_GAME_GAME_EPISODE_TWO; - iChapterID = CONTEXT_CHAPTER_EP2; - iChapterIndex = g_nCurrentChapterIndex - 1; - iGamePresenceID = CONTEXT_PRESENCE_EP2_INGAME; - } - else if ( Q_stristr( modDir, "portal" ) ) - { - iGameID = CONTEXT_GAME_GAME_PORTAL; - iChapterID = CONTEXT_CHAPTER_PORTAL; - iChapterIndex = g_nCurrentChapterIndex - 1; - iGamePresenceID = CONTEXT_PRESENCE_PORTAL_INGAME; - } - else - { - Warning( "UpdateRichPresence failed in GameInterface. Didn't recognize -game parameter." ); - } - - if ( iChapterID < 0 ) - iChapterID = 0; - -#if defined( _X360 ) - - // Set chapter context based on mapname - if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), iChapterID, iChapterIndex, true ) ) - { - Warning( "GameInterface: UserSetContext failed.\n" ); - } - - if ( commentary.GetBool() ) - { - // Set presence to show the user is playing developer commentary - if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), X_CONTEXT_PRESENCE, CONTEXT_PRESENCE_COMMENTARY, true ) ) - { - Warning( "GameInterface: UserSetContext failed.\n" ); - } - } - else - { - // Set presence to show the user is in-game - if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), X_CONTEXT_PRESENCE, iGamePresenceID, true ) ) - { - Warning( "GameInterface: UserSetContext failed.\n" ); - } - } - - // Set which game the user is playing - if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), CONTEXT_GAME, iGameID, true ) ) - { - Warning( "GameInterface: UserSetContext failed.\n" ); - } - - if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), X_CONTEXT_GAME_TYPE, X_CONTEXT_GAME_TYPE_STANDARD, true ) ) - { - Warning( "GameInterface: UserSetContext failed.\n" ); - } - - if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), X_CONTEXT_GAME_MODE, CONTEXT_GAME_MODE_SINGLEPLAYER, true ) ) - { - Warning( "GameInterface: UserSetContext failed.\n" ); - } -#endif -} - -//----------------------------------------------------------------------------- -// Precaches a vgui screen overlay material -//----------------------------------------------------------------------------- -void PrecacheMaterial( const char *pMaterialName ) -{ - Assert( pMaterialName && pMaterialName[0] ); - g_pStringTableMaterials->AddString( CBaseEntity::IsServer(), pMaterialName ); -} - - -//----------------------------------------------------------------------------- -// Converts a previously precached material into an index -//----------------------------------------------------------------------------- -int GetMaterialIndex( const char *pMaterialName ) -{ - if (pMaterialName) - { - int nIndex = g_pStringTableMaterials->FindStringIndex( pMaterialName ); - - if (nIndex != INVALID_STRING_INDEX ) - { - return nIndex; - } - else - { - DevMsg("Warning! GetMaterialIndex: couldn't find material %s\n ", pMaterialName ); - return 0; - } - } - - // This is the invalid string index - return 0; -} - -//----------------------------------------------------------------------------- -// Converts a previously precached material index into a string -//----------------------------------------------------------------------------- -const char *GetMaterialNameFromIndex( int nMaterialIndex ) -{ - return g_pStringTableMaterials->GetString( nMaterialIndex ); -} - - -//----------------------------------------------------------------------------- -// Precaches a vgui screen overlay material -//----------------------------------------------------------------------------- -void PrecacheParticleSystem( const char *pParticleSystemName ) -{ - Assert( pParticleSystemName && pParticleSystemName[0] ); - g_pStringTableParticleEffectNames->AddString( CBaseEntity::IsServer(), pParticleSystemName ); -} - - -//----------------------------------------------------------------------------- -// Converts a previously precached material into an index -//----------------------------------------------------------------------------- -int GetParticleSystemIndex( const char *pParticleSystemName ) -{ - if ( pParticleSystemName ) - { - int nIndex = g_pStringTableParticleEffectNames->FindStringIndex( pParticleSystemName ); - if (nIndex != INVALID_STRING_INDEX ) - return nIndex; - - DevWarning("Server: Missing precache for particle system \"%s\"!\n", pParticleSystemName ); - } - - // This is the invalid string index - return 0; -} - -//----------------------------------------------------------------------------- -// Converts a previously precached material index into a string -//----------------------------------------------------------------------------- -const char *GetParticleSystemNameFromIndex( int nMaterialIndex ) -{ - if ( nMaterialIndex < g_pStringTableParticleEffectNames->GetMaxStrings() ) - return g_pStringTableParticleEffectNames->GetString( nMaterialIndex ); - return "error"; -} - -//----------------------------------------------------------------------------- -// Returns true if host_thread_mode is set to non-zero (and engine is running in threaded mode) -//----------------------------------------------------------------------------- -bool IsEngineThreaded() -{ - if ( g_pcv_ThreadMode ) - { - return g_pcv_ThreadMode->GetBool(); - } - return false; -} - -class CServerGameEnts : public IServerGameEnts -{ -public: - virtual void SetDebugEdictBase(edict_t *base); - virtual void MarkEntitiesAsTouching( edict_t *e1, edict_t *e2 ); - virtual void FreeContainingEntity( edict_t * ); - virtual edict_t* BaseEntityToEdict( CBaseEntity *pEnt ); - virtual CBaseEntity* EdictToBaseEntity( edict_t *pEdict ); - virtual void CheckTransmit( CCheckTransmitInfo *pInfo, const unsigned short *pEdictIndices, int nEdicts ); -}; -EXPOSE_SINGLE_INTERFACE(CServerGameEnts, IServerGameEnts, INTERFACEVERSION_SERVERGAMEENTS); - -void CServerGameEnts::SetDebugEdictBase(edict_t *base) -{ - g_pDebugEdictBase = base; -} - -//----------------------------------------------------------------------------- -// Purpose: Marks entities as touching -// Input : *e1 - -// *e2 - -//----------------------------------------------------------------------------- -void CServerGameEnts::MarkEntitiesAsTouching( edict_t *e1, edict_t *e2 ) -{ - CBaseEntity *entity = GetContainingEntity( e1 ); - CBaseEntity *entityTouched = GetContainingEntity( e2 ); - if ( entity && entityTouched ) - { - // HACKHACK: UNDONE: Pass in the trace here??!?!? - trace_t tr; - UTIL_ClearTrace( tr ); - tr.endpos = (entity->GetAbsOrigin() + entityTouched->GetAbsOrigin()) * 0.5; - entity->PhysicsMarkEntitiesAsTouching( entityTouched, tr ); - } -} - -void CServerGameEnts::FreeContainingEntity( edict_t *e ) -{ - ::FreeContainingEntity(e); -} - -edict_t* CServerGameEnts::BaseEntityToEdict( CBaseEntity *pEnt ) -{ - if ( pEnt ) - return pEnt->edict(); - else - return NULL; -} - -CBaseEntity* CServerGameEnts::EdictToBaseEntity( edict_t *pEdict ) -{ - if ( pEdict ) - return CBaseEntity::Instance( pEdict ); - else - return NULL; -} - - -/* Yuck.. ideally this would be in CServerNetworkProperty's header, but it requires CBaseEntity and -// inlining it gives a nice speedup. -inline void CServerNetworkProperty::CheckTransmit( CCheckTransmitInfo *pInfo ) -{ - // If we have a transmit proxy, let it hook our ShouldTransmit return value. - if ( m_pTransmitProxy ) - { - nShouldTransmit = m_pTransmitProxy->ShouldTransmit( pInfo, nShouldTransmit ); - } - - if ( m_pOuter->ShouldTransmit( pInfo ) ) - { - m_pOuter->SetTransmit( pInfo ); - } -} */ - -void CServerGameEnts::CheckTransmit( CCheckTransmitInfo *pInfo, const unsigned short *pEdictIndices, int nEdicts ) -{ - // NOTE: for speed's sake, this assumes that all networkables are CBaseEntities and that the edict list - // is consecutive in memory. If either of these things change, then this routine needs to change, but - // ideally we won't be calling any virtual from this routine. This speedy routine was added as an - // optimization which would be nice to keep. - edict_t *pBaseEdict = engine->PEntityOfEntIndex( 0 ); - - // get recipient player's skybox: - CBaseEntity *pRecipientEntity = CBaseEntity::Instance( pInfo->m_pClientEnt ); - - Assert( pRecipientEntity && pRecipientEntity->IsPlayer() ); - if ( !pRecipientEntity ) - return; - - MDLCACHE_CRITICAL_SECTION(); - CBasePlayer *pRecipientPlayer = static_cast( pRecipientEntity ); - const int skyBoxArea = pRecipientPlayer->m_Local.m_skybox3d.area; - -#ifndef _X360 - const bool bIsHLTV = pRecipientPlayer->IsHLTV(); - - // m_pTransmitAlways must be set if HLTV client - Assert( bIsHLTV == ( pInfo->m_pTransmitAlways != NULL) ); -#endif - - for ( int i=0; i < nEdicts; i++ ) - { - int iEdict = pEdictIndices[i]; - - edict_t *pEdict = &pBaseEdict[iEdict]; - Assert( pEdict == engine->PEntityOfEntIndex( iEdict ) ); - int nFlags = pEdict->m_fStateFlags & (FL_EDICT_DONTSEND|FL_EDICT_ALWAYS|FL_EDICT_PVSCHECK|FL_EDICT_FULLCHECK); - - // entity needs no transmit - if ( nFlags & FL_EDICT_DONTSEND ) - continue; - - // entity is already marked for sending - if ( pInfo->m_pTransmitEdict->Get( iEdict ) ) - continue; - - if ( nFlags & FL_EDICT_ALWAYS ) - { - // FIXME: Hey! Shouldn't this be using SetTransmit so as - // to also force network down dependent entities? - while ( true ) - { - // mark entity for sending - pInfo->m_pTransmitEdict->Set( iEdict ); - -#ifndef _X360 - if ( bIsHLTV ) - { - pInfo->m_pTransmitAlways->Set( iEdict ); - } -#endif - CServerNetworkProperty *pEnt = static_cast( pEdict->GetNetworkable() ); - if ( !pEnt ) - break; - - CServerNetworkProperty *pParent = pEnt->GetNetworkParent(); - if ( !pParent ) - break; - - pEdict = pParent->edict(); - iEdict = pParent->entindex(); - } - continue; - } - - // FIXME: Would like to remove all dependencies - CBaseEntity *pEnt = ( CBaseEntity * )pEdict->GetUnknown(); - Assert( dynamic_cast< CBaseEntity* >( pEdict->GetUnknown() ) == pEnt ); - - if ( nFlags == FL_EDICT_FULLCHECK ) - { - // do a full ShouldTransmit() check, may return FL_EDICT_CHECKPVS - nFlags = pEnt->ShouldTransmit( pInfo ); - - Assert( !(nFlags & FL_EDICT_FULLCHECK) ); - - if ( nFlags & FL_EDICT_ALWAYS ) - { - pEnt->SetTransmit( pInfo, true ); - continue; - } - } - - // don't send this entity - if ( !( nFlags & FL_EDICT_PVSCHECK ) ) - continue; - - CServerNetworkProperty *netProp = static_cast( pEdict->GetNetworkable() ); - -#ifndef _X360 - if ( bIsHLTV ) - { - // for the HLTV we don't cull against PVS - if ( netProp->AreaNum() == skyBoxArea ) - { - pEnt->SetTransmit( pInfo, true ); - } - else - { - pEnt->SetTransmit( pInfo, false ); - } - continue; - } -#endif - - // Always send entities in the player's 3d skybox. - // Sidenote: call of AreaNum() ensures that PVS data is up to date for this entity - bool bSameAreaAsSky = netProp->AreaNum() == skyBoxArea; - if ( bSameAreaAsSky ) - { - pEnt->SetTransmit( pInfo, true ); - continue; - } - - bool bInPVS = netProp->IsInPVS( pInfo ); - if ( bInPVS || sv_force_transmit_ents.GetBool() ) - { - // only send if entity is in PVS - pEnt->SetTransmit( pInfo, false ); - continue; - } - - // If the entity is marked "check PVS" but it's in hierarchy, walk up the hierarchy looking for the - // for any parent which is also in the PVS. If none are found, then we don't need to worry about sending ourself - CBaseEntity *orig = pEnt; - CServerNetworkProperty *check = netProp->GetNetworkParent(); - - // BUG BUG: I think it might be better to build up a list of edict indices which "depend" on other answers and then - // resolve them in a second pass. Not sure what happens if an entity has two parents who both request PVS check? - while ( check ) - { - int checkIndex = check->entindex(); - - // Parent already being sent - if ( pInfo->m_pTransmitEdict->Get( checkIndex ) ) - { - orig->SetTransmit( pInfo, true ); - break; - } - - edict_t *checkEdict = check->edict(); - int checkFlags = checkEdict->m_fStateFlags & (FL_EDICT_DONTSEND|FL_EDICT_ALWAYS|FL_EDICT_PVSCHECK|FL_EDICT_FULLCHECK); - if ( checkFlags & FL_EDICT_DONTSEND ) - break; - - if ( checkFlags & FL_EDICT_ALWAYS ) - { - orig->SetTransmit( pInfo, true ); - break; - } - - if ( checkFlags == FL_EDICT_FULLCHECK ) - { - // do a full ShouldTransmit() check, may return FL_EDICT_CHECKPVS - CBaseEntity *pCheckEntity = check->GetBaseEntity(); - nFlags = pCheckEntity->ShouldTransmit( pInfo ); - Assert( !(nFlags & FL_EDICT_FULLCHECK) ); - if ( nFlags & FL_EDICT_ALWAYS ) - { - pCheckEntity->SetTransmit( pInfo, true ); - orig->SetTransmit( pInfo, true ); - } - break; - } - - if ( checkFlags & FL_EDICT_PVSCHECK ) - { - // Check pvs - check->RecomputePVSInformation(); - bool bMoveParentInPVS = check->IsInPVS( pInfo ); - if ( bMoveParentInPVS ) - { - orig->SetTransmit( pInfo, true ); - break; - } - } - - // Continue up chain just in case the parent itself has a parent that's in the PVS... - check = check->GetNetworkParent(); - } - } - -// Msg("A:%i, N:%i, F: %i, P: %i\n", always, dontSend, fullCheck, PVS ); -} - - -CServerGameClients g_ServerGameClients; -EXPOSE_SINGLE_INTERFACE_GLOBALVAR(CServerGameClients, IServerGameClients, INTERFACEVERSION_SERVERGAMECLIENTS, g_ServerGameClients ); - - -//----------------------------------------------------------------------------- -// Purpose: called when a player tries to connect to the server -// Input : *pEdict - the new player -// char *pszName - the players name -// char *pszAddress - the IP address of the player -// reject - output - fill in with the reason why -// maxrejectlen -- sizeof output buffer -// the player was not allowed to connect. -// Output : Returns TRUE if player is allowed to join, FALSE if connection is denied. -//----------------------------------------------------------------------------- -bool CServerGameClients::ClientConnect( edict_t *pEdict, const char *pszName, const char *pszAddress, char *reject, int maxrejectlen ) -{ - return g_pGameRules->ClientConnected( pEdict, pszName, pszAddress, reject, maxrejectlen ); -} - -//----------------------------------------------------------------------------- -// Purpose: Called when a player is fully active (i.e. ready to receive messages) -// Input : *pEntity - the player -//----------------------------------------------------------------------------- -void CServerGameClients::ClientActive( edict_t *pEdict, bool bLoadGame ) -{ - MDLCACHE_CRITICAL_SECTION(); - - ::ClientActive( pEdict, bLoadGame ); - - // If we just loaded from a save file, call OnRestore on valid entities - EndRestoreEntities(); - - if ( gpGlobals->eLoadType != MapLoad_LoadGame ) - { - // notify all entities that the player is now in the game - for ( CBaseEntity *pEntity = gEntList.FirstEnt(); pEntity != NULL; pEntity = gEntList.NextEnt(pEntity) ) - { - pEntity->PostClientActive(); - } - } - - // Tell the sound controller to check looping sounds - CBasePlayer *pPlayer = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); - CSoundEnvelopeController::GetController().CheckLoopingSoundsForPlayer( pPlayer ); - SceneManager_ClientActive( pPlayer ); -} - -//----------------------------------------------------------------------------- -// Purpose: called when a player disconnects from a server -// Input : *pEdict - the player -//----------------------------------------------------------------------------- -void CServerGameClients::ClientDisconnect( edict_t *pEdict ) -{ - extern bool g_fGameOver; - - CBasePlayer *player = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); - if ( player ) - { - if ( !g_fGameOver ) - { - player->SetMaxSpeed( 0.0f ); - - CSound *pSound; - pSound = CSoundEnt::SoundPointerForIndex( CSoundEnt::ClientSoundIndex( pEdict ) ); - { - // since this client isn't around to think anymore, reset their sound. - if ( pSound ) - { - pSound->Reset(); - } - } - - // since the edict doesn't get deleted, fix it so it doesn't interfere. - player->RemoveFlag( FL_AIMTARGET ); // don't attract autoaim - player->AddFlag( FL_DONTTOUCH ); // stop it touching anything - player->AddFlag( FL_NOTARGET ); // stop NPCs noticing it - player->AddSolidFlags( FSOLID_NOT_SOLID ); // nonsolid - - if ( g_pGameRules ) - { - g_pGameRules->ClientDisconnected( pEdict ); - gamestats->Event_PlayerDisconnected( player ); - } - } - - // Make sure all Untouch()'s are called for this client leaving - CBaseEntity::PhysicsRemoveTouchedList( player ); - CBaseEntity::PhysicsRemoveGroundList( player ); - -#if !defined( NO_ENTITY_PREDICTION ) - // Make sure anything we "own" is simulated by the server from now on - player->ClearPlayerSimulationList(); -#endif - } -} - -void CServerGameClients::ClientPutInServer( edict_t *pEntity, const char *playername ) -{ - if ( g_pClientPutInServerOverride ) - g_pClientPutInServerOverride( pEntity, playername ); - else - ::ClientPutInServer( pEntity, playername ); -} - -void CServerGameClients::ClientCommand( edict_t *pEntity, const CCommand &args ) -{ - CBasePlayer *pPlayer = ToBasePlayer( GetContainingEntity( pEntity ) ); - ::ClientCommand( pPlayer, args ); -} - -//----------------------------------------------------------------------------- -// Purpose: called after the player changes userinfo - gives dll a chance to modify -// it before it gets sent into the rest of the engine-> -// Input : *pEdict - the player -// *infobuffer - their infobuffer -//----------------------------------------------------------------------------- -void CServerGameClients::ClientSettingsChanged( edict_t *pEdict ) -{ - // Is the client spawned yet? - if ( !pEdict->GetUnknown() ) - return; - - CBasePlayer *player = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); - - if ( !player ) - return; - -#define QUICKGETCVARVALUE(v) (engine->GetClientConVarValue( player->entindex(), v )) - - // get network setting for prediction & lag compensation - - // Unfortunately, we have to duplicate the code in cdll_bounded_cvars.cpp here because the client - // doesn't send the virtualized value up (because it has no way to know when the virtualized value - // changes). Possible todo: put the responsibility on the bounded cvar to notify the engine when - // its virtualized value has changed. - - player->m_nUpdateRate = Q_atoi( QUICKGETCVARVALUE("cl_updaterate") ); - static const ConVar *pMinUpdateRate = g_pCVar->FindVar( "sv_minupdaterate" ); - static const ConVar *pMaxUpdateRate = g_pCVar->FindVar( "sv_maxupdaterate" ); - if ( pMinUpdateRate && pMaxUpdateRate ) - player->m_nUpdateRate = (int)clamp( player->m_nUpdateRate, pMinUpdateRate->GetFloat(), pMaxUpdateRate->GetFloat() ); - - bool useInterpolation = Q_atoi( QUICKGETCVARVALUE("cl_interpolate") ) != 0; - if ( useInterpolation ) - { - float flLerpRatio = Q_atof( QUICKGETCVARVALUE("cl_interp_ratio") ); - if ( flLerpRatio == 0 ) - flLerpRatio = 1.0f; - float flLerpAmount = Q_atof( QUICKGETCVARVALUE("cl_interp") ); - - static const ConVar *pMin = g_pCVar->FindVar( "sv_client_min_interp_ratio" ); - static const ConVar *pMax = g_pCVar->FindVar( "sv_client_max_interp_ratio" ); - if ( pMin && pMax && pMin->GetFloat() != -1 ) - { - flLerpRatio = clamp( flLerpRatio, pMin->GetFloat(), pMax->GetFloat() ); - } - else - { - if ( flLerpRatio == 0 ) - flLerpRatio = 1.0f; - } - // #define FIXME_INTERP_RATIO - player->m_fLerpTime = max( flLerpAmount, flLerpRatio / player->m_nUpdateRate ); - } - else - { - player->m_fLerpTime = 0.0f; - } - -#if !defined( NO_ENTITY_PREDICTION ) - bool usePrediction = Q_atoi( QUICKGETCVARVALUE("cl_predict")) != 0; - - if ( usePrediction ) - { - player->m_bPredictWeapons = Q_atoi( QUICKGETCVARVALUE("cl_predictweapons")) != 0; - player->m_bLagCompensation = Q_atoi( QUICKGETCVARVALUE("cl_lagcompensation")) != 0; - } - else -#endif - { - player->m_bPredictWeapons = false; - player->m_bLagCompensation = false; - } - - -#undef QUICKGETCVARVALUE - - g_pGameRules->ClientSettingsChanged( player ); -} - - -#ifdef PORTAL -//----------------------------------------------------------------------------- -// Purpose: Runs CFuncAreaPortalBase::UpdateVisibility on each portal -// Input : pAreaPortal - The Area portal to test for visibility from portals -// Output : int - 1 if any portal needs this area portal open, 0 otherwise. -//----------------------------------------------------------------------------- -int TestAreaPortalVisibilityThroughPortals ( CFuncAreaPortalBase* pAreaPortal, edict_t *pViewEntity, unsigned char *pvs, int pvssize ) -{ - int iPortalCount = CProp_Portal_Shared::AllPortals.Count(); - if( iPortalCount == 0 ) - return 0; - - CProp_Portal **pPortals = CProp_Portal_Shared::AllPortals.Base(); - - for ( int i = 0; i != iPortalCount; ++i ) - { - CProp_Portal* pLocalPortal = pPortals[ i ]; - if ( pLocalPortal && pLocalPortal->m_bActivated ) - { - CProp_Portal* pRemotePortal = pLocalPortal->m_hLinkedPortal.Get(); - - // Make sure this portal's linked portal is in the PVS before we add what it can see - if ( pRemotePortal && pRemotePortal->m_bActivated && pRemotePortal->NetworkProp() && - pRemotePortal->NetworkProp()->IsInPVS( pViewEntity, pvs, pvssize ) ) - { - bool bIsOpenOnClient = true; - float fovDistanceAdjustFactor = 1.0f; - Vector portalOrg = pLocalPortal->GetAbsOrigin(); - int iPortalNeedsThisPortalOpen = pAreaPortal->UpdateVisibility( portalOrg, fovDistanceAdjustFactor, bIsOpenOnClient ); - - // Stop checking on success, this portal needs to be open - if ( iPortalNeedsThisPortalOpen ) - { - return iPortalNeedsThisPortalOpen; - } - } - } - } - - return 0; -} -#endif - -//----------------------------------------------------------------------------- -// Purpose: A client can have a separate "view entity" indicating that his/her view should depend on the origin of that -// view entity. If that's the case, then pViewEntity will be non-NULL and will be used. Otherwise, the current -// entity's origin is used. Either is offset by the m_vecViewOffset to get the eye position. -// From the eye position, we set up the PAS and PVS to use for filtering network messages to the client. At this point, we could -// override the actual PAS or PVS values, or use a different origin. -// NOTE: Do not cache the values of pas and pvs, as they depend on reusable memory in the engine, they are only good for this one frame -// Input : *pViewEntity - -// *pClient - -// **pvs - -// **pas - -//----------------------------------------------------------------------------- -void CServerGameClients::ClientSetupVisibility( edict_t *pViewEntity, edict_t *pClient, unsigned char *pvs, int pvssize ) -{ - Vector org; - - // Reset the PVS!!! - engine->ResetPVS( pvs, pvssize ); - - g_pToolFrameworkServer->PreSetupVisibility(); - - // Find the client's PVS - CBaseEntity *pVE = NULL; - if ( pViewEntity ) - { - pVE = GetContainingEntity( pViewEntity ); - // If we have a viewentity, it overrides the player's origin - if ( pVE ) - { - org = pVE->EyePosition(); - engine->AddOriginToPVS( org ); - } - } - - float fovDistanceAdjustFactor = 1; - - CBasePlayer *pPlayer = ( CBasePlayer * )GetContainingEntity( pClient ); - if ( pPlayer ) - { - org = pPlayer->EyePosition(); - pPlayer->SetupVisibility( pVE, pvs, pvssize ); - UTIL_SetClientVisibilityPVS( pClient, pvs, pvssize ); - fovDistanceAdjustFactor = pPlayer->GetFOVDistanceAdjustFactorForNetworking(); - } - - unsigned char portalBits[MAX_AREA_PORTAL_STATE_BYTES]; - memset( portalBits, 0, sizeof( portalBits ) ); - - int portalNums[512]; - int isOpen[512]; - int iOutPortal = 0; - - for( unsigned short i = g_AreaPortals.Head(); i != g_AreaPortals.InvalidIndex(); i = g_AreaPortals.Next(i) ) - { - CFuncAreaPortalBase *pCur = g_AreaPortals[i]; - - bool bIsOpenOnClient = true; - - // Update our array of which portals are open and flush it if necessary. - portalNums[iOutPortal] = pCur->m_portalNumber; - isOpen[iOutPortal] = pCur->UpdateVisibility( org, fovDistanceAdjustFactor, bIsOpenOnClient ); - -#ifdef PORTAL - // If the client doesn't need this open, test if portals might need this area portal open - if ( isOpen[iOutPortal] == 0 ) - { - isOpen[iOutPortal] = TestAreaPortalVisibilityThroughPortals( pCur, pViewEntity, pvs, pvssize ); - } -#endif - - ++iOutPortal; - if ( iOutPortal >= ARRAYSIZE( portalNums ) ) - { - engine->SetAreaPortalStates( portalNums, isOpen, iOutPortal ); - iOutPortal = 0; - } - - // Version 0 portals (ie: shipping Half-Life 2 era) are always treated as open - // for purposes of the m_chAreaPortalBits array on the client. - if ( pCur->m_iPortalVersion == 0 ) - bIsOpenOnClient = true; - - if ( bIsOpenOnClient ) - { - if ( pCur->m_portalNumber < 0 ) - continue; - else if ( pCur->m_portalNumber >= sizeof( portalBits ) * 8 ) - Error( "ClientSetupVisibility: portal number (%d) too large", pCur->m_portalNumber ); - else - portalBits[pCur->m_portalNumber >> 3] |= (1 << (pCur->m_portalNumber & 7)); - } - } - - // Flush the remaining areaportal states. - engine->SetAreaPortalStates( portalNums, isOpen, iOutPortal ); - - // Update the area bits that get sent to the client. - pPlayer->m_Local.UpdateAreaBits( pPlayer, portalBits ); - -#ifdef PORTAL - // *After* the player's view has updated its area bits, add on any other areas seen by portals - CPortal_Player* pPortalPlayer = dynamic_cast( pPlayer ); - if ( pPortalPlayer ) - { - pPortalPlayer->UpdatePortalViewAreaBits( pvs, pvssize ); - } -#endif //PORTAL -} - - - - -//----------------------------------------------------------------------------- -// Purpose: -// Input : *player - -// *buf - -// numcmds - -// totalcmds - -// dropped_packets - -// ignore - -// paused - -// Output : float -//----------------------------------------------------------------------------- -#define CMD_MAXBACKUP 64 - -float CServerGameClients::ProcessUsercmds( edict_t *player, bf_read *buf, int numcmds, int totalcmds, - int dropped_packets, bool ignore, bool paused ) -{ - int i; - CUserCmd *from, *to; - - // We track last three command in case we drop some - // packets but get them back. - CUserCmd cmds[ CMD_MAXBACKUP ]; - - CUserCmd cmdNull; // For delta compression - - Assert( numcmds >= 0 ); - Assert( ( totalcmds - numcmds ) >= 0 ); - - CBasePlayer *pPlayer = NULL; - CBaseEntity *pEnt = CBaseEntity::Instance(player); - if ( pEnt && pEnt->IsPlayer() ) - { - pPlayer = static_cast< CBasePlayer * >( pEnt ); - } - // Too many commands? - if ( totalcmds < 0 || totalcmds >= ( CMD_MAXBACKUP - 1 ) ) - { - const char *name = "unknown"; - if ( pPlayer ) - { - name = pPlayer->GetPlayerName(); - } - - Msg("CBasePlayer::ProcessUsercmds: too many cmds %i sent for player %s\n", totalcmds, name ); - // FIXME: Need a way to drop the client from here - //SV_DropClient ( host_client, false, "CMD_MAXBACKUP hit" ); - buf->SetOverflowFlag(); - return 0.0f; - } - - // Initialize for reading delta compressed usercmds - cmdNull.Reset(); - from = &cmdNull; - for ( i = totalcmds - 1; i >= 0; i-- ) - { - to = &cmds[ i ]; - ReadUsercmd( buf, to, from ); - from = to; - } - - // Client not fully connected or server has gone inactive or is paused, just ignore - if ( ignore || !pPlayer ) - { - return 0.0f; - } - - MDLCACHE_CRITICAL_SECTION(); - pPlayer->ProcessUsercmds( cmds, numcmds, totalcmds, dropped_packets, paused ); - - return TICK_INTERVAL; -} - - -void CServerGameClients::PostClientMessagesSent( void ) -{ - VPROF("CServerGameClients::PostClient"); - gEntList.PostClientMessagesSent(); -} - -// Sets the client index for the client who typed the command into his/her console -void CServerGameClients::SetCommandClient( int index ) -{ - g_nCommandClientIndex = index; -} - -int CServerGameClients::GetReplayDelay( edict_t *pEdict, int &entity ) -{ - CBasePlayer *pPlayer = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); - - if ( !pPlayer ) - return 0; - - entity = pPlayer->GetReplayEntity(); - - return pPlayer->GetDelayTicks(); -} - - -//----------------------------------------------------------------------------- -// The client's userinfo data lump has changed -//----------------------------------------------------------------------------- -void CServerGameClients::ClientEarPosition( edict_t *pEdict, Vector *pEarOrigin ) -{ - CBasePlayer *pPlayer = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); - if (pPlayer) - { - *pEarOrigin = pPlayer->EarPosition(); - } - else - { - // Shouldn't happen - Assert(0); - *pEarOrigin = vec3_origin; - } -} - -//----------------------------------------------------------------------------- -// Purpose: -// Input : *player - -// Output : CPlayerState -//----------------------------------------------------------------------------- -CPlayerState *CServerGameClients::GetPlayerState( edict_t *player ) -{ - // Is the client spawned yet? - if ( !player || !player->GetUnknown() ) - return NULL; - - CBasePlayer *pBasePlayer = ( CBasePlayer * )CBaseEntity::Instance( player ); - if ( !pBasePlayer ) - return NULL; - - return &pBasePlayer->pl; -} - -//----------------------------------------------------------------------------- -// Purpose: Anything this game .dll wants to add to the bug reporter text (e.g., the entity/model under the picker crosshair) -// can be added here -// Input : *buf - -// buflen - -//----------------------------------------------------------------------------- -void CServerGameClients::GetBugReportInfo( char *buf, int buflen ) -{ - recentNPCSpeech_t speech[ SPEECH_LIST_MAX_SOUNDS ]; - int num; - int i; - - buf[ 0 ] = 0; - - if ( gpGlobals->maxClients == 1 ) - { - CBaseEntity *ent = FindPickerEntity( UTIL_PlayerByIndex(1) ); - if ( ent ) - { - Q_snprintf( buf, buflen, "Picker %i/%s - ent %s model %s\n", - ent->entindex(), - ent->GetClassname(), - STRING( ent->GetEntityName() ), - ent->GetModelName() ); - } - - // get any sounds that were spoken by NPCs recently - num = GetRecentNPCSpeech( speech ); - if ( num > 0 ) - { - Q_snprintf( buf, buflen, "%sRecent NPC speech:\n", buf ); - for( i = 0; i < num; i++ ) - { - Q_snprintf( buf, buflen, "%s time: %6.3f sound name: %s scene: %s\n", buf, speech[ i ].time, speech[ i ].name, speech[ i ].sceneName ); - } - Q_snprintf( buf, buflen, "%sCurrent time: %6.3f\n", buf, gpGlobals->curtime ); - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: A user has had their network id setup and validated -//----------------------------------------------------------------------------- -void CServerGameClients::NetworkIDValidated( const char *pszUserName, const char *pszNetworkID ) -{ -} - - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -static bf_write *g_pMsgBuffer = NULL; - -void EntityMessageBegin( CBaseEntity * entity, bool reliable /*= false*/ ) -{ - Assert( !g_pMsgBuffer ); - - Assert ( entity ); - - g_pMsgBuffer = engine->EntityMessageBegin( entity->entindex(), entity->GetServerClass(), reliable ); -} - -void UserMessageBegin( IRecipientFilter& filter, const char *messagename ) -{ - Assert( !g_pMsgBuffer ); - - Assert( messagename ); - - int msg_type = usermessages->LookupUserMessage( messagename ); - - if ( msg_type == -1 ) - { - Error( "UserMessageBegin: Unregistered message '%s'\n", messagename ); - } - - g_pMsgBuffer = engine->UserMessageBegin( &filter, msg_type ); -} - -void MessageEnd( void ) -{ - Assert( g_pMsgBuffer ); - - engine->MessageEnd(); - - g_pMsgBuffer = NULL; -} - -void MessageWriteByte( int iValue) -{ - if (!g_pMsgBuffer) - Error( "WRITE_BYTE called with no active message\n" ); - - g_pMsgBuffer->WriteByte( iValue ); -} - -void MessageWriteChar( int iValue) -{ - if (!g_pMsgBuffer) - Error( "WRITE_CHAR called with no active message\n" ); - - g_pMsgBuffer->WriteChar( iValue ); -} - -void MessageWriteShort( int iValue) -{ - if (!g_pMsgBuffer) - Error( "WRITE_SHORT called with no active message\n" ); - - g_pMsgBuffer->WriteShort( iValue ); -} - -void MessageWriteWord( int iValue ) -{ - if (!g_pMsgBuffer) - Error( "WRITE_WORD called with no active message\n" ); - - g_pMsgBuffer->WriteWord( iValue ); -} - -void MessageWriteLong( int iValue) -{ - if (!g_pMsgBuffer) - Error( "WriteLong called with no active message\n" ); - - g_pMsgBuffer->WriteLong( iValue ); -} - -void MessageWriteFloat( float flValue) -{ - if (!g_pMsgBuffer) - Error( "WriteFloat called with no active message\n" ); - - g_pMsgBuffer->WriteFloat( flValue ); -} - -void MessageWriteAngle( float flValue) -{ - if (!g_pMsgBuffer) - Error( "WriteAngle called with no active message\n" ); - - g_pMsgBuffer->WriteBitAngle( flValue, 8 ); -} - -void MessageWriteCoord( float flValue) -{ - if (!g_pMsgBuffer) - Error( "WriteCoord called with no active message\n" ); - - g_pMsgBuffer->WriteBitCoord( flValue ); -} - -void MessageWriteVec3Coord( const Vector& rgflValue) -{ - if (!g_pMsgBuffer) - Error( "WriteVec3Coord called with no active message\n" ); - - g_pMsgBuffer->WriteBitVec3Coord( rgflValue ); -} - -void MessageWriteVec3Normal( const Vector& rgflValue) -{ - if (!g_pMsgBuffer) - Error( "WriteVec3Normal called with no active message\n" ); - - g_pMsgBuffer->WriteBitVec3Normal( rgflValue ); -} - -void MessageWriteAngles( const QAngle& rgflValue) -{ - if (!g_pMsgBuffer) - Error( "WriteVec3Normal called with no active message\n" ); - - g_pMsgBuffer->WriteBitAngles( rgflValue ); -} - -void MessageWriteString( const char *sz ) -{ - if (!g_pMsgBuffer) - Error( "WriteString called with no active message\n" ); - - g_pMsgBuffer->WriteString( sz ); -} - -void MessageWriteEntity( int iValue) -{ - if (!g_pMsgBuffer) - Error( "WriteEntity called with no active message\n" ); - - g_pMsgBuffer->WriteShort( iValue ); -} - -void MessageWriteEHandle( CBaseEntity *pEntity ) -{ - if (!g_pMsgBuffer) - Error( "WriteEHandle called with no active message\n" ); - - long iEncodedEHandle; - - if( pEntity ) - { - EHANDLE hEnt = pEntity; - - int iSerialNum = hEnt.GetSerialNumber() & (1 << NUM_NETWORKED_EHANDLE_SERIAL_NUMBER_BITS) - 1; - iEncodedEHandle = hEnt.GetEntryIndex() | (iSerialNum << MAX_EDICT_BITS); - } - else - { - iEncodedEHandle = INVALID_NETWORKED_EHANDLE_VALUE; - } - - g_pMsgBuffer->WriteLong( iEncodedEHandle ); -} - -// bitwise -void MessageWriteBool( bool bValue ) -{ - if (!g_pMsgBuffer) - Error( "WriteBool called with no active message\n" ); - - g_pMsgBuffer->WriteOneBit( bValue ? 1 : 0 ); -} - -void MessageWriteUBitLong( unsigned int data, int numbits ) -{ - if (!g_pMsgBuffer) - Error( "WriteUBitLong called with no active message\n" ); - - g_pMsgBuffer->WriteUBitLong( data, numbits ); -} - -void MessageWriteSBitLong( int data, int numbits ) -{ - if (!g_pMsgBuffer) - Error( "WriteSBitLong called with no active message\n" ); - - g_pMsgBuffer->WriteSBitLong( data, numbits ); -} - -void MessageWriteBits( const void *pIn, int nBits ) -{ - if (!g_pMsgBuffer) - Error( "WriteBits called with no active message\n" ); - - g_pMsgBuffer->WriteBits( pIn, nBits ); -} - -class CServerDLLSharedAppSystems : public IServerDLLSharedAppSystems -{ -public: - CServerDLLSharedAppSystems() - { - AddAppSystem( "soundemittersystem", SOUNDEMITTERSYSTEM_INTERFACE_VERSION ); - AddAppSystem( "scenefilecache", SCENE_FILE_CACHE_INTERFACE_VERSION ); - } - - virtual int Count() - { - return m_Systems.Count(); - } - virtual char const *GetDllName( int idx ) - { - return m_Systems[ idx ].m_pModuleName; - } - virtual char const *GetInterfaceName( int idx ) - { - return m_Systems[ idx ].m_pInterfaceName; - } -private: - void AddAppSystem( char const *moduleName, char const *interfaceName ) - { - AppSystemInfo_t sys; - sys.m_pModuleName = moduleName; - sys.m_pInterfaceName = interfaceName; - m_Systems.AddToTail( sys ); - } - - CUtlVector< AppSystemInfo_t > m_Systems; -}; - -EXPOSE_SINGLE_INTERFACE( CServerDLLSharedAppSystems, IServerDLLSharedAppSystems, SERVER_DLL_SHARED_APPSYSTEMS ); - - -//----------------------------------------------------------------------------- -// -//----------------------------------------------------------------------------- -void CServerGameTags::GetTaggedConVarList( KeyValues *pCvarTagList ) -{ - if ( pCvarTagList ) - { - g_pGameRules->GetTaggedConVarList( pCvarTagList ); - } -} \ No newline at end of file +//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======// +// +// Purpose: encapsulates and implements all the accessing of the game dll from external +// sources (only the engine at the time of writing) +// This files ONLY contains functions and data necessary to build an interface +// to external modules +//===========================================================================// + +#include "cbase.h" +#include "gamestringpool.h" +#include "mapentities_shared.h" +#include "game.h" +#include "entityapi.h" +#include "client.h" +#include "saverestore.h" +#include "entitylist.h" +#include "gamerules.h" +#include "soundent.h" +#include "player.h" +#include "server_class.h" +#include "ai_node.h" +#include "ai_link.h" +#include "ai_saverestore.h" +#include "ai_networkmanager.h" +#include "ndebugoverlay.h" +#include "ivoiceserver.h" +#include +#include "movehelper_server.h" +#include "networkstringtable_gamedll.h" +#include "filesystem.h" +#include "func_areaportalwindow.h" +#include "igamesystem.h" +#include "init_factory.h" +#include "vstdlib/random.h" +#include "env_wind_shared.h" +#include "engine/IEngineSound.h" +#include "ispatialpartition.h" +#include "textstatsmgr.h" +#include "bitbuf.h" +#include "saverestoretypes.h" +#include "physics_saverestore.h" +#include "achievement_saverestore.h" +#include "tier0/vprof.h" +#include "effect_dispatch_data.h" +#include "engine/IStaticPropMgr.h" +#include "TemplateEntities.h" +#include "ai_speech.h" +#include "soundenvelope.h" +#include "usermessages.h" +#include "physics.h" +#include "igameevents.h" +#include "EventLog.h" +#include "datacache/idatacache.h" +#include "engine/ivdebugoverlay.h" +#include "shareddefs.h" +#include "props.h" +#include "timedeventmgr.h" +#include "gameinterface.h" +#include "eventqueue.h" +#include "hltvdirector.h" +#include "SoundEmitterSystem/isoundemittersystembase.h" +#include "nav_mesh.h" +#include "AI_ResponseSystem.h" +#include "saverestore_stringtable.h" +#include "util.h" +#include "tier0/icommandline.h" +#include "datacache/imdlcache.h" +#include "engine/iserverplugin.h" +#ifdef _WIN32 +#include "ienginevgui.h" +#endif +#include "ragdoll_shared.h" +#include "toolframework/iserverenginetools.h" +#include "sceneentity.h" +#include "appframework/IAppSystemGroup.h" +#include "scenefilecache/ISceneFileCache.h" +#include "tier2/tier2.h" +#include "particles/particles.h" +#include "GameStats.h" +#include "ixboxsystem.h" +#include "engine/imatchmaking.h" +#include "hl2orange.spa.h" +#include "particle_parse.h" +#include "steam/steam_api.h" +#include "tier3/tier3.h" +#include "serverbenchmark_base.h" + +#ifdef CSTRIKE_DLL // BOTPORT: TODO: move these ifdefs out +#include "bot/bot.h" +#endif + +#ifdef PORTAL +#include "prop_portal_shared.h" +#include "portal_player.h" +#endif + +extern IToolFrameworkServer *g_pToolFrameworkServer; +extern IParticleSystemQuery *g_pParticleSystemQuery; + +extern ConVar commentary; + +static CSteamAPIContext g_SteamAPIContext; +CSteamAPIContext *steamapicontext = &g_SteamAPIContext; + +IUploadGameStats *gamestatsuploader = NULL; + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +CTimedEventMgr g_NetworkPropertyEventMgr; + +ISaveRestoreBlockHandler *GetEventQueueSaveRestoreBlockHandler(); +ISaveRestoreBlockHandler *GetCommentarySaveRestoreBlockHandler(); + +CUtlLinkedList g_MapEntityRefs; + +// Engine interfaces. +IVEngineServer *engine = NULL; +IVoiceServer *g_pVoiceServer = NULL; +#if !defined(_STATIC_LINKED) +IFileSystem *filesystem = NULL; +#else +extern IFileSystem *filesystem; +#endif +INetworkStringTableContainer *networkstringtable = NULL; +IStaticPropMgrServer *staticpropmgr = NULL; +IUniformRandomStream *random = NULL; +IEngineSound *enginesound = NULL; +ISpatialPartition *partition = NULL; +IVModelInfo *modelinfo = NULL; +IEngineTrace *enginetrace = NULL; +IGameEventManager2 *gameeventmanager = NULL; +IDataCache *datacache = NULL; +IVDebugOverlay * debugoverlay = NULL; +ISoundEmitterSystemBase *soundemitterbase = NULL; +IServerPluginHelpers *serverpluginhelpers = NULL; +IServerEngineTools *serverenginetools = NULL; +ISceneFileCache *scenefilecache = NULL; +IXboxSystem *xboxsystem = NULL; // Xbox 360 only +IMatchmaking *matchmaking = NULL; // Xbox 360 only + +IGameSystem *SoundEmitterSystem(); + +bool ModelSoundsCacheInit(); +void ModelSoundsCacheShutdown(); + +void SceneManager_ClientActive( CBasePlayer *player ); + +class IMaterialSystem; +class IStudioRender; + +#ifdef _DEBUG +static ConVar s_UseNetworkVars( "UseNetworkVars", "1", FCVAR_CHEAT, "For profiling, toggle network vars." ); +#endif + +extern ConVar sv_noclipduringpause; +ConVar sv_massreport( "sv_massreport", "0" ); +ConVar sv_force_transmit_ents( "sv_force_transmit_ents", "0", FCVAR_CHEAT | FCVAR_DEVELOPMENTONLY, "Will transmit all entities to client, regardless of PVS conditions (will still skip based on transmit flags, however)." ); + +ConVar sv_autosave( "sv_autosave", "1", 0, "Set to 1 to autosave game on level transition. Does not affect autosave triggers." ); +ConVar *sv_maxreplay = NULL; +static ConVar *g_pcv_commentary = NULL; +static ConVar *g_pcv_ThreadMode = NULL; + +// String tables +INetworkStringTable *g_pStringTableParticleEffectNames = NULL; +INetworkStringTable *g_pStringTableEffectDispatch = NULL; +INetworkStringTable *g_pStringTableVguiScreen = NULL; +INetworkStringTable *g_pStringTableMaterials = NULL; +INetworkStringTable *g_pStringTableInfoPanel = NULL; +INetworkStringTable *g_pStringTableClientSideChoreoScenes = NULL; + +CStringTableSaveRestoreOps g_VguiScreenStringOps; + +// Holds global variables shared between engine and game. +CGlobalVars *gpGlobals; +edict_t *g_pDebugEdictBase = 0; +static int g_nCommandClientIndex = 0; + +// The chapter number of the current +static int g_nCurrentChapterIndex = -1; + +static ConVar sv_showhitboxes( "sv_showhitboxes", "-1", FCVAR_CHEAT, "Send server-side hitboxes for specified entity to client (NOTE: this uses lots of bandwidth, use on listen server only)." ); + +void PrecachePointTemplates(); + +static ClientPutInServerOverrideFn g_pClientPutInServerOverride = NULL; +static void UpdateChapterRestrictions( const char *mapname ); + +static void UpdateRichPresence ( void ); + + +#if !defined( _XBOX ) // Don't doubly define this symbol. +CSharedEdictChangeInfo *g_pSharedChangeInfo = NULL; + +#endif + +IChangeInfoAccessor *CBaseEdict::GetChangeAccessor() +{ + return engine->GetChangeAccessor( (const edict_t *)this ); +} + +const IChangeInfoAccessor *CBaseEdict::GetChangeAccessor() const +{ + return engine->GetChangeAccessor( (const edict_t *)this ); +} + +const char *GetHintTypeDescription( CAI_Hint *pHint ); + +void ClientPutInServerOverride( ClientPutInServerOverrideFn fn ) +{ + g_pClientPutInServerOverride = fn; +} + +ConVar ai_post_frame_navigation( "ai_post_frame_navigation", "0" ); +class CPostFrameNavigationHook; +extern CPostFrameNavigationHook *PostFrameNavigationSystem( void ); + +//----------------------------------------------------------------------------- +// Purpose: +// Output : int +//----------------------------------------------------------------------------- +int UTIL_GetCommandClientIndex( void ) +{ + // -1 == unknown,dedicated server console + // 0 == player 1 + + // Convert to 1 based offset + return (g_nCommandClientIndex+1); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Output : CBasePlayer +//----------------------------------------------------------------------------- +CBasePlayer *UTIL_GetCommandClient( void ) +{ + int idx = UTIL_GetCommandClientIndex(); + if ( idx > 0 ) + { + return UTIL_PlayerByIndex( idx ); + } + + // HLDS console issued command + return NULL; +} + +//----------------------------------------------------------------------------- +// Purpose: Retrieves the MOD directory for the active game (ie. "hl2") +//----------------------------------------------------------------------------- + +bool UTIL_GetModDir( char *lpszTextOut, unsigned int nSize ) +{ + // Must pass in a buffer at least large enough to hold the desired string + const char *pGameDir = CommandLine()->ParmValue( "-game", "hl2" ); + Assert( strlen(pGameDir) <= nSize ); + if ( strlen(pGameDir) > nSize ) + return false; + + Q_strncpy( lpszTextOut, pGameDir, nSize ); + if ( Q_strnchr( lpszTextOut, '/', nSize ) || Q_strnchr( lpszTextOut, '\\', nSize ) ) + { + // Strip the last directory off (which will be our game dir) + Q_StripLastDir( lpszTextOut, nSize ); + + // Find the difference in string lengths and take that difference from the original string as the mod dir + int dirlen = Q_strlen( lpszTextOut ); + Q_strncpy( lpszTextOut, pGameDir + dirlen, Q_strlen( pGameDir ) - dirlen + 1 ); + } + + return true; +} + +extern void InitializeCvars( void ); + +CBaseEntity* FindPickerEntity( CBasePlayer* pPlayer ); +CAI_Node* FindPickerAINode( CBasePlayer* pPlayer, NodeType_e nNodeType ); +CAI_Link* FindPickerAILink( CBasePlayer* pPlayer ); +float GetFloorZ(const Vector &origin); +void UpdateAllClientData( void ); +void DrawMessageEntities(); + +#include "ai_network.h" + +// For now just using one big AI network +extern ConVar think_limit; + + +#if 0 +//----------------------------------------------------------------------------- +// Purpose: Draw output overlays for any measure sections +// Input : +//----------------------------------------------------------------------------- +void DrawMeasuredSections(void) +{ + int row = 1; + float rowheight = 0.025; + + CMeasureSection *p = CMeasureSection::GetList(); + while ( p ) + { + char str[256]; + Q_snprintf(str,sizeof(str),"%s",p->GetName()); + NDebugOverlay::ScreenText( 0.01,0.51+(row*rowheight),str, 255,255,255,255, 0.0 ); + + Q_snprintf(str,sizeof(str),"%5.2f\n",p->GetTime().GetMillisecondsF()); + //Q_snprintf(str,sizeof(str),"%3.3f\n",p->GetTime().GetSeconds() * 100.0 / engine->Time()); + NDebugOverlay::ScreenText( 0.28,0.51+(row*rowheight),str, 255,255,255,255, 0.0 ); + + Q_snprintf(str,sizeof(str),"%5.2f\n",p->GetMaxTime().GetMillisecondsF()); + //Q_snprintf(str,sizeof(str),"%3.3f\n",p->GetTime().GetSeconds() * 100.0 / engine->Time()); + NDebugOverlay::ScreenText( 0.34,0.51+(row*rowheight),str, 255,255,255,255, 0.0 ); + + + row++; + + p = p->GetNext(); + } + + bool sort_reset = false; + + // Time to redo sort? + if ( measure_resort.GetFloat() > 0.0 && + engine->Time() >= CMeasureSection::m_dNextResort ) + { + // Redo it + CMeasureSection::SortSections(); + // Set next time + CMeasureSection::m_dNextResort = engine->Time() + measure_resort.GetFloat(); + // Flag to reset sort accumulator, too + sort_reset = true; + } + + // Iterate through the sections now + p = CMeasureSection::GetList(); + while ( p ) + { + // Update max + p->UpdateMax(); + + // Reset regular accum. + p->Reset(); + // Reset sort accum less often + if ( sort_reset ) + { + p->SortReset(); + } + p = p->GetNext(); + } + +} +#endif + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void DrawAllDebugOverlays( void ) +{ + // If in debug select mode print the selection entities name or classname + if (CBaseEntity::m_bInDebugSelect) + { + CBasePlayer* pPlayer = UTIL_PlayerByIndex( CBaseEntity::m_nDebugPlayer ); + + if (pPlayer) + { + // First try to trace a hull to an entity + CBaseEntity *pEntity = FindPickerEntity( pPlayer ); + + if ( pEntity ) + { + pEntity->DrawDebugTextOverlays(); + pEntity->DrawBBoxOverlay(); + pEntity->SendDebugPivotOverlay(); + } + } + } + + // -------------------------------------------------------- + // Draw debug overlay lines + // -------------------------------------------------------- + UTIL_DrawOverlayLines(); + + // ------------------------------------------------------------------------ + // If in wc_edit mode draw a box to highlight which node I'm looking at + // ------------------------------------------------------------------------ + if (engine->IsInEditMode()) + { + CBasePlayer* pPlayer = UTIL_PlayerByIndex( CBaseEntity::m_nDebugPlayer ); + if (pPlayer) + { + if (g_pAINetworkManager->GetEditOps()->m_bLinkEditMode) + { + CAI_Link* pAILink = FindPickerAILink(pPlayer); + if (pAILink) + { + // For now just using one big AI network + Vector startPos = g_pBigAINet->GetNode(pAILink->m_iSrcID)->GetPosition(g_pAINetworkManager->GetEditOps()->m_iHullDrawNum); + Vector endPos = g_pBigAINet->GetNode(pAILink->m_iDestID)->GetPosition(g_pAINetworkManager->GetEditOps()->m_iHullDrawNum); + Vector linkDir = startPos-endPos; + float linkLen = VectorNormalize( linkDir ); + + // Draw in green if link that's been turned off + if (pAILink->m_LinkInfo & bits_LINK_OFF) + { + NDebugOverlay::BoxDirection(startPos, Vector(-4,-4,-4), Vector(-linkLen,4,4), linkDir, 0,255,0,40,0); + } + else + { + NDebugOverlay::BoxDirection(startPos, Vector(-4,-4,-4), Vector(-linkLen,4,4), linkDir, 255,0,0,40,0); + } + } + } + else + { + CAI_Node* pAINode; + if (g_pAINetworkManager->GetEditOps()->m_bAirEditMode) + { + pAINode = FindPickerAINode(pPlayer,NODE_AIR); + } + else + { + pAINode = FindPickerAINode(pPlayer,NODE_GROUND); + } + + if (pAINode) + { + Vector vecPos = pAINode->GetPosition(g_pAINetworkManager->GetEditOps()->m_iHullDrawNum); + NDebugOverlay::Box( vecPos, Vector(-8,-8,-8), Vector(8,8,8), 255,0,0,40,0); + + if ( pAINode->GetHint() ) + { + CBaseEntity *pEnt = (CBaseEntity *)pAINode->GetHint(); + if ( pEnt->GetEntityName() != NULL_STRING ) + { + NDebugOverlay::Text( vecPos + Vector(0,0,6), STRING(pEnt->GetEntityName()), false, 0 ); + } + NDebugOverlay::Text( vecPos, GetHintTypeDescription( pAINode->GetHint() ), false, 0 ); + } + } + } + // ------------------------------------ + // If in air edit mode draw guide line + // ------------------------------------ + if (g_pAINetworkManager->GetEditOps()->m_bAirEditMode) + { + UTIL_DrawPositioningOverlay(g_pAINetworkManager->GetEditOps()->m_flAirEditDistance); + } + else + { + NDebugOverlay::DrawGroundCrossHairOverlay(); + } + } + } + + // For not just using one big AI Network + if ( g_pAINetworkManager ) + { + g_pAINetworkManager->GetEditOps()->DrawAINetworkOverlay(); + } + + // PERFORMANCE: only do this in developer mode + if ( g_pDeveloper->GetInt() ) + { + // iterate through all objects for debug overlays + const CEntInfo *pInfo = gEntList.FirstEntInfo(); + + for ( ;pInfo; pInfo = pInfo->m_pNext ) + { + CBaseEntity *ent = (CBaseEntity *)pInfo->m_pEntity; + // HACKHACK: to flag off these calls + if ( ent->m_debugOverlays || ent->m_pTimedOverlay ) + { + MDLCACHE_CRITICAL_SECTION(); + ent->DrawDebugGeometryOverlays(); + } + } + } + + if ( sv_massreport.GetInt() ) + { + // iterate through all objects for debug overlays + const CEntInfo *pInfo = gEntList.FirstEntInfo(); + + for ( ;pInfo; pInfo = pInfo->m_pNext ) + { + CBaseEntity *ent = (CBaseEntity *)pInfo->m_pEntity; + if (!ent->VPhysicsGetObject()) + continue; + + char tempstr[512]; + Q_snprintf(tempstr, sizeof(tempstr),"%s: Mass: %.2f kg / %.2f lb (%s)", + STRING(ent->GetModelName()), ent->VPhysicsGetObject()->GetMass(), + kg2lbs(ent->VPhysicsGetObject()->GetMass()), + GetMassEquivalent(ent->VPhysicsGetObject()->GetMass())); + ent->EntityText(0, tempstr, 0); + } + } + + // A hack to draw point_message entities w/o developer required + DrawMessageEntities(); +} + +CServerGameDLL g_ServerGameDLL; +EXPOSE_SINGLE_INTERFACE_GLOBALVAR(CServerGameDLL, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL, g_ServerGameDLL); + +bool CServerGameDLL::DLLInit( CreateInterfaceFn appSystemFactory, + CreateInterfaceFn physicsFactory, CreateInterfaceFn fileSystemFactory, + CGlobalVars *pGlobals) +{ + ConnectTier1Libraries( &appSystemFactory, 1 ); + ConnectTier2Libraries( &appSystemFactory, 1 ); + ConnectTier3Libraries( &appSystemFactory, 1 ); + + // Connected in ConnectTier1Libraries + if ( cvar == NULL ) + return false; + +#ifndef _X360 + g_SteamAPIContext.Init(); +#endif + + // init each (seperated for ease of debugging) + if ( (engine = (IVEngineServer*)appSystemFactory(INTERFACEVERSION_VENGINESERVER, NULL)) == NULL ) + return false; + if ( (g_pVoiceServer = (IVoiceServer*)appSystemFactory(INTERFACEVERSION_VOICESERVER, NULL)) == NULL ) + return false; + if ( (networkstringtable = (INetworkStringTableContainer *)appSystemFactory(INTERFACENAME_NETWORKSTRINGTABLESERVER,NULL)) == NULL ) + return false; + if ( (staticpropmgr = (IStaticPropMgrServer *)appSystemFactory(INTERFACEVERSION_STATICPROPMGR_SERVER,NULL)) == NULL ) + return false; + if ( (random = (IUniformRandomStream *)appSystemFactory(VENGINE_SERVER_RANDOM_INTERFACE_VERSION, NULL)) == NULL ) + return false; + if ( (enginesound = (IEngineSound *)appSystemFactory(IENGINESOUND_SERVER_INTERFACE_VERSION, NULL)) == NULL ) + return false; + if ( (partition = (ISpatialPartition *)appSystemFactory(INTERFACEVERSION_SPATIALPARTITION, NULL)) == NULL ) + return false; + if ( (modelinfo = (IVModelInfo *)appSystemFactory(VMODELINFO_SERVER_INTERFACE_VERSION, NULL)) == NULL ) + return false; + if ( (enginetrace = (IEngineTrace *)appSystemFactory(INTERFACEVERSION_ENGINETRACE_SERVER,NULL)) == NULL ) + return false; + if ( (filesystem = (IFileSystem *)fileSystemFactory(FILESYSTEM_INTERFACE_VERSION,NULL)) == NULL ) + return false; + if ( (gameeventmanager = (IGameEventManager2 *)appSystemFactory(INTERFACEVERSION_GAMEEVENTSMANAGER2,NULL)) == NULL ) + return false; + if ( (datacache = (IDataCache*)appSystemFactory(DATACACHE_INTERFACE_VERSION, NULL )) == NULL ) + return false; + if ( (soundemitterbase = (ISoundEmitterSystemBase *)appSystemFactory(SOUNDEMITTERSYSTEM_INTERFACE_VERSION, NULL)) == NULL ) + return false; +#ifndef _XBOX + if ( (gamestatsuploader = (IUploadGameStats *)appSystemFactory( INTERFACEVERSION_UPLOADGAMESTATS, NULL )) == NULL ) + return false; +#endif + if ( !mdlcache ) + return false; + if ( (serverpluginhelpers = (IServerPluginHelpers *)appSystemFactory(INTERFACEVERSION_ISERVERPLUGINHELPERS, NULL)) == NULL ) + return false; + if ( (scenefilecache = (ISceneFileCache *)appSystemFactory( SCENE_FILE_CACHE_INTERFACE_VERSION, NULL )) == NULL ) + return false; + if ( IsX360() && (xboxsystem = (IXboxSystem *)appSystemFactory( XBOXSYSTEM_INTERFACE_VERSION, NULL )) == NULL ) + return false; + if ( IsX360() && (matchmaking = (IMatchmaking *)appSystemFactory( VENGINE_MATCHMAKING_VERSION, NULL )) == NULL ) + return false; + + // If not running dedicated, grab the engine vgui interface + if ( !engine->IsDedicatedServer() ) + { +#ifdef _WIN32 + // This interface is optional, and is only valid when running with -tools + serverenginetools = ( IServerEngineTools * )appSystemFactory( VSERVERENGINETOOLS_INTERFACE_VERSION, NULL ); +#endif + } + + // Yes, both the client and game .dlls will try to Connect, the soundemittersystem.dll will handle this gracefully + if ( !soundemitterbase->Connect( appSystemFactory ) ) + return false; + + // cache the globals + gpGlobals = pGlobals; + + g_pSharedChangeInfo = engine->GetSharedEdictChangeInfo(); + + MathLib_Init( 2.2f, 2.2f, 0.0f, 2 ); + + // save these in case other system inits need them + factorylist_t factories; + factories.engineFactory = appSystemFactory; + factories.fileSystemFactory = fileSystemFactory; + factories.physicsFactory = physicsFactory; + FactoryList_Store( factories ); + + // load used game events + gameeventmanager->LoadEventsFromFile("resource/gameevents.res"); + + // init the cvar list first in case inits want to reference them + InitializeCvars(); + + // Initialize the particle system + if ( !g_pParticleSystemMgr->Init( g_pParticleSystemQuery ) ) + { + return false; + } + + sv_cheats = g_pCVar->FindVar( "sv_cheats" ); + if ( !sv_cheats ) + return false; + + g_pcv_commentary = g_pCVar->FindVar( "commentary" ); + g_pcv_ThreadMode = g_pCVar->FindVar( "host_thread_mode" ); + + sv_maxreplay = g_pCVar->FindVar( "sv_maxreplay" ); + + g_pGameSaveRestoreBlockSet->AddBlockHandler( GetEntitySaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->AddBlockHandler( GetPhysSaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->AddBlockHandler( GetAISaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->AddBlockHandler( GetTemplateSaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->AddBlockHandler( GetDefaultResponseSystemSaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->AddBlockHandler( GetCommentarySaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->AddBlockHandler( GetEventQueueSaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->AddBlockHandler( GetAchievementSaveRestoreBlockHandler() ); + + // The string system must init first + shutdown last + IGameSystem::Add( GameStringSystem() ); + + // Physics must occur before the sound envelope manager + IGameSystem::Add( PhysicsGameSystem() ); + + // Used to service deferred navigation queries for NPCs + IGameSystem::Add( (IGameSystem *) PostFrameNavigationSystem() ); + + // Add game log system + IGameSystem::Add( GameLogSystem() ); +#ifndef _XBOX + // Add HLTV director + IGameSystem::Add( HLTVDirectorSystem() ); +#endif + // Add sound emitter + IGameSystem::Add( SoundEmitterSystem() ); + + // load Mod specific game events ( MUST be before InitAllSystems() so it can pickup the mod specific events) + gameeventmanager->LoadEventsFromFile("resource/ModEvents.res"); + +#ifdef CSTRIKE_DLL // BOTPORT: TODO: move these ifdefs out + InstallBotControl(); +#endif + + if ( !IGameSystem::InitAllSystems() ) + return false; + + // Due to dependencies, these are not autogamesystems + if ( !ModelSoundsCacheInit() ) + { + return false; + } + + // Parse the particle manifest file & register the effects within it + ParseParticleEffects( false ); + + // try to get debug overlay, may be NULL if on HLDS + debugoverlay = (IVDebugOverlay *)appSystemFactory( VDEBUG_OVERLAY_INTERFACE_VERSION, NULL ); + +#ifndef _XBOX + // create the Navigation Mesh interface + TheNavMesh = new CNavMesh; + + // init the gamestatsupload connection + gamestatsuploader->InitConnection(); +#endif + + return true; +} + +void CServerGameDLL::PostInit() +{ + IGameSystem::PostInitAllSystems(); +} + +void CServerGameDLL::DLLShutdown( void ) +{ + + // Due to dependencies, these are not autogamesystems + ModelSoundsCacheShutdown(); + + g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetAchievementSaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetCommentarySaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetEventQueueSaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetDefaultResponseSystemSaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetTemplateSaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetAISaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetPhysSaveRestoreBlockHandler() ); + g_pGameSaveRestoreBlockSet->RemoveBlockHandler( GetEntitySaveRestoreBlockHandler() ); + + char *pFilename = g_TextStatsMgr.GetStatsFilename(); + if ( !pFilename || !pFilename[0] ) + { + g_TextStatsMgr.SetStatsFilename( "stats.txt" ); + } + g_TextStatsMgr.WriteFile( filesystem ); + + IGameSystem::ShutdownAllSystems(); + +#ifdef CSTRIKE_DLL // BOTPORT: TODO: move these ifdefs out + RemoveBotControl(); +#endif + +#ifndef _XBOX + // destroy the Navigation Mesh interface + if (TheNavMesh) + { + delete TheNavMesh; + TheNavMesh = NULL; + } +#endif + + DisconnectTier3Libraries(); + DisconnectTier2Libraries(); + ConVar_Unregister(); + DisconnectTier1Libraries(); +} + + +//----------------------------------------------------------------------------- +// Purpose: See shareddefs.h for redefining this. Don't even think about it, though, for HL2. Or you will pay. ywb 9/22/03 +// Output : float +//----------------------------------------------------------------------------- +float CServerGameDLL::GetTickInterval( void ) const +{ + float tickinterval = DEFAULT_TICK_INTERVAL; + +#if defined( CSTRIKE_DLL ) + // in CS reduce tickrate/sec by defualt + tickinterval *= 2; +#endif + +// Ignoring this for now, server ops are abusing it +#if !defined( TF_DLL ) + // override if tick rate specified in command line + if ( CommandLine()->CheckParm( "-tickrate" ) ) + { + float tickrate = CommandLine()->ParmValue( "-tickrate", 0 ); + if ( tickrate > 10 ) + tickinterval = 1.0f / tickrate; + } +#endif + + return tickinterval; +} + +// This is called when a new game is started. (restart, map) +bool CServerGameDLL::GameInit( void ) +{ + ResetGlobalState(); + engine->ServerCommand( "exec game.cfg\n" ); + engine->ServerExecute( ); + CBaseEntity::sm_bAccurateTriggerBboxChecks = true; + + IGameEvent *event = gameeventmanager->CreateEvent( "game_init" ); + if ( event ) + { + gameeventmanager->FireEvent( event ); + } + + return true; +} + +// This is called when a game ends (server disconnect, death, restart, load) +// NOT on level transitions within a game +void CServerGameDLL::GameShutdown( void ) +{ + ResetGlobalState(); +} + +static bool g_OneWayTransition = false; +void Game_SetOneWayTransition( void ) +{ + g_OneWayTransition = true; +} + +static CUtlVector g_RestoredEntities; +// just for debugging, assert that this is the only time this function is called +static bool g_InRestore = false; + +void AddRestoredEntity( CBaseEntity *pEntity ) +{ + Assert(g_InRestore); + if ( !pEntity ) + return; + + g_RestoredEntities.AddToTail( EHANDLE(pEntity) ); +} + +void EndRestoreEntities() +{ + if ( !g_InRestore ) + return; + + // The entire hierarchy is restored, so we can call GetAbsOrigin again. + //CBaseEntity::SetAbsQueriesValid( true ); + + // Call all entities' OnRestore handlers + for ( int i = g_RestoredEntities.Count()-1; i >=0; --i ) + { + CBaseEntity *pEntity = g_RestoredEntities[i].Get(); + if ( pEntity && !pEntity->IsDormant() ) + { + MDLCACHE_CRITICAL_SECTION(); + pEntity->OnRestore(); + } + } + + g_RestoredEntities.Purge(); + + IGameSystem::OnRestoreAllSystems(); + + g_InRestore = false; + gEntList.CleanupDeleteList(); + + // HACKHACK: UNDONE: We need to redesign the main loop with respect to save/load/server activate + g_ServerGameDLL.ServerActivate( NULL, 0, 0 ); + CBaseEntity::SetAllowPrecache( false ); +} + +void BeginRestoreEntities() +{ + if ( g_InRestore ) + { + DevMsg( "BeginRestoreEntities without previous EndRestoreEntities.\n" ); + gEntList.CleanupDeleteList(); + } + g_RestoredEntities.Purge(); + g_InRestore = true; + + CBaseEntity::SetAllowPrecache( true ); + + // No calls to GetAbsOrigin until the entire hierarchy is restored! + //CBaseEntity::SetAbsQueriesValid( false ); +} + +//----------------------------------------------------------------------------- +// Purpose: This prevents sv.tickcount/gpGlobals->tickcount from advancing during restore which +// would cause a lot of the NPCs to fast forward their think times to the same +// tick due to some ticks being elapsed during restore where there was no simulation going on +//----------------------------------------------------------------------------- +bool CServerGameDLL::IsRestoring() +{ + return g_InRestore; +} + +// Called any time a new level is started (after GameInit() also on level transitions within a game) +bool CServerGameDLL::LevelInit( const char *pMapName, char const *pMapEntities, char const *pOldLevel, char const *pLandmarkName, bool loadGame, bool background ) +{ + VPROF("CServerGameDLL::LevelInit"); + ResetWindspeed(); + UpdateChapterRestrictions( pMapName ); + + if ( IsX360() && !background && (gpGlobals->maxClients == 1) && (g_nCurrentChapterIndex >= 0) ) + { + // Single player games tell xbox live what game & chapter the user is playing + UpdateRichPresence(); + } + + // IGameSystem::LevelInitPreEntityAllSystems() is called when the world is precached + // That happens either in LoadGameState() or in MapEntity_ParseAllEntities() + if ( loadGame ) + { + if ( pOldLevel ) + { + gpGlobals->eLoadType = MapLoad_Transition; + } + else + { + gpGlobals->eLoadType = MapLoad_LoadGame; + } + + BeginRestoreEntities(); + if ( !engine->LoadGameState( pMapName, 1 ) ) + { + if ( pOldLevel ) + { + MapEntity_ParseAllEntities( pMapEntities ); + } + else + { + // Regular save load case + return false; + } + } + + if ( pOldLevel ) + { + engine->LoadAdjacentEnts( pOldLevel, pLandmarkName ); + } + + if ( g_OneWayTransition ) + { + engine->ClearSaveDirAfterClientLoad(); + } + + if ( pOldLevel && sv_autosave.GetBool() == true ) + { + // This is a single-player style level transition. + // Queue up an autosave one second into the level + CBaseEntity *pAutosave = CBaseEntity::Create( "logic_autosave", vec3_origin, vec3_angle, NULL ); + if ( pAutosave ) + { + g_EventQueue.AddEvent( pAutosave, "Save", 1.0, NULL, NULL ); + g_EventQueue.AddEvent( pAutosave, "Kill", 1.1, NULL, NULL ); + } + } + } + else + { + if ( background ) + { + gpGlobals->eLoadType = MapLoad_Background; + } + else + { + gpGlobals->eLoadType = MapLoad_NewGame; + } + + // Clear out entity references, and parse the entities into it. + g_MapEntityRefs.Purge(); + CMapLoadEntityFilter filter; + MapEntity_ParseAllEntities( pMapEntities, &filter ); + + g_pServerBenchmark->StartBenchmark(); + + // Now call the mod specific parse + LevelInit_ParseAllEntities( pMapEntities ); + } + + // Check low violence settings for this map + g_RagdollLVManager.SetLowViolence( pMapName ); + + // Now that all of the active entities have been loaded in, precache any entities who need point_template parameters + // to be parsed (the above code has loaded all point_template entities) + PrecachePointTemplates(); + + // load MOTD from file into stringtable + LoadMessageOfTheDay(); + + // Sometimes an ent will Remove() itself during its precache, so RemoveImmediate won't happen. + // This makes sure those ents get cleaned up. + gEntList.CleanupDeleteList(); + + g_AIFriendliesTalkSemaphore.Release(); + g_AIFoesTalkSemaphore.Release(); + g_OneWayTransition = false; + + // clear any pending autosavedangerous + m_fAutoSaveDangerousTime = 0.0f; + m_fAutoSaveDangerousMinHealthToCommit = 0.0f; + return true; +} + +//----------------------------------------------------------------------------- +// Purpose: called after every level change and load game, iterates through all the +// active entities and gives them a chance to fix up their state +//----------------------------------------------------------------------------- +#ifdef DEBUG +bool g_bReceivedChainedActivate; +bool g_bCheckForChainedActivate; +#define BeginCheckChainedActivate() if (0) ; else { g_bCheckForChainedActivate = true; g_bReceivedChainedActivate = false; } +#define EndCheckChainedActivate( bCheck ) \ + if (0) ; else \ + { \ + if ( bCheck ) \ + { \ + char msg[ 1024 ]; \ + Q_snprintf( msg, sizeof( msg ), "Entity (%i/%s/%s) failed to call base class Activate()\n", pClass->entindex(), pClass->GetClassname(), STRING( pClass->GetEntityName() ) ); \ + AssertMsg( g_bReceivedChainedActivate == true, msg ); \ + } \ + g_bCheckForChainedActivate = false; \ + } +#else +#define BeginCheckChainedActivate() ((void)0) +#define EndCheckChainedActivate( bCheck ) ((void)0) +#endif + +void CServerGameDLL::ServerActivate( edict_t *pEdictList, int edictCount, int clientMax ) +{ + // HACKHACK: UNDONE: We need to redesign the main loop with respect to save/load/server activate + if ( g_InRestore ) + return; + + if ( gEntList.ResetDeleteList() != 0 ) + { + Msg( "ERROR: Entity delete queue not empty on level start!\n" ); + } + + for ( CBaseEntity *pClass = gEntList.FirstEnt(); pClass != NULL; pClass = gEntList.NextEnt(pClass) ) + { + if ( pClass && !pClass->IsDormant() ) + { + MDLCACHE_CRITICAL_SECTION(); + + BeginCheckChainedActivate(); + pClass->Activate(); + + // We don't care if it finished activating if it decided to remove itself. + EndCheckChainedActivate( !( pClass->GetEFlags() & EFL_KILLME ) ); + } + } + + IGameSystem::LevelInitPostEntityAllSystems(); + // No more precaching after PostEntityAllSystems!!! + CBaseEntity::SetAllowPrecache( false ); + + // only display the think limit when the game is run with "developer" mode set + if ( !g_pDeveloper->GetInt() ) + { + think_limit.SetValue( 0 ); + } + +#ifndef _XBOX + // load the Navigation Mesh for this map + TheNavMesh->Load(); +#endif + +#ifdef CSTRIKE_DLL // BOTPORT: TODO: move these ifdefs out + TheBots->ServerActivate(); +#endif +} + +//----------------------------------------------------------------------------- +// Purpose: Called at the start of every game frame +//----------------------------------------------------------------------------- +ConVar trace_report( "trace_report", "0" ); + +void CServerGameDLL::GameFrame( bool simulating ) +{ + VPROF( "CServerGameDLL::GameFrame" ); + + // Don't run frames until fully restored + if ( g_InRestore ) + return; + + if ( CBaseEntity::IsSimulatingOnAlternateTicks() ) + { + // only run simulation on even numbered ticks + if ( gpGlobals->tickcount & 1 ) + { + UpdateAllClientData(); + return; + } + // If we're skipping frames, then the frametime is 2x the normal tick + gpGlobals->frametime *= 2.0f; + } + + float oldframetime = gpGlobals->frametime; + +#ifdef _DEBUG + // For profiling.. let them enable/disable the networkvar manual mode stuff. + g_bUseNetworkVars = s_UseNetworkVars.GetBool(); +#endif + + extern void GameStartFrame( void ); + extern void ServiceEventQueue( void ); + extern void Physics_RunThinkFunctions( bool simulating ); + + // Delete anything that was marked for deletion + // outside of server frameloop (e.g., in response to concommand) + gEntList.CleanupDeleteList(); + + IGameSystem::FrameUpdatePreEntityThinkAllSystems(); + GameStartFrame(); + +#ifndef _XBOX + TheNavMesh->Update(); + + gamestatsuploader->UpdateConnection(); +#endif + + g_pServerBenchmark->UpdateBenchmark(); + + Physics_RunThinkFunctions( simulating ); + + IGameSystem::FrameUpdatePostEntityThinkAllSystems(); + + // UNDONE: Make these systems IGameSystems and move these calls into FrameUpdatePostEntityThink() + // service event queue, firing off any actions whos time has come + ServiceEventQueue(); + + // free all ents marked in think functions + gEntList.CleanupDeleteList(); + + // FIXME: Should this only occur on the final tick? + UpdateAllClientData(); + + if ( g_pGameRules ) + { + g_pGameRules->EndGameFrame(); + } + + if ( trace_report.GetBool() ) + { + int total = 0, totals[3]; + for ( int i = 0; i < 3; i++ ) + { + totals[i] = enginetrace->GetStatByIndex( i, true ); + if ( totals[i] > 0 ) + { + total += totals[i]; + } + } + + if ( total ) + { + Msg("Trace: %d, contents %d, enumerate %d\n", totals[0], totals[1], totals[2] ); + } + } + + // Any entities that detect network state changes on a timer do it here. + g_NetworkPropertyEventMgr.FireEvents(); + + gpGlobals->frametime = oldframetime; +} + +//----------------------------------------------------------------------------- +// Purpose: Called every frame even if not ticking +// Input : simulating - +//----------------------------------------------------------------------------- +void CServerGameDLL::PreClientUpdate( bool simulating ) +{ + if ( !simulating ) + return; + + /* + if (game_speeds.GetInt()) + { + DrawMeasuredSections(); + } + */ + +//#ifdef _DEBUG - allow this in release for now + DrawAllDebugOverlays(); +//#endif + + IGameSystem::PreClientUpdateAllSystems(); + + if ( sv_showhitboxes.GetInt() == -1 ) + return; + + if ( sv_showhitboxes.GetInt() == 0 ) + { + // assume it's text + CBaseEntity *pEntity = NULL; + + while (1) + { + pEntity = gEntList.FindEntityByName( pEntity, sv_showhitboxes.GetString() ); + if ( !pEntity ) + break; + + CBaseAnimating *anim = dynamic_cast< CBaseAnimating * >( pEntity ); + + if (anim) + { + anim->DrawServerHitboxes(); + } + } + return; + } + + CBaseAnimating *anim = dynamic_cast< CBaseAnimating * >( CBaseEntity::Instance( engine->PEntityOfEntIndex( sv_showhitboxes.GetInt() ) ) ); + if ( !anim ) + return; + + anim->DrawServerHitboxes(); +} + +void CServerGameDLL::Think( bool finalTick ) +{ + if ( m_fAutoSaveDangerousTime != 0.0f && m_fAutoSaveDangerousTime < gpGlobals->curtime ) + { + // The safety timer for a dangerous auto save has expired + CBasePlayer *pPlayer = UTIL_PlayerByIndex( 1 ); + + if ( pPlayer && ( pPlayer->GetDeathTime() == 0.0f || pPlayer->GetDeathTime() > gpGlobals->curtime ) + && !pPlayer->IsSinglePlayerGameEnding() + ) + { + if( pPlayer->GetHealth() >= m_fAutoSaveDangerousMinHealthToCommit ) + { + // The player isn't dead, so make the dangerous auto save safe + engine->ServerCommand( "autosavedangerousissafe\n" ); + } + } + + m_fAutoSaveDangerousTime = 0.0f; + m_fAutoSaveDangerousMinHealthToCommit = 0.0f; + } +} + +void CServerGameDLL::OnQueryCvarValueFinished( QueryCvarCookie_t iCookie, edict_t *pPlayerEntity, EQueryCvarValueStatus eStatus, const char *pCvarName, const char *pCvarValue ) +{ +} + + +// Called when a level is shutdown (including changing levels) +void CServerGameDLL::LevelShutdown( void ) +{ + MDLCACHE_CRITICAL_SECTION(); + IGameSystem::LevelShutdownPreEntityAllSystems(); + + // YWB: + // This entity pointer is going away now and is corrupting memory on level transitions/restarts + CSoundEnt::ShutdownSoundEnt(); + + gEntList.Clear(); + + IGameSystem::LevelShutdownPostEntityAllSystems(); + + // In case we quit out during initial load + CBaseEntity::SetAllowPrecache( false ); + + g_nCurrentChapterIndex = -1; +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : +// Output : ServerClass* +//----------------------------------------------------------------------------- +ServerClass* CServerGameDLL::GetAllServerClasses() +{ + return g_pServerClassHead; +} + + +const char *CServerGameDLL::GetGameDescription( void ) +{ + return ::GetGameDescription(); +} + +void CServerGameDLL::CreateNetworkStringTables( void ) +{ + // Create any shared string tables here (and only here!) + // E.g.: xxx = networkstringtable->CreateStringTable( "SceneStrings", 512 ); + g_pStringTableParticleEffectNames = networkstringtable->CreateStringTable( "ParticleEffectNames", MAX_PARTICLESYSTEMS_STRINGS ); + g_pStringTableEffectDispatch = networkstringtable->CreateStringTable( "EffectDispatch", MAX_EFFECT_DISPATCH_STRINGS ); + g_pStringTableVguiScreen = networkstringtable->CreateStringTable( "VguiScreen", MAX_VGUI_SCREEN_STRINGS ); + g_pStringTableMaterials = networkstringtable->CreateStringTable( "Materials", MAX_MATERIAL_STRINGS ); + g_pStringTableInfoPanel = networkstringtable->CreateStringTable( "InfoPanel", MAX_INFOPANEL_STRINGS ); + g_pStringTableClientSideChoreoScenes = networkstringtable->CreateStringTable( "Scenes", MAX_CHOREO_SCENES_STRINGS ); + + Assert( g_pStringTableParticleEffectNames && + g_pStringTableEffectDispatch && + g_pStringTableVguiScreen && + g_pStringTableMaterials && + g_pStringTableInfoPanel && + g_pStringTableClientSideChoreoScenes ); + + // Need this so we have the error material always handy + PrecacheMaterial( "debug/debugempty" ); + Assert( GetMaterialIndex( "debug/debugempty" ) == 0 ); + + PrecacheParticleSystem( "error" ); // ensure error particle system is handy + Assert( GetParticleSystemIndex( "error" ) == 0 ); + + CreateNetworkStringTables_GameRules(); + + // Set up save/load utilities for string tables + g_VguiScreenStringOps.Init( g_pStringTableVguiScreen ); +} + +CSaveRestoreData *CServerGameDLL::SaveInit( int size ) +{ + return ::SaveInit(size); +} + +//----------------------------------------------------------------------------- +// Purpose: Saves data from a struct into a saverestore object, to be saved to disk +// Input : *pSaveData - the saverestore object +// char *pname - the name of the data to write +// *pBaseData - the struct into which the data is to be read +// *pFields - pointer to an array of data field descriptions +// fieldCount - the size of the array (number of field descriptions) +//----------------------------------------------------------------------------- +void CServerGameDLL::SaveWriteFields( CSaveRestoreData *pSaveData, const char *pname, void *pBaseData, datamap_t *pMap, typedescription_t *pFields, int fieldCount ) +{ + CSave saveHelper( pSaveData ); + saveHelper.WriteFields( pname, pBaseData, pMap, pFields, fieldCount ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Reads data from a save/restore block into a structure +// Input : *pSaveData - the saverestore object +// char *pname - the name of the data to extract from +// *pBaseData - the struct into which the data is to be restored +// *pFields - pointer to an array of data field descriptions +// fieldCount - the size of the array (number of field descriptions) +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +void CServerGameDLL::SaveReadFields( CSaveRestoreData *pSaveData, const char *pname, void *pBaseData, datamap_t *pMap, typedescription_t *pFields, int fieldCount ) +{ + CRestore restoreHelper( pSaveData ); + restoreHelper.ReadFields( pname, pBaseData, pMap, pFields, fieldCount ); +} + +//----------------------------------------------------------------------------- + +void CServerGameDLL::SaveGlobalState( CSaveRestoreData *s ) +{ + ::SaveGlobalState(s); +} + +void CServerGameDLL::RestoreGlobalState(CSaveRestoreData *s) +{ + ::RestoreGlobalState(s); +} + +void CServerGameDLL::Save( CSaveRestoreData *s ) +{ + CSave saveHelper( s ); + g_pGameSaveRestoreBlockSet->Save( &saveHelper ); +} + +void CServerGameDLL::Restore( CSaveRestoreData *s, bool b) +{ + CRestore restore(s); + g_pGameSaveRestoreBlockSet->Restore( &restore, b ); + g_pGameSaveRestoreBlockSet->PostRestore(); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : msg_type - +// *name - +// size - +// Output : Returns true on success, false on failure. +//----------------------------------------------------------------------------- + +bool CServerGameDLL::GetUserMessageInfo( int msg_type, char *name, int maxnamelength, int& size ) +{ + if ( !usermessages->IsValidIndex( msg_type ) ) + return false; + + Q_strncpy( name, usermessages->GetUserMessageName( msg_type ), maxnamelength ); + size = usermessages->GetUserMessageSize( msg_type ); + return true; +} + +CStandardSendProxies* CServerGameDLL::GetStandardSendProxies() +{ + return &g_StandardSendProxies; +} + +int CServerGameDLL::CreateEntityTransitionList( CSaveRestoreData *s, int a) +{ + CRestore restoreHelper( s ); + // save off file base + int base = restoreHelper.GetReadPos(); + + int movedCount = ::CreateEntityTransitionList(s, a); + if ( movedCount ) + { + g_pGameSaveRestoreBlockSet->CallBlockHandlerRestore( GetPhysSaveRestoreBlockHandler(), base, &restoreHelper, false ); + g_pGameSaveRestoreBlockSet->CallBlockHandlerRestore( GetAISaveRestoreBlockHandler(), base, &restoreHelper, false ); + } + + GetPhysSaveRestoreBlockHandler()->PostRestore(); + GetAISaveRestoreBlockHandler()->PostRestore(); + + return movedCount; +} + +void CServerGameDLL::PreSave( CSaveRestoreData *s ) +{ + g_pGameSaveRestoreBlockSet->PreSave( s ); +} + +#include "client_textmessage.h" + +// This little hack lets me marry BSP names to messages in titles.txt +typedef struct +{ + const char *pBSPName; + const char *pTitleName; +} TITLECOMMENT; + +// this list gets searched for the first partial match, so some are out of order +static TITLECOMMENT gTitleComments[] = +{ +#ifdef HL1_DLL + { "t0a0", "#T0A0TITLE" }, + { "c0a0", "#HL1_Chapter1_Title" }, + { "c1a0", "#HL1_Chapter2_Title" }, + { "c1a1", "#HL1_Chapter3_Title" }, + { "c1a2", "#HL1_Chapter4_Title" }, + { "c1a3", "#HL1_Chapter5_Title" }, + { "c1a4", "#HL1_Chapter6_Title" }, + { "c2a1", "#HL1_Chapter7_Title" }, + { "c2a2", "#HL1_Chapter8_Title" }, + { "c2a3", "#HL1_Chapter9_Title" }, + { "c2a4d", "#HL1_Chapter11_Title" }, // These must appear before "C2A4" so all other map names starting with C2A4 get that title + { "c2a4e", "#HL1_Chapter11_Title" }, + { "c2a4f", "#HL1_Chapter11_Title" }, + { "c2a4g", "#HL1_Chapter11_Title" }, + { "c2a4", "#HL1_Chapter10_Title" }, + { "c2a5", "#HL1_Chapter12_Title" }, + { "c3a1", "#HL1_Chapter13_Title" }, + { "c3a2", "#HL1_Chapter14_Title" }, + { "c4a1a", "#HL1_Chapter17_Title" }, // Order is important, see above + { "c4a1b", "#HL1_Chapter17_Title" }, + { "c4a1c", "#HL1_Chapter17_Title" }, + { "c4a1d", "#HL1_Chapter17_Title" }, + { "c4a1e", "#HL1_Chapter17_Title" }, + { "c4a1", "#HL1_Chapter15_Title" }, + { "c4a2", "#HL1_Chapter16_Title" }, + { "c4a3", "#HL1_Chapter18_Title" }, + { "c5a1", "#HL1_Chapter19_Title" }, +#elif defined PORTAL + { "testchmb_a_00", "#Portal_Chapter1_Title" }, + { "testchmb_a_01", "#Portal_Chapter1_Title" }, + { "testchmb_a_02", "#Portal_Chapter2_Title" }, + { "testchmb_a_03", "#Portal_Chapter2_Title" }, + { "testchmb_a_04", "#Portal_Chapter3_Title" }, + { "testchmb_a_05", "#Portal_Chapter3_Title" }, + { "testchmb_a_06", "#Portal_Chapter4_Title" }, + { "testchmb_a_07", "#Portal_Chapter4_Title" }, + { "testchmb_a_08_advanced", "#Portal_Chapter5_Title" }, + { "testchmb_a_08", "#Portal_Chapter5_Title" }, + { "testchmb_a_09_advanced", "#Portal_Chapter6_Title" }, + { "testchmb_a_09", "#Portal_Chapter6_Title" }, + { "testchmb_a_10_advanced", "#Portal_Chapter7_Title" }, + { "testchmb_a_10", "#Portal_Chapter7_Title" }, + { "testchmb_a_11_advanced", "#Portal_Chapter8_Title" }, + { "testchmb_a_11", "#Portal_Chapter8_Title" }, + { "testchmb_a_13_advanced", "#Portal_Chapter9_Title" }, + { "testchmb_a_13", "#Portal_Chapter9_Title" }, + { "testchmb_a_14_advanced", "#Portal_Chapter10_Title" }, + { "testchmb_a_14", "#Portal_Chapter10_Title" }, + { "testchmb_a_15", "#Portal_Chapter11_Title" }, + { "escape_", "#Portal_Chapter11_Title" }, + { "background2", "#Portal_Chapter12_Title" }, +#else + { "intro", "#HL2_Chapter1_Title" }, + + { "d1_trainstation_05", "#HL2_Chapter2_Title" }, + { "d1_trainstation_06", "#HL2_Chapter2_Title" }, + + { "d1_trainstation_", "#HL2_Chapter1_Title" }, + + { "d1_canals_06", "#HL2_Chapter4_Title" }, + { "d1_canals_07", "#HL2_Chapter4_Title" }, + { "d1_canals_08", "#HL2_Chapter4_Title" }, + { "d1_canals_09", "#HL2_Chapter4_Title" }, + { "d1_canals_1", "#HL2_Chapter4_Title" }, + + { "d1_canals_0", "#HL2_Chapter3_Title" }, + + { "d1_eli_", "#HL2_Chapter5_Title" }, + + { "d1_town_", "#HL2_Chapter6_Title" }, + + { "d2_coast_09", "#HL2_Chapter8_Title" }, + { "d2_coast_1", "#HL2_Chapter8_Title" }, + { "d2_prison_01", "#HL2_Chapter8_Title" }, + + { "d2_coast_", "#HL2_Chapter7_Title" }, + + { "d2_prison_06", "#HL2_Chapter9a_Title" }, + { "d2_prison_07", "#HL2_Chapter9a_Title" }, + { "d2_prison_08", "#HL2_Chapter9a_Title" }, + + { "d2_prison_", "#HL2_Chapter9_Title" }, + + { "d3_c17_01", "#HL2_Chapter9a_Title" }, + { "d3_c17_09", "#HL2_Chapter11_Title" }, + { "d3_c17_1", "#HL2_Chapter11_Title" }, + + { "d3_c17_", "#HL2_Chapter10_Title" }, + + { "d3_citadel_", "#HL2_Chapter12_Title" }, + + { "d3_breen_", "#HL2_Chapter13_Title" }, + { "credits", "#HL2_Chapter14_Title" }, + + { "ep1_citadel_00", "#episodic_Chapter1_Title" }, + { "ep1_citadel_01", "#episodic_Chapter1_Title" }, + { "ep1_citadel_02b", "#episodic_Chapter1_Title" }, + { "ep1_citadel_02", "#episodic_Chapter1_Title" }, + { "ep1_citadel_03", "#episodic_Chapter2_Title" }, + { "ep1_citadel_04", "#episodic_Chapter2_Title" }, + { "ep1_c17_00a", "#episodic_Chapter3_Title" }, + { "ep1_c17_00", "#episodic_Chapter3_Title" }, + { "ep1_c17_01", "#episodic_Chapter4_Title" }, + { "ep1_c17_02b", "#episodic_Chapter4_Title" }, + { "ep1_c17_02", "#episodic_Chapter4_Title" }, + { "ep1_c17_05", "#episodic_Chapter5_Title" }, + { "ep1_c17_06", "#episodic_Chapter5_Title" }, + + { "ep2_outland_01a", "#ep2_Chapter1_Title" }, + { "ep2_outland_01", "#ep2_Chapter1_Title" }, + { "ep2_outland_02", "#ep2_Chapter2_Title" }, + { "ep2_outland_03", "#ep2_Chapter2_Title" }, + { "ep2_outland_04", "#ep2_Chapter2_Title" }, + { "ep2_outland_05", "#ep2_Chapter3_Title" }, + + { "ep2_outland_06a", "#ep2_Chapter4_Title" }, + { "ep2_outland_06", "#ep2_Chapter3_Title" }, + + { "ep2_outland_07", "#ep2_Chapter4_Title" }, + { "ep2_outland_08", "#ep2_Chapter4_Title" }, + { "ep2_outland_09", "#ep2_Chapter5_Title" }, + + { "ep2_outland_10a", "#ep2_Chapter5_Title" }, + { "ep2_outland_10", "#ep2_Chapter5_Title" }, + + { "ep2_outland_11a", "#ep2_Chapter6_Title" }, + { "ep2_outland_11", "#ep2_Chapter6_Title" }, + + { "ep2_outland_12a", "#ep2_Chapter7_Title" }, + { "ep2_outland_12", "#ep2_Chapter6_Title" }, +#endif +}; + +#ifdef _XBOX +void CServerGameDLL::GetTitleName( const char *pMapName, char* pTitleBuff, int titleBuffSize ) +{ + // Try to find a matching title comment for this mapname + for ( int i = 0; i < ARRAYSIZE(gTitleComments); i++ ) + { + if ( !Q_strnicmp( pMapName, gTitleComments[i].pBSPName, strlen(gTitleComments[i].pBSPName) ) ) + { + Q_strncpy( pTitleBuff, gTitleComments[i].pTitleName, titleBuffSize ); + return; + } + } + Q_strncpy( pTitleBuff, pMapName, titleBuffSize ); +} +#endif + +void CServerGameDLL::GetSaveComment( char *text, int maxlength, float flMinutes, float flSeconds, bool bNoTime ) +{ + char comment[64]; + const char *pName; + size_t i; + + char const *mapname = STRING( gpGlobals->mapname ); + + pName = NULL; + + // Try to find a matching title comment for this mapname + for ( i = 0; i < ARRAYSIZE(gTitleComments) && !pName; i++ ) + { + if ( !Q_strnicmp( mapname, gTitleComments[i].pBSPName, strlen(gTitleComments[i].pBSPName) ) ) + { + // found one + size_t j; + + // Got a message, post-process it to be save name friendly + Q_strncpy( comment, gTitleComments[i].pTitleName, sizeof( comment ) ); + pName = comment; + j = 0; + // Strip out CRs + while ( j < 64 && comment[j] ) + { + if ( comment[j] == '\n' || comment[j] == '\r' ) + comment[j] = 0; + else + j++; + } + break; + } + } + + // If we didn't get one, use the designer's map name, or the BSP name itself + if ( !pName ) + { + pName = mapname; + } + + if ( bNoTime ) + { + Q_snprintf( text, maxlength, "%-64.64s", pName ); + } + else + { + int minutes = (int)flMinutes; + int seconds = (int)flSeconds; + + // Wow, this guy/gal must suck...! + if ( minutes >= 1000 ) + { + minutes = 999; + seconds = 59; + } + + int minutesAdd = ( seconds / 60 ); + seconds %= 60; + + // add the elapsed time at the end of the comment, for the ui to parse out + Q_snprintf( text, maxlength, "%-64.64s %03d:%02d", pName, (minutes + minutesAdd), seconds ); + } +} + +void CServerGameDLL::WriteSaveHeaders( CSaveRestoreData *s ) +{ + CSave saveHelper( s ); + g_pGameSaveRestoreBlockSet->WriteSaveHeaders( &saveHelper ); + g_pGameSaveRestoreBlockSet->PostSave(); +} + +void CServerGameDLL::ReadRestoreHeaders( CSaveRestoreData *s ) +{ + CRestore restoreHelper( s ); + g_pGameSaveRestoreBlockSet->PreRestore(); + g_pGameSaveRestoreBlockSet->ReadRestoreHeaders( &restoreHelper ); +} + +void CServerGameDLL::PreSaveGameLoaded( char const *pSaveName, bool bInGame ) +{ + gamestats->Event_PreSaveGameLoaded( pSaveName, bInGame ); +} + +//----------------------------------------------------------------------------- +// Purpose: Returns true if the game DLL wants the server not to be made public. +// Used by commentary system to hide multiplayer commentary servers from the master. +//----------------------------------------------------------------------------- +bool CServerGameDLL::ShouldHideServer( void ) +{ + if ( g_pcv_commentary && g_pcv_commentary->GetBool() ) + return true; + + if ( gpGlobals->eLoadType == MapLoad_Background ) + return true; + + return false; +} + +//----------------------------------------------------------------------------- +// +//----------------------------------------------------------------------------- +void CServerGameDLL::InvalidateMdlCache() +{ + CBaseAnimating *pAnimating; + for ( CBaseEntity *pEntity = gEntList.FirstEnt(); pEntity != NULL; pEntity = gEntList.NextEnt(pEntity) ) + { + pAnimating = dynamic_cast(pEntity); + if ( pAnimating ) + { + pAnimating->InvalidateMdlCache(); + } + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Called during a transition, to build a map adjacency list +//----------------------------------------------------------------------------- +void CServerGameDLL::BuildAdjacentMapList( void ) +{ + // retrieve the pointer to the save data + CSaveRestoreData *pSaveData = gpGlobals->pSaveData; + + if ( pSaveData ) + pSaveData->levelInfo.connectionCount = BuildChangeList( pSaveData->levelInfo.levelList, MAX_LEVEL_CONNECTIONS ); +} + +//----------------------------------------------------------------------------- +// Purpose: Sanity-check to verify that a path is a relative path inside the game dir +// Taken From: engine/cmd.cpp +//----------------------------------------------------------------------------- +static bool IsValidPath( const char *pszFilename ) +{ + if ( !pszFilename ) + { + return false; + } + + if ( Q_strlen( pszFilename ) <= 0 || + Q_IsAbsolutePath( pszFilename ) || // to protect absolute paths + Q_strstr( pszFilename, ".." ) ) // to protect relative paths + { + return false; + } + + return true; +} + +static void ValidateMOTDFilename( IConVar *pConVar, const char *oldValue, float flOldValue ) +{ + ConVarRef var( pConVar ); + if ( !IsValidPath( var.GetString() ) ) + { + var.SetValue( var.GetDefault() ); + } +} + +static ConVar motdfile( "motdfile", "motd.txt", 0, "The MOTD file to load.", ValidateMOTDFilename ); +void CServerGameDLL::LoadMessageOfTheDay() +{ +#ifndef _XBOX + char data[2048]; + + int length = filesystem->Size( motdfile.GetString(), "GAME" ); + + if ( length <= 0 || length >= (int)(sizeof(data)-1) ) + { + DevMsg("Invalid file size for %s\n", motdfile.GetString() ); + return; + } + + FileHandle_t hFile = filesystem->Open( motdfile.GetString(), "rb", "GAME" ); + + if ( hFile == FILESYSTEM_INVALID_HANDLE ) + return; + + filesystem->Read( data, length, hFile ); + filesystem->Close( hFile ); + + data[length] = 0; + + g_pStringTableInfoPanel->AddString( CBaseEntity::IsServer(), "motd", length+1, data ); +#endif +} + +// keeps track of which chapters the user has unlocked +ConVar sv_unlockedchapters( "sv_unlockedchapters", "1", FCVAR_ARCHIVE | FCVAR_ARCHIVE_XBOX ); + +//----------------------------------------------------------------------------- +// Purpose: Updates which chapters are unlocked +//----------------------------------------------------------------------------- +void UpdateChapterRestrictions( const char *mapname ) +{ + // look at the chapter for this map + char chapterTitle[64]; + chapterTitle[0] = 0; + for ( size_t i = 0; i < ARRAYSIZE(gTitleComments); i++ ) + { + if ( !Q_strnicmp( mapname, gTitleComments[i].pBSPName, strlen(gTitleComments[i].pBSPName) ) ) + { + // found + Q_strncpy( chapterTitle, gTitleComments[i].pTitleName, sizeof( chapterTitle ) ); + size_t j = 0; + while ( j < 64 && chapterTitle[j] ) + { + if ( chapterTitle[j] == '\n' || chapterTitle[j] == '\r' ) + chapterTitle[j] = 0; + else + j++; + } + + break; + } + } + + if ( !chapterTitle[0] ) + return; + + // make sure the specified chapter title is unlocked + Q_strlower( chapterTitle ); + + // Get our active mod directory name + char modDir[MAX_PATH]; + if ( UTIL_GetModDir( modDir, sizeof(modDir) ) == false ) + return; + + char chapterNumberPrefix[64]; + Q_snprintf(chapterNumberPrefix, sizeof(chapterNumberPrefix), "#%s_chapter", modDir); + + const char *newChapterNumber = strstr( chapterTitle, chapterNumberPrefix ); + if ( newChapterNumber ) + { + // cut off the front + newChapterNumber += strlen( chapterNumberPrefix ); + char newChapter[32]; + Q_strncpy( newChapter, newChapterNumber, sizeof(newChapter) ); + + // cut off the end + char *end = strstr( newChapter, "_title" ); + if ( end ) + { + *end = 0; + } + + int nNewChapter = atoi( newChapter ); + + // HACK: HL2 added a zany chapter "9a" which wreaks + // havoc in this stupid atoi-based chapter code. + if ( !Q_stricmp( modDir, "hl2" ) ) + { + if ( !Q_stricmp( newChapter, "9a" ) ) + { + nNewChapter = 10; + } + else if ( nNewChapter > 9 ) + { + nNewChapter++; + } + } + + // ok we have the string, see if it's newer + const char *unlockedChapter = sv_unlockedchapters.GetString(); + int nUnlockedChapter = atoi( unlockedChapter ); + + if ( nUnlockedChapter < nNewChapter ) + { + // ok we're at a higher chapter, unlock + sv_unlockedchapters.SetValue( nNewChapter ); + + // HACK: Call up through a better function than this? 7/23/07 - jdw + if ( IsX360() ) + { + engine->ServerCommand( "host_writeconfig\n" ); + } + } + + g_nCurrentChapterIndex = nNewChapter; + } +} + +//----------------------------------------------------------------------------- +// Purpose: Update xbox live data for the user's presence +//----------------------------------------------------------------------------- +void UpdateRichPresence ( void ) +{ + // This assumes we're playing a single player game + Assert ( gpGlobals->maxClients == 1 ); + + // Shouldn't get here unless we're playing a map and we've updated sv_unlockedchapters + Assert ( g_nCurrentChapterIndex >= 0 ); + + // Get our active mod directory name + char modDir[MAX_PATH]; + if ( UTIL_GetModDir( modDir, sizeof(modDir) ) == false ) + return; + + // Get presence data based on the game we're playing + uint iGameID, iChapterIndex, iChapterID, iGamePresenceID; + iGameID = iChapterIndex = iChapterID = iGamePresenceID = 0; + if ( Q_stristr( modDir, "hl2" ) ) + { + iGameID = CONTEXT_GAME_GAME_HALF_LIFE_2; + iChapterID = CONTEXT_CHAPTER_HL2; + iChapterIndex = g_nCurrentChapterIndex - 1; + iGamePresenceID = CONTEXT_PRESENCE_HL2_INGAME; + } + else if ( Q_stristr( modDir, "episodic" ) ) + { + iGameID = CONTEXT_GAME_GAME_EPISODE_ONE; + iChapterID = CONTEXT_CHAPTER_EP1; + iChapterIndex = g_nCurrentChapterIndex - 1; + iGamePresenceID = CONTEXT_PRESENCE_EP1_INGAME; + } + else if ( Q_stristr( modDir, "ep2" ) ) + { + iGameID = CONTEXT_GAME_GAME_EPISODE_TWO; + iChapterID = CONTEXT_CHAPTER_EP2; + iChapterIndex = g_nCurrentChapterIndex - 1; + iGamePresenceID = CONTEXT_PRESENCE_EP2_INGAME; + } + else if ( Q_stristr( modDir, "portal" ) ) + { + iGameID = CONTEXT_GAME_GAME_PORTAL; + iChapterID = CONTEXT_CHAPTER_PORTAL; + iChapterIndex = g_nCurrentChapterIndex - 1; + iGamePresenceID = CONTEXT_PRESENCE_PORTAL_INGAME; + } + else + { + Warning( "UpdateRichPresence failed in GameInterface. Didn't recognize -game parameter." ); + } + + if ( iChapterID < 0 ) + iChapterID = 0; + +#if defined( _X360 ) + + // Set chapter context based on mapname + if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), iChapterID, iChapterIndex, true ) ) + { + Warning( "GameInterface: UserSetContext failed.\n" ); + } + + if ( commentary.GetBool() ) + { + // Set presence to show the user is playing developer commentary + if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), X_CONTEXT_PRESENCE, CONTEXT_PRESENCE_COMMENTARY, true ) ) + { + Warning( "GameInterface: UserSetContext failed.\n" ); + } + } + else + { + // Set presence to show the user is in-game + if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), X_CONTEXT_PRESENCE, iGamePresenceID, true ) ) + { + Warning( "GameInterface: UserSetContext failed.\n" ); + } + } + + // Set which game the user is playing + if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), CONTEXT_GAME, iGameID, true ) ) + { + Warning( "GameInterface: UserSetContext failed.\n" ); + } + + if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), X_CONTEXT_GAME_TYPE, X_CONTEXT_GAME_TYPE_STANDARD, true ) ) + { + Warning( "GameInterface: UserSetContext failed.\n" ); + } + + if ( !xboxsystem->UserSetContext( XBX_GetPrimaryUserId(), X_CONTEXT_GAME_MODE, CONTEXT_GAME_MODE_SINGLEPLAYER, true ) ) + { + Warning( "GameInterface: UserSetContext failed.\n" ); + } +#endif +} + +//----------------------------------------------------------------------------- +// Precaches a vgui screen overlay material +//----------------------------------------------------------------------------- +void PrecacheMaterial( const char *pMaterialName ) +{ + Assert( pMaterialName && pMaterialName[0] ); + g_pStringTableMaterials->AddString( CBaseEntity::IsServer(), pMaterialName ); +} + + +//----------------------------------------------------------------------------- +// Converts a previously precached material into an index +//----------------------------------------------------------------------------- +int GetMaterialIndex( const char *pMaterialName ) +{ + if (pMaterialName) + { + int nIndex = g_pStringTableMaterials->FindStringIndex( pMaterialName ); + + if (nIndex != INVALID_STRING_INDEX ) + { + return nIndex; + } + else + { + DevMsg("Warning! GetMaterialIndex: couldn't find material %s\n ", pMaterialName ); + return 0; + } + } + + // This is the invalid string index + return 0; +} + +//----------------------------------------------------------------------------- +// Converts a previously precached material index into a string +//----------------------------------------------------------------------------- +const char *GetMaterialNameFromIndex( int nMaterialIndex ) +{ + return g_pStringTableMaterials->GetString( nMaterialIndex ); +} + + +//----------------------------------------------------------------------------- +// Precaches a vgui screen overlay material +//----------------------------------------------------------------------------- +void PrecacheParticleSystem( const char *pParticleSystemName ) +{ + Assert( pParticleSystemName && pParticleSystemName[0] ); + g_pStringTableParticleEffectNames->AddString( CBaseEntity::IsServer(), pParticleSystemName ); +} + + +//----------------------------------------------------------------------------- +// Converts a previously precached material into an index +//----------------------------------------------------------------------------- +int GetParticleSystemIndex( const char *pParticleSystemName ) +{ + if ( pParticleSystemName ) + { + int nIndex = g_pStringTableParticleEffectNames->FindStringIndex( pParticleSystemName ); + if (nIndex != INVALID_STRING_INDEX ) + return nIndex; + + DevWarning("Server: Missing precache for particle system \"%s\"!\n", pParticleSystemName ); + } + + // This is the invalid string index + return 0; +} + +//----------------------------------------------------------------------------- +// Converts a previously precached material index into a string +//----------------------------------------------------------------------------- +const char *GetParticleSystemNameFromIndex( int nMaterialIndex ) +{ + if ( nMaterialIndex < g_pStringTableParticleEffectNames->GetMaxStrings() ) + return g_pStringTableParticleEffectNames->GetString( nMaterialIndex ); + return "error"; +} + +//----------------------------------------------------------------------------- +// Returns true if host_thread_mode is set to non-zero (and engine is running in threaded mode) +//----------------------------------------------------------------------------- +bool IsEngineThreaded() +{ + if ( g_pcv_ThreadMode ) + { + return g_pcv_ThreadMode->GetBool(); + } + return false; +} + +class CServerGameEnts : public IServerGameEnts +{ +public: + virtual void SetDebugEdictBase(edict_t *base); + virtual void MarkEntitiesAsTouching( edict_t *e1, edict_t *e2 ); + virtual void FreeContainingEntity( edict_t * ); + virtual edict_t* BaseEntityToEdict( CBaseEntity *pEnt ); + virtual CBaseEntity* EdictToBaseEntity( edict_t *pEdict ); + virtual void CheckTransmit( CCheckTransmitInfo *pInfo, const unsigned short *pEdictIndices, int nEdicts ); +}; +EXPOSE_SINGLE_INTERFACE(CServerGameEnts, IServerGameEnts, INTERFACEVERSION_SERVERGAMEENTS); + +void CServerGameEnts::SetDebugEdictBase(edict_t *base) +{ + g_pDebugEdictBase = base; +} + +//----------------------------------------------------------------------------- +// Purpose: Marks entities as touching +// Input : *e1 - +// *e2 - +//----------------------------------------------------------------------------- +void CServerGameEnts::MarkEntitiesAsTouching( edict_t *e1, edict_t *e2 ) +{ + CBaseEntity *entity = GetContainingEntity( e1 ); + CBaseEntity *entityTouched = GetContainingEntity( e2 ); + if ( entity && entityTouched ) + { + // HACKHACK: UNDONE: Pass in the trace here??!?!? + trace_t tr; + UTIL_ClearTrace( tr ); + tr.endpos = (entity->GetAbsOrigin() + entityTouched->GetAbsOrigin()) * 0.5; + entity->PhysicsMarkEntitiesAsTouching( entityTouched, tr ); + } +} + +void CServerGameEnts::FreeContainingEntity( edict_t *e ) +{ + ::FreeContainingEntity(e); +} + +edict_t* CServerGameEnts::BaseEntityToEdict( CBaseEntity *pEnt ) +{ + if ( pEnt ) + return pEnt->edict(); + else + return NULL; +} + +CBaseEntity* CServerGameEnts::EdictToBaseEntity( edict_t *pEdict ) +{ + if ( pEdict ) + return CBaseEntity::Instance( pEdict ); + else + return NULL; +} + + +/* Yuck.. ideally this would be in CServerNetworkProperty's header, but it requires CBaseEntity and +// inlining it gives a nice speedup. +inline void CServerNetworkProperty::CheckTransmit( CCheckTransmitInfo *pInfo ) +{ + // If we have a transmit proxy, let it hook our ShouldTransmit return value. + if ( m_pTransmitProxy ) + { + nShouldTransmit = m_pTransmitProxy->ShouldTransmit( pInfo, nShouldTransmit ); + } + + if ( m_pOuter->ShouldTransmit( pInfo ) ) + { + m_pOuter->SetTransmit( pInfo ); + } +} */ + +void CServerGameEnts::CheckTransmit( CCheckTransmitInfo *pInfo, const unsigned short *pEdictIndices, int nEdicts ) +{ + // NOTE: for speed's sake, this assumes that all networkables are CBaseEntities and that the edict list + // is consecutive in memory. If either of these things change, then this routine needs to change, but + // ideally we won't be calling any virtual from this routine. This speedy routine was added as an + // optimization which would be nice to keep. + edict_t *pBaseEdict = engine->PEntityOfEntIndex( 0 ); + + // get recipient player's skybox: + CBaseEntity *pRecipientEntity = CBaseEntity::Instance( pInfo->m_pClientEnt ); + + Assert( pRecipientEntity && pRecipientEntity->IsPlayer() ); + if ( !pRecipientEntity ) + return; + + MDLCACHE_CRITICAL_SECTION(); + CBasePlayer *pRecipientPlayer = static_cast( pRecipientEntity ); + const int skyBoxArea = pRecipientPlayer->m_Local.m_skybox3d.area; + +#ifndef _X360 + const bool bIsHLTV = pRecipientPlayer->IsHLTV(); + + // m_pTransmitAlways must be set if HLTV client + Assert( bIsHLTV == ( pInfo->m_pTransmitAlways != NULL) ); +#endif + + for ( int i=0; i < nEdicts; i++ ) + { + int iEdict = pEdictIndices[i]; + + edict_t *pEdict = &pBaseEdict[iEdict]; + Assert( pEdict == engine->PEntityOfEntIndex( iEdict ) ); + int nFlags = pEdict->m_fStateFlags & (FL_EDICT_DONTSEND|FL_EDICT_ALWAYS|FL_EDICT_PVSCHECK|FL_EDICT_FULLCHECK); + + // entity needs no transmit + if ( nFlags & FL_EDICT_DONTSEND ) + continue; + + // entity is already marked for sending + if ( pInfo->m_pTransmitEdict->Get( iEdict ) ) + continue; + + if ( nFlags & FL_EDICT_ALWAYS ) + { + // FIXME: Hey! Shouldn't this be using SetTransmit so as + // to also force network down dependent entities? + while ( true ) + { + // mark entity for sending + pInfo->m_pTransmitEdict->Set( iEdict ); + +#ifndef _X360 + if ( bIsHLTV ) + { + pInfo->m_pTransmitAlways->Set( iEdict ); + } +#endif + CServerNetworkProperty *pEnt = static_cast( pEdict->GetNetworkable() ); + if ( !pEnt ) + break; + + CServerNetworkProperty *pParent = pEnt->GetNetworkParent(); + if ( !pParent ) + break; + + pEdict = pParent->edict(); + iEdict = pParent->entindex(); + } + continue; + } + + // FIXME: Would like to remove all dependencies + CBaseEntity *pEnt = ( CBaseEntity * )pEdict->GetUnknown(); + Assert( dynamic_cast< CBaseEntity* >( pEdict->GetUnknown() ) == pEnt ); + + if ( nFlags == FL_EDICT_FULLCHECK ) + { + // do a full ShouldTransmit() check, may return FL_EDICT_CHECKPVS + nFlags = pEnt->ShouldTransmit( pInfo ); + + Assert( !(nFlags & FL_EDICT_FULLCHECK) ); + + if ( nFlags & FL_EDICT_ALWAYS ) + { + pEnt->SetTransmit( pInfo, true ); + continue; + } + } + + // don't send this entity + if ( !( nFlags & FL_EDICT_PVSCHECK ) ) + continue; + + CServerNetworkProperty *netProp = static_cast( pEdict->GetNetworkable() ); + +#ifndef _X360 + if ( bIsHLTV ) + { + // for the HLTV we don't cull against PVS + if ( netProp->AreaNum() == skyBoxArea ) + { + pEnt->SetTransmit( pInfo, true ); + } + else + { + pEnt->SetTransmit( pInfo, false ); + } + continue; + } +#endif + + // Always send entities in the player's 3d skybox. + // Sidenote: call of AreaNum() ensures that PVS data is up to date for this entity + bool bSameAreaAsSky = netProp->AreaNum() == skyBoxArea; + if ( bSameAreaAsSky ) + { + pEnt->SetTransmit( pInfo, true ); + continue; + } + + bool bInPVS = netProp->IsInPVS( pInfo ); + if ( bInPVS || sv_force_transmit_ents.GetBool() ) + { + // only send if entity is in PVS + pEnt->SetTransmit( pInfo, false ); + continue; + } + + // If the entity is marked "check PVS" but it's in hierarchy, walk up the hierarchy looking for the + // for any parent which is also in the PVS. If none are found, then we don't need to worry about sending ourself + CBaseEntity *orig = pEnt; + CServerNetworkProperty *check = netProp->GetNetworkParent(); + + // BUG BUG: I think it might be better to build up a list of edict indices which "depend" on other answers and then + // resolve them in a second pass. Not sure what happens if an entity has two parents who both request PVS check? + while ( check ) + { + int checkIndex = check->entindex(); + + // Parent already being sent + if ( pInfo->m_pTransmitEdict->Get( checkIndex ) ) + { + orig->SetTransmit( pInfo, true ); + break; + } + + edict_t *checkEdict = check->edict(); + int checkFlags = checkEdict->m_fStateFlags & (FL_EDICT_DONTSEND|FL_EDICT_ALWAYS|FL_EDICT_PVSCHECK|FL_EDICT_FULLCHECK); + if ( checkFlags & FL_EDICT_DONTSEND ) + break; + + if ( checkFlags & FL_EDICT_ALWAYS ) + { + orig->SetTransmit( pInfo, true ); + break; + } + + if ( checkFlags == FL_EDICT_FULLCHECK ) + { + // do a full ShouldTransmit() check, may return FL_EDICT_CHECKPVS + CBaseEntity *pCheckEntity = check->GetBaseEntity(); + nFlags = pCheckEntity->ShouldTransmit( pInfo ); + Assert( !(nFlags & FL_EDICT_FULLCHECK) ); + if ( nFlags & FL_EDICT_ALWAYS ) + { + pCheckEntity->SetTransmit( pInfo, true ); + orig->SetTransmit( pInfo, true ); + } + break; + } + + if ( checkFlags & FL_EDICT_PVSCHECK ) + { + // Check pvs + check->RecomputePVSInformation(); + bool bMoveParentInPVS = check->IsInPVS( pInfo ); + if ( bMoveParentInPVS ) + { + orig->SetTransmit( pInfo, true ); + break; + } + } + + // Continue up chain just in case the parent itself has a parent that's in the PVS... + check = check->GetNetworkParent(); + } + } + +// Msg("A:%i, N:%i, F: %i, P: %i\n", always, dontSend, fullCheck, PVS ); +} + + +CServerGameClients g_ServerGameClients; +EXPOSE_SINGLE_INTERFACE_GLOBALVAR(CServerGameClients, IServerGameClients, INTERFACEVERSION_SERVERGAMECLIENTS, g_ServerGameClients ); + + +//----------------------------------------------------------------------------- +// Purpose: called when a player tries to connect to the server +// Input : *pEdict - the new player +// char *pszName - the players name +// char *pszAddress - the IP address of the player +// reject - output - fill in with the reason why +// maxrejectlen -- sizeof output buffer +// the player was not allowed to connect. +// Output : Returns TRUE if player is allowed to join, FALSE if connection is denied. +//----------------------------------------------------------------------------- +bool CServerGameClients::ClientConnect( edict_t *pEdict, const char *pszName, const char *pszAddress, char *reject, int maxrejectlen ) +{ + return g_pGameRules->ClientConnected( pEdict, pszName, pszAddress, reject, maxrejectlen ); +} + +//----------------------------------------------------------------------------- +// Purpose: Called when a player is fully active (i.e. ready to receive messages) +// Input : *pEntity - the player +//----------------------------------------------------------------------------- +void CServerGameClients::ClientActive( edict_t *pEdict, bool bLoadGame ) +{ + MDLCACHE_CRITICAL_SECTION(); + + ::ClientActive( pEdict, bLoadGame ); + + // If we just loaded from a save file, call OnRestore on valid entities + EndRestoreEntities(); + + if ( gpGlobals->eLoadType != MapLoad_LoadGame ) + { + // notify all entities that the player is now in the game + for ( CBaseEntity *pEntity = gEntList.FirstEnt(); pEntity != NULL; pEntity = gEntList.NextEnt(pEntity) ) + { + pEntity->PostClientActive(); + } + } + + // Tell the sound controller to check looping sounds + CBasePlayer *pPlayer = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); + CSoundEnvelopeController::GetController().CheckLoopingSoundsForPlayer( pPlayer ); + SceneManager_ClientActive( pPlayer ); +} + +//----------------------------------------------------------------------------- +// Purpose: called when a player disconnects from a server +// Input : *pEdict - the player +//----------------------------------------------------------------------------- +void CServerGameClients::ClientDisconnect( edict_t *pEdict ) +{ + extern bool g_fGameOver; + + CBasePlayer *player = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); + if ( player ) + { + if ( !g_fGameOver ) + { + player->SetMaxSpeed( 0.0f ); + + CSound *pSound; + pSound = CSoundEnt::SoundPointerForIndex( CSoundEnt::ClientSoundIndex( pEdict ) ); + { + // since this client isn't around to think anymore, reset their sound. + if ( pSound ) + { + pSound->Reset(); + } + } + + // since the edict doesn't get deleted, fix it so it doesn't interfere. + player->RemoveFlag( FL_AIMTARGET ); // don't attract autoaim + player->AddFlag( FL_DONTTOUCH ); // stop it touching anything + player->AddFlag( FL_NOTARGET ); // stop NPCs noticing it + player->AddSolidFlags( FSOLID_NOT_SOLID ); // nonsolid + + if ( g_pGameRules ) + { + g_pGameRules->ClientDisconnected( pEdict ); + gamestats->Event_PlayerDisconnected( player ); + } + } + + // Make sure all Untouch()'s are called for this client leaving + CBaseEntity::PhysicsRemoveTouchedList( player ); + CBaseEntity::PhysicsRemoveGroundList( player ); + +#if !defined( NO_ENTITY_PREDICTION ) + // Make sure anything we "own" is simulated by the server from now on + player->ClearPlayerSimulationList(); +#endif + } +} + +void CServerGameClients::ClientPutInServer( edict_t *pEntity, const char *playername ) +{ + if ( g_pClientPutInServerOverride ) + g_pClientPutInServerOverride( pEntity, playername ); + else + ::ClientPutInServer( pEntity, playername ); +} + +void CServerGameClients::ClientCommand( edict_t *pEntity, const CCommand &args ) +{ + CBasePlayer *pPlayer = ToBasePlayer( GetContainingEntity( pEntity ) ); + ::ClientCommand( pPlayer, args ); +} + +//----------------------------------------------------------------------------- +// Purpose: called after the player changes userinfo - gives dll a chance to modify +// it before it gets sent into the rest of the engine-> +// Input : *pEdict - the player +// *infobuffer - their infobuffer +//----------------------------------------------------------------------------- +void CServerGameClients::ClientSettingsChanged( edict_t *pEdict ) +{ + // Is the client spawned yet? + if ( !pEdict->GetUnknown() ) + return; + + CBasePlayer *player = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); + + if ( !player ) + return; + +#define QUICKGETCVARVALUE(v) (engine->GetClientConVarValue( player->entindex(), v )) + + // get network setting for prediction & lag compensation + + // Unfortunately, we have to duplicate the code in cdll_bounded_cvars.cpp here because the client + // doesn't send the virtualized value up (because it has no way to know when the virtualized value + // changes). Possible todo: put the responsibility on the bounded cvar to notify the engine when + // its virtualized value has changed. + + player->m_nUpdateRate = Q_atoi( QUICKGETCVARVALUE("cl_updaterate") ); + static const ConVar *pMinUpdateRate = g_pCVar->FindVar( "sv_minupdaterate" ); + static const ConVar *pMaxUpdateRate = g_pCVar->FindVar( "sv_maxupdaterate" ); + if ( pMinUpdateRate && pMaxUpdateRate ) + player->m_nUpdateRate = (int)clamp( player->m_nUpdateRate, pMinUpdateRate->GetFloat(), pMaxUpdateRate->GetFloat() ); + + bool useInterpolation = Q_atoi( QUICKGETCVARVALUE("cl_interpolate") ) != 0; + if ( useInterpolation ) + { + float flLerpRatio = Q_atof( QUICKGETCVARVALUE("cl_interp_ratio") ); + if ( flLerpRatio == 0 ) + flLerpRatio = 1.0f; + float flLerpAmount = Q_atof( QUICKGETCVARVALUE("cl_interp") ); + + static const ConVar *pMin = g_pCVar->FindVar( "sv_client_min_interp_ratio" ); + static const ConVar *pMax = g_pCVar->FindVar( "sv_client_max_interp_ratio" ); + if ( pMin && pMax && pMin->GetFloat() != -1 ) + { + flLerpRatio = clamp( flLerpRatio, pMin->GetFloat(), pMax->GetFloat() ); + } + else + { + if ( flLerpRatio == 0 ) + flLerpRatio = 1.0f; + } + // #define FIXME_INTERP_RATIO + player->m_fLerpTime = max( flLerpAmount, flLerpRatio / player->m_nUpdateRate ); + } + else + { + player->m_fLerpTime = 0.0f; + } + +#if !defined( NO_ENTITY_PREDICTION ) + bool usePrediction = Q_atoi( QUICKGETCVARVALUE("cl_predict")) != 0; + + if ( usePrediction ) + { + player->m_bPredictWeapons = Q_atoi( QUICKGETCVARVALUE("cl_predictweapons")) != 0; + player->m_bLagCompensation = Q_atoi( QUICKGETCVARVALUE("cl_lagcompensation")) != 0; + } + else +#endif + { + player->m_bPredictWeapons = false; + player->m_bLagCompensation = false; + } + + +#undef QUICKGETCVARVALUE + + g_pGameRules->ClientSettingsChanged( player ); +} + + +#ifdef PORTAL +//----------------------------------------------------------------------------- +// Purpose: Runs CFuncAreaPortalBase::UpdateVisibility on each portal +// Input : pAreaPortal - The Area portal to test for visibility from portals +// Output : int - 1 if any portal needs this area portal open, 0 otherwise. +//----------------------------------------------------------------------------- +int TestAreaPortalVisibilityThroughPortals ( CFuncAreaPortalBase* pAreaPortal, edict_t *pViewEntity, unsigned char *pvs, int pvssize ) +{ + int iPortalCount = CProp_Portal_Shared::AllPortals.Count(); + if( iPortalCount == 0 ) + return 0; + + CProp_Portal **pPortals = CProp_Portal_Shared::AllPortals.Base(); + + for ( int i = 0; i != iPortalCount; ++i ) + { + CProp_Portal* pLocalPortal = pPortals[ i ]; + if ( pLocalPortal && pLocalPortal->m_bActivated ) + { + CProp_Portal* pRemotePortal = pLocalPortal->m_hLinkedPortal.Get(); + + // Make sure this portal's linked portal is in the PVS before we add what it can see + if ( pRemotePortal && pRemotePortal->m_bActivated && pRemotePortal->NetworkProp() && + pRemotePortal->NetworkProp()->IsInPVS( pViewEntity, pvs, pvssize ) ) + { + bool bIsOpenOnClient = true; + float fovDistanceAdjustFactor = 1.0f; + Vector portalOrg = pLocalPortal->GetAbsOrigin(); + int iPortalNeedsThisPortalOpen = pAreaPortal->UpdateVisibility( portalOrg, fovDistanceAdjustFactor, bIsOpenOnClient ); + + // Stop checking on success, this portal needs to be open + if ( iPortalNeedsThisPortalOpen ) + { + return iPortalNeedsThisPortalOpen; + } + } + } + } + + return 0; +} +#endif + +//----------------------------------------------------------------------------- +// Purpose: A client can have a separate "view entity" indicating that his/her view should depend on the origin of that +// view entity. If that's the case, then pViewEntity will be non-NULL and will be used. Otherwise, the current +// entity's origin is used. Either is offset by the m_vecViewOffset to get the eye position. +// From the eye position, we set up the PAS and PVS to use for filtering network messages to the client. At this point, we could +// override the actual PAS or PVS values, or use a different origin. +// NOTE: Do not cache the values of pas and pvs, as they depend on reusable memory in the engine, they are only good for this one frame +// Input : *pViewEntity - +// *pClient - +// **pvs - +// **pas - +//----------------------------------------------------------------------------- +void CServerGameClients::ClientSetupVisibility( edict_t *pViewEntity, edict_t *pClient, unsigned char *pvs, int pvssize ) +{ + Vector org; + + // Reset the PVS!!! + engine->ResetPVS( pvs, pvssize ); + + g_pToolFrameworkServer->PreSetupVisibility(); + + // Find the client's PVS + CBaseEntity *pVE = NULL; + if ( pViewEntity ) + { + pVE = GetContainingEntity( pViewEntity ); + // If we have a viewentity, it overrides the player's origin + if ( pVE ) + { + org = pVE->EyePosition(); + engine->AddOriginToPVS( org ); + } + } + + float fovDistanceAdjustFactor = 1; + + CBasePlayer *pPlayer = ( CBasePlayer * )GetContainingEntity( pClient ); + if ( pPlayer ) + { + org = pPlayer->EyePosition(); + pPlayer->SetupVisibility( pVE, pvs, pvssize ); + UTIL_SetClientVisibilityPVS( pClient, pvs, pvssize ); + fovDistanceAdjustFactor = pPlayer->GetFOVDistanceAdjustFactorForNetworking(); + } + + unsigned char portalBits[MAX_AREA_PORTAL_STATE_BYTES]; + memset( portalBits, 0, sizeof( portalBits ) ); + + int portalNums[512]; + int isOpen[512]; + int iOutPortal = 0; + + for( unsigned short i = g_AreaPortals.Head(); i != g_AreaPortals.InvalidIndex(); i = g_AreaPortals.Next(i) ) + { + CFuncAreaPortalBase *pCur = g_AreaPortals[i]; + + bool bIsOpenOnClient = true; + + // Update our array of which portals are open and flush it if necessary. + portalNums[iOutPortal] = pCur->m_portalNumber; + isOpen[iOutPortal] = pCur->UpdateVisibility( org, fovDistanceAdjustFactor, bIsOpenOnClient ); + +#ifdef PORTAL + // If the client doesn't need this open, test if portals might need this area portal open + if ( isOpen[iOutPortal] == 0 ) + { + isOpen[iOutPortal] = TestAreaPortalVisibilityThroughPortals( pCur, pViewEntity, pvs, pvssize ); + } +#endif + + ++iOutPortal; + if ( iOutPortal >= (int)ARRAYSIZE( portalNums ) ) + { + engine->SetAreaPortalStates( portalNums, isOpen, iOutPortal ); + iOutPortal = 0; + } + + // Version 0 portals (ie: shipping Half-Life 2 era) are always treated as open + // for purposes of the m_chAreaPortalBits array on the client. + if ( pCur->m_iPortalVersion == 0 ) + bIsOpenOnClient = true; + + if ( bIsOpenOnClient ) + { + if ( pCur->m_portalNumber < 0 ) + continue; + else if ( pCur->m_portalNumber >= (int)sizeof( portalBits ) * 8 ) + Error( "ClientSetupVisibility: portal number (%d) too large", pCur->m_portalNumber ); + else + portalBits[pCur->m_portalNumber >> 3] |= (1 << (pCur->m_portalNumber & 7)); + } + } + + // Flush the remaining areaportal states. + engine->SetAreaPortalStates( portalNums, isOpen, iOutPortal ); + + // Update the area bits that get sent to the client. + pPlayer->m_Local.UpdateAreaBits( pPlayer, portalBits ); + +#ifdef PORTAL + // *After* the player's view has updated its area bits, add on any other areas seen by portals + CPortal_Player* pPortalPlayer = dynamic_cast( pPlayer ); + if ( pPortalPlayer ) + { + pPortalPlayer->UpdatePortalViewAreaBits( pvs, pvssize ); + } +#endif //PORTAL +} + + + + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *player - +// *buf - +// numcmds - +// totalcmds - +// dropped_packets - +// ignore - +// paused - +// Output : float +//----------------------------------------------------------------------------- +#define CMD_MAXBACKUP 64 + +float CServerGameClients::ProcessUsercmds( edict_t *player, bf_read *buf, int numcmds, int totalcmds, + int dropped_packets, bool ignore, bool paused ) +{ + int i; + CUserCmd *from, *to; + + // We track last three command in case we drop some + // packets but get them back. + CUserCmd cmds[ CMD_MAXBACKUP ]; + + CUserCmd cmdNull; // For delta compression + + Assert( numcmds >= 0 ); + Assert( ( totalcmds - numcmds ) >= 0 ); + + CBasePlayer *pPlayer = NULL; + CBaseEntity *pEnt = CBaseEntity::Instance(player); + if ( pEnt && pEnt->IsPlayer() ) + { + pPlayer = static_cast< CBasePlayer * >( pEnt ); + } + // Too many commands? + if ( totalcmds < 0 || totalcmds >= ( CMD_MAXBACKUP - 1 ) ) + { + const char *name = "unknown"; + if ( pPlayer ) + { + name = pPlayer->GetPlayerName(); + } + + Msg("CBasePlayer::ProcessUsercmds: too many cmds %i sent for player %s\n", totalcmds, name ); + // FIXME: Need a way to drop the client from here + //SV_DropClient ( host_client, false, "CMD_MAXBACKUP hit" ); + buf->SetOverflowFlag(); + return 0.0f; + } + + // Initialize for reading delta compressed usercmds + cmdNull.Reset(); + from = &cmdNull; + for ( i = totalcmds - 1; i >= 0; i-- ) + { + to = &cmds[ i ]; + ReadUsercmd( buf, to, from ); + from = to; + } + + // Client not fully connected or server has gone inactive or is paused, just ignore + if ( ignore || !pPlayer ) + { + return 0.0f; + } + + MDLCACHE_CRITICAL_SECTION(); + pPlayer->ProcessUsercmds( cmds, numcmds, totalcmds, dropped_packets, paused ); + + return TICK_INTERVAL; +} + + +void CServerGameClients::PostClientMessagesSent( void ) +{ + VPROF("CServerGameClients::PostClient"); + gEntList.PostClientMessagesSent(); +} + +// Sets the client index for the client who typed the command into his/her console +void CServerGameClients::SetCommandClient( int index ) +{ + g_nCommandClientIndex = index; +} + +int CServerGameClients::GetReplayDelay( edict_t *pEdict, int &entity ) +{ + CBasePlayer *pPlayer = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); + + if ( !pPlayer ) + return 0; + + entity = pPlayer->GetReplayEntity(); + + return pPlayer->GetDelayTicks(); +} + + +//----------------------------------------------------------------------------- +// The client's userinfo data lump has changed +//----------------------------------------------------------------------------- +void CServerGameClients::ClientEarPosition( edict_t *pEdict, Vector *pEarOrigin ) +{ + CBasePlayer *pPlayer = ( CBasePlayer * )CBaseEntity::Instance( pEdict ); + if (pPlayer) + { + *pEarOrigin = pPlayer->EarPosition(); + } + else + { + // Shouldn't happen + Assert(0); + *pEarOrigin = vec3_origin; + } +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *player - +// Output : CPlayerState +//----------------------------------------------------------------------------- +CPlayerState *CServerGameClients::GetPlayerState( edict_t *player ) +{ + // Is the client spawned yet? + if ( !player || !player->GetUnknown() ) + return NULL; + + CBasePlayer *pBasePlayer = ( CBasePlayer * )CBaseEntity::Instance( player ); + if ( !pBasePlayer ) + return NULL; + + return &pBasePlayer->pl; +} + +//----------------------------------------------------------------------------- +// Purpose: Anything this game .dll wants to add to the bug reporter text (e.g., the entity/model under the picker crosshair) +// can be added here +// Input : *buf - +// buflen - +//----------------------------------------------------------------------------- +void CServerGameClients::GetBugReportInfo( char *buf, int buflen ) +{ + recentNPCSpeech_t speech[ SPEECH_LIST_MAX_SOUNDS ]; + int num; + int i; + + buf[ 0 ] = 0; + + if ( gpGlobals->maxClients == 1 ) + { + CBaseEntity *ent = FindPickerEntity( UTIL_PlayerByIndex(1) ); + if ( ent ) + { + Q_snprintf( buf, buflen, "Picker %i/%s - ent %s model %s\n", + ent->entindex(), + ent->GetClassname(), + STRING( ent->GetEntityName() ), + STRING(ent->GetModelName()) ); + } + + // get any sounds that were spoken by NPCs recently + num = GetRecentNPCSpeech( speech ); + if ( num > 0 ) + { + Q_snprintf( buf, buflen, "%sRecent NPC speech:\n", buf ); + for( i = 0; i < num; i++ ) + { + Q_snprintf( buf, buflen, "%s time: %6.3f sound name: %s scene: %s\n", buf, speech[ i ].time, speech[ i ].name, speech[ i ].sceneName ); + } + Q_snprintf( buf, buflen, "%sCurrent time: %6.3f\n", buf, gpGlobals->curtime ); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: A user has had their network id setup and validated +//----------------------------------------------------------------------------- +void CServerGameClients::NetworkIDValidated( const char *pszUserName, const char *pszNetworkID ) +{ +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +static bf_write *g_pMsgBuffer = NULL; + +void EntityMessageBegin( CBaseEntity * entity, bool reliable /*= false*/ ) +{ + Assert( !g_pMsgBuffer ); + + Assert ( entity ); + + g_pMsgBuffer = engine->EntityMessageBegin( entity->entindex(), entity->GetServerClass(), reliable ); +} + +void UserMessageBegin( IRecipientFilter& filter, const char *messagename ) +{ + Assert( !g_pMsgBuffer ); + + Assert( messagename ); + + int msg_type = usermessages->LookupUserMessage( messagename ); + + if ( msg_type == -1 ) + { + Error( "UserMessageBegin: Unregistered message '%s'\n", messagename ); + } + + g_pMsgBuffer = engine->UserMessageBegin( &filter, msg_type ); +} + +void MessageEnd( void ) +{ + Assert( g_pMsgBuffer ); + + engine->MessageEnd(); + + g_pMsgBuffer = NULL; +} + +void MessageWriteByte( int iValue) +{ + if (!g_pMsgBuffer) + Error( "WRITE_BYTE called with no active message\n" ); + + g_pMsgBuffer->WriteByte( iValue ); +} + +void MessageWriteChar( int iValue) +{ + if (!g_pMsgBuffer) + Error( "WRITE_CHAR called with no active message\n" ); + + g_pMsgBuffer->WriteChar( iValue ); +} + +void MessageWriteShort( int iValue) +{ + if (!g_pMsgBuffer) + Error( "WRITE_SHORT called with no active message\n" ); + + g_pMsgBuffer->WriteShort( iValue ); +} + +void MessageWriteWord( int iValue ) +{ + if (!g_pMsgBuffer) + Error( "WRITE_WORD called with no active message\n" ); + + g_pMsgBuffer->WriteWord( iValue ); +} + +void MessageWriteLong( int iValue) +{ + if (!g_pMsgBuffer) + Error( "WriteLong called with no active message\n" ); + + g_pMsgBuffer->WriteLong( iValue ); +} + +void MessageWriteFloat( float flValue) +{ + if (!g_pMsgBuffer) + Error( "WriteFloat called with no active message\n" ); + + g_pMsgBuffer->WriteFloat( flValue ); +} + +void MessageWriteAngle( float flValue) +{ + if (!g_pMsgBuffer) + Error( "WriteAngle called with no active message\n" ); + + g_pMsgBuffer->WriteBitAngle( flValue, 8 ); +} + +void MessageWriteCoord( float flValue) +{ + if (!g_pMsgBuffer) + Error( "WriteCoord called with no active message\n" ); + + g_pMsgBuffer->WriteBitCoord( flValue ); +} + +void MessageWriteVec3Coord( const Vector& rgflValue) +{ + if (!g_pMsgBuffer) + Error( "WriteVec3Coord called with no active message\n" ); + + g_pMsgBuffer->WriteBitVec3Coord( rgflValue ); +} + +void MessageWriteVec3Normal( const Vector& rgflValue) +{ + if (!g_pMsgBuffer) + Error( "WriteVec3Normal called with no active message\n" ); + + g_pMsgBuffer->WriteBitVec3Normal( rgflValue ); +} + +void MessageWriteAngles( const QAngle& rgflValue) +{ + if (!g_pMsgBuffer) + Error( "WriteVec3Normal called with no active message\n" ); + + g_pMsgBuffer->WriteBitAngles( rgflValue ); +} + +void MessageWriteString( const char *sz ) +{ + if (!g_pMsgBuffer) + Error( "WriteString called with no active message\n" ); + + g_pMsgBuffer->WriteString( sz ); +} + +void MessageWriteEntity( int iValue) +{ + if (!g_pMsgBuffer) + Error( "WriteEntity called with no active message\n" ); + + g_pMsgBuffer->WriteShort( iValue ); +} + +void MessageWriteEHandle( CBaseEntity *pEntity ) +{ + if (!g_pMsgBuffer) + Error( "WriteEHandle called with no active message\n" ); + + long iEncodedEHandle; + + if( pEntity ) + { + EHANDLE hEnt = pEntity; + + int iSerialNum = hEnt.GetSerialNumber() & (1 << NUM_NETWORKED_EHANDLE_SERIAL_NUMBER_BITS) - 1; + iEncodedEHandle = hEnt.GetEntryIndex() | (iSerialNum << MAX_EDICT_BITS); + } + else + { + iEncodedEHandle = INVALID_NETWORKED_EHANDLE_VALUE; + } + + g_pMsgBuffer->WriteLong( iEncodedEHandle ); +} + +// bitwise +void MessageWriteBool( bool bValue ) +{ + if (!g_pMsgBuffer) + Error( "WriteBool called with no active message\n" ); + + g_pMsgBuffer->WriteOneBit( bValue ? 1 : 0 ); +} + +void MessageWriteUBitLong( unsigned int data, int numbits ) +{ + if (!g_pMsgBuffer) + Error( "WriteUBitLong called with no active message\n" ); + + g_pMsgBuffer->WriteUBitLong( data, numbits ); +} + +void MessageWriteSBitLong( int data, int numbits ) +{ + if (!g_pMsgBuffer) + Error( "WriteSBitLong called with no active message\n" ); + + g_pMsgBuffer->WriteSBitLong( data, numbits ); +} + +void MessageWriteBits( const void *pIn, int nBits ) +{ + if (!g_pMsgBuffer) + Error( "WriteBits called with no active message\n" ); + + g_pMsgBuffer->WriteBits( pIn, nBits ); +} + +class CServerDLLSharedAppSystems : public IServerDLLSharedAppSystems +{ +public: + CServerDLLSharedAppSystems() + { + AddAppSystem( "soundemittersystem", SOUNDEMITTERSYSTEM_INTERFACE_VERSION ); + AddAppSystem( "scenefilecache", SCENE_FILE_CACHE_INTERFACE_VERSION ); + } + + virtual int Count() + { + return m_Systems.Count(); + } + virtual char const *GetDllName( int idx ) + { + return m_Systems[ idx ].m_pModuleName; + } + virtual char const *GetInterfaceName( int idx ) + { + return m_Systems[ idx ].m_pInterfaceName; + } +private: + void AddAppSystem( char const *moduleName, char const *interfaceName ) + { + AppSystemInfo_t sys; + sys.m_pModuleName = moduleName; + sys.m_pInterfaceName = interfaceName; + m_Systems.AddToTail( sys ); + } + + CUtlVector< AppSystemInfo_t > m_Systems; +}; + +EXPOSE_SINGLE_INTERFACE( CServerDLLSharedAppSystems, IServerDLLSharedAppSystems, SERVER_DLL_SHARED_APPSYSTEMS ); + + +//----------------------------------------------------------------------------- +// +//----------------------------------------------------------------------------- +void CServerGameTags::GetTaggedConVarList( KeyValues *pCvarTagList ) +{ + if ( pCvarTagList ) + { + g_pGameRules->GetTaggedConVarList( pCvarTagList ); + } +} diff --git a/game/server/genericactor.cpp b/game/server/genericactor.cpp index 6a85f693..2ff04e0b 100644 --- a/game/server/genericactor.cpp +++ b/game/server/genericactor.cpp @@ -92,7 +92,7 @@ void CGenericActor::HandleAnimEvent( animevent_t *pEvent ) //========================================================= int CGenericActor::GetSoundInterests ( void ) { - return NULL; + return 0; } //========================================================= diff --git a/game/server/genericmonster.cpp b/game/server/genericmonster.cpp index 63bd8276..1815456b 100644 --- a/game/server/genericmonster.cpp +++ b/game/server/genericmonster.cpp @@ -127,7 +127,7 @@ void CGenericNPC::HandleAnimEvent( animevent_t *pEvent ) //========================================================= int CGenericNPC::GetSoundInterests ( void ) { - return NULL; + return 0; } //========================================================= diff --git a/game/server/globalstate.cpp b/game/server/globalstate.cpp index cfb2efa0..132b908f 100644 --- a/game/server/globalstate.cpp +++ b/game/server/globalstate.cpp @@ -131,6 +131,7 @@ public: entity.name = m_nameList.AddString( pGlobalname ); entity.levelName = m_nameList.AddString( pMapName ); entity.state = state; + entity.counter = 0; int index = GetIndex( m_nameList.String( entity.name ) ); if ( index >= 0 ) @@ -234,7 +235,7 @@ CON_COMMAND(dump_globals, "Dump all global entities/states") //#ifdef _DEBUG void CGlobalState::DumpGlobals( void ) { - static char *estates[] = { "Off", "On", "Dead" }; + static const char *estates[] = { "Off", "On", "Dead" }; Msg( "-- Globals --\n" ); for ( int i = 0; i < m_list.Count(); i++ ) diff --git a/game/server/hl1_CBaseHelicopter.h b/game/server/hl1_CBaseHelicopter.h index 056476c1..3b08df06 100644 --- a/game/server/hl1_CBaseHelicopter.h +++ b/game/server/hl1_CBaseHelicopter.h @@ -133,4 +133,4 @@ public: COutputEvent m_LeaveTarget; // Fired when pathcorner is left float m_flNextCrashExplosion; -}; \ No newline at end of file +}; diff --git a/game/server/hl2/ai_behavior_functank.cpp b/game/server/hl2/ai_behavior_functank.cpp index ee470bd8..075d926e 100644 --- a/game/server/hl2/ai_behavior_functank.cpp +++ b/game/server/hl2/ai_behavior_functank.cpp @@ -645,7 +645,7 @@ CBaseEntity *CAI_FuncTankBehavior::BestEnemy( void ) { bBestSeen = ( pNPC->GetSenses()->DidSeeEntity( pEnemy ) || pNPC->FVisible( pEnemy ) ); // @TODO (toml 04-02-03): Need to optimize CanSeeEntity() so multiple calls in frame do not recalculate, rather cache iBestPriority = pNPC->IRelationPriority( pEnemy ); - iBestDistSq = (pEnemy->GetAbsOrigin() - GetAbsOrigin() ).LengthSqr(); + iBestDistSq = (int)(pEnemy->GetAbsOrigin() - GetAbsOrigin()).LengthSqr(); pBestEnemy = pEnemy; bBestUnreachable = bUnreachable; } @@ -656,7 +656,7 @@ CBaseEntity *CAI_FuncTankBehavior::BestEnemy( void ) // currently think is the best visible enemy. No need to do // a distance check, just get mad at this one for now. iBestPriority = pNPC->IRelationPriority ( pEnemy ); - iBestDistSq = ( pEnemy->GetAbsOrigin() - GetAbsOrigin() ).LengthSqr(); + iBestDistSq = (int)(pEnemy->GetAbsOrigin() - GetAbsOrigin()).LengthSqr(); pBestEnemy = pEnemy; bBestUnreachable = bUnreachable; } @@ -665,7 +665,7 @@ CBaseEntity *CAI_FuncTankBehavior::BestEnemy( void ) // this entity is disliked just as much as the entity that // we currently think is the best visible enemy, so we only // get mad at it if it is closer. - iDistSq = ( pEnemy->GetAbsOrigin() - GetAbsOrigin() ).LengthSqr(); + iDistSq = (int)(pEnemy->GetAbsOrigin() - GetAbsOrigin()).LengthSqr(); bool bCloser = ( iDistSq < iBestDistSq ) ; diff --git a/game/server/hl2/ai_behavior_functank.h b/game/server/hl2/ai_behavior_functank.h index d9f1f33f..3d94825a 100644 --- a/game/server/hl2/ai_behavior_functank.h +++ b/game/server/hl2/ai_behavior_functank.h @@ -117,4 +117,4 @@ private: bool m_bSpottedPlayerOutOfCover; }; -#endif // AI_BEHAVIOR_FUNCTANK_H \ No newline at end of file +#endif // AI_BEHAVIOR_FUNCTANK_H diff --git a/game/server/hl2/ai_behavior_police.cpp b/game/server/hl2/ai_behavior_police.cpp index eb817bc2..a079faee 100644 --- a/game/server/hl2/ai_behavior_police.cpp +++ b/game/server/hl2/ai_behavior_police.cpp @@ -333,7 +333,7 @@ void CAI_PolicingBehavior::StartTask( const Task_t *pTask ) } } - if ( GetNavigator()->SetGoal( harassPos, pTask->flTaskData ) ) + if ( GetNavigator()->SetGoal( harassPos, (int)pTask->flTaskData ) ) { GetNavigator()->SetMovementActivity( (Activity) ACT_WALK_ANGRY ); GetNavigator()->SetArrivalDirection( m_hPoliceGoal->GetTarget() ); @@ -348,7 +348,7 @@ void CAI_PolicingBehavior::StartTask( const Task_t *pTask ) case TASK_POLICE_GET_PATH_TO_POLICE_GOAL: { - if ( GetNavigator()->SetGoal( m_hPoliceGoal->GetAbsOrigin(), pTask->flTaskData ) ) + if ( GetNavigator()->SetGoal( m_hPoliceGoal->GetAbsOrigin(), (int)pTask->flTaskData ) ) { GetNavigator()->SetArrivalDirection( m_hPoliceGoal->GetAbsAngles() ); TaskComplete(); @@ -368,7 +368,7 @@ void CAI_PolicingBehavior::StartTask( const Task_t *pTask ) m_flNextHarassTime = gpGlobals->curtime + random->RandomInt( 4, 6 ); // Scatter rubber-neckers - CSoundEnt::InsertSound( SOUND_MOVE_AWAY, GetAbsOrigin(), 256.0f, 2.0f, GetOuter() ); + CSoundEnt::InsertSound( SOUND_MOVE_AWAY, GetAbsOrigin(), 256, 2.0f, GetOuter() ); } TaskComplete(); break; diff --git a/game/server/hl2/ai_goal_police.cpp b/game/server/hl2/ai_goal_police.cpp index c6ecb2ad..0c2bd803 100644 --- a/game/server/hl2/ai_goal_police.cpp +++ b/game/server/hl2/ai_goal_police.cpp @@ -65,7 +65,7 @@ CBaseEntity *CAI_PoliceGoal::GetTarget( void ) if ( pTarget == NULL ) { - DevMsg( "Unable to find ai_goal_police target: %s\n", m_iszTarget ); + DevMsg( "Unable to find ai_goal_police target: %s\n", STRING(m_iszTarget) ); return NULL; } diff --git a/game/server/hl2/ai_interactions.h b/game/server/hl2/ai_interactions.h index ba4ac6b9..8e3b5661 100644 --- a/game/server/hl2/ai_interactions.h +++ b/game/server/hl2/ai_interactions.h @@ -77,4 +77,4 @@ extern int g_interactionPlayerPuntedHeavyObject; // Melee attack will land in one second or so. extern int g_interactionZombieMeleeWarning; -#endif //AI_INTERACTIONS_H \ No newline at end of file +#endif //AI_INTERACTIONS_H diff --git a/game/server/hl2/ai_spotlight.cpp b/game/server/hl2/ai_spotlight.cpp index bac29efa..c29794a4 100644 --- a/game/server/hl2/ai_spotlight.cpp +++ b/game/server/hl2/ai_spotlight.cpp @@ -365,12 +365,12 @@ void CAI_Spotlight::UpdateSpotlightEndpoint( void ) } else if (m_flSpotlightCurLength > m_flSpotlightMaxLength) { - m_hSpotlightTarget->SetRenderColorA( (1-((m_flSpotlightCurLength-m_flSpotlightMaxLength)/m_flSpotlightMaxLength)) ); + m_hSpotlightTarget->SetRenderColorA( (byte)((1-((m_flSpotlightCurLength-m_flSpotlightMaxLength)/m_flSpotlightMaxLength)))); m_hSpotlight->SetFadeLength(m_flSpotlightMaxLength); } else { - m_hSpotlightTarget->SetRenderColorA( 1.0 ); + m_hSpotlightTarget->SetRenderColorA( 1 ); m_hSpotlight->SetFadeLength(m_flSpotlightCurLength); } diff --git a/game/server/hl2/antlion_dust.h b/game/server/hl2/antlion_dust.h index 110716b9..94279b73 100644 --- a/game/server/hl2/antlion_dust.h +++ b/game/server/hl2/antlion_dust.h @@ -29,4 +29,4 @@ public: void UTIL_CreateAntlionDust( const Vector &origin, const QAngle &angles, bool bBlockedSpawner = false ); -#endif //ANTLION_DUST_H \ No newline at end of file +#endif //ANTLION_DUST_H diff --git a/game/server/hl2/antlion_maker.cpp b/game/server/hl2/antlion_maker.cpp index 48198a26..d3c30cd8 100644 --- a/game/server/hl2/antlion_maker.cpp +++ b/game/server/hl2/antlion_maker.cpp @@ -1670,20 +1670,20 @@ void CAntlionTemplateMaker::DrawDebugGeometryOverlays( void ) if ( m_debugOverlays & OVERLAY_TEXT_BIT ) { - float r, g, b; + int r, g, b; // Color by active state if ( m_bDisabled ) { - r = 255.0f; - g = 0.0f; - b = 0.0f; + r = 255; + g = 0; + b = 0; } else { - r = 0.0f; - g = 255.0f; - b = 0.0f; + r = 0; + g = 255; + b = 0; } // Draw ourself diff --git a/game/server/hl2/basehlcombatweapon.cpp b/game/server/hl2/basehlcombatweapon.cpp index e39c452d..98e63f44 100644 --- a/game/server/hl2/basehlcombatweapon.cpp +++ b/game/server/hl2/basehlcombatweapon.cpp @@ -10,7 +10,7 @@ #include "ai_basenpc.h" #include "game.h" #include "in_buttons.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" diff --git a/game/server/hl2/cbasehelicopter.cpp b/game/server/hl2/cbasehelicopter.cpp index 2817f94c..3e5807b0 100644 --- a/game/server/hl2/cbasehelicopter.cpp +++ b/game/server/hl2/cbasehelicopter.cpp @@ -682,7 +682,7 @@ void CBaseHelicopter::UpdateEnemy() // be sure and change my prevseen/lastseen timers. if( m_lifeState == LIFE_ALIVE ) { - GetSenses()->Look( EnemySearchDistance() ); + GetSenses()->Look( (int)EnemySearchDistance() ); GetEnemies()->RefreshMemories(); ChooseEnemy(); @@ -842,7 +842,7 @@ void CBaseHelicopter::UpdatePlayerDopplerShift( ) float velReceiver = DotProduct( pPlayer->GetAbsVelocity(), dir ); float velTransmitter = -DotProduct( GetAbsVelocity(), dir ); // speed of sound == 13049in/s - int iPitch = 100 * ((1 - velReceiver / 13049) / (1 + velTransmitter / 13049)); + int iPitch = (int)(100 * ((1 - velReceiver / 13049) / (1 + velTransmitter / 13049))); #else // This is a bogus doppler shift, but I like it better float relV = DotProduct( GetAbsVelocity() - pPlayer->GetAbsVelocity(), dir ); diff --git a/game/server/hl2/cbasespriteprojectile.h b/game/server/hl2/cbasespriteprojectile.h index 5c5ff04b..d162e0db 100644 --- a/game/server/hl2/cbasespriteprojectile.h +++ b/game/server/hl2/cbasespriteprojectile.h @@ -31,7 +31,7 @@ public: void Think(); virtual void HandleThink(); - void CBaseSpriteProjectile::Spawn( char *pszModel, + void Spawn( char *pszModel, const Vector &vecOrigin, const Vector &vecVelocity, edict_t *pOwner, diff --git a/game/server/hl2/combine_mine.cpp b/game/server/hl2/combine_mine.cpp index 5ab221f9..1ad74b0a 100644 --- a/game/server/hl2/combine_mine.cpp +++ b/game/server/hl2/combine_mine.cpp @@ -39,7 +39,7 @@ enum #define MINE_CITIZEN_SKIN_MIN 1 #define MINE_CITIZEN_SKIN_MAX 2 -char *pszMineStateNames[] = +const char *pszMineStateNames[] = { "Dormant", "Deploy", @@ -1229,7 +1229,7 @@ void CBounceBomb::OnPhysGunPickup( CBasePlayer *pPhysGunUser, PhysGunPickup_t re // Try to scatter NPCs without panicking them. Make a move away sound up around their // ear level. - CSoundEnt::InsertSound( SOUND_MOVE_AWAY, GetAbsOrigin() + Vector( 0, 0, 60), 32.0f, 0.2f ); + CSoundEnt::InsertSound( SOUND_MOVE_AWAY, GetAbsOrigin() + Vector( 0, 0, 60), 32, 0.2f ); return; } else diff --git a/game/server/hl2/combine_mine.h b/game/server/hl2/combine_mine.h index 8147197e..39bcb6fe 100644 --- a/game/server/hl2/combine_mine.h +++ b/game/server/hl2/combine_mine.h @@ -21,8 +21,8 @@ class CSoundPatch; #define BOUNCEBOMB_WARN_RADIUS 245.0 // Must be slightly less than physcannon! #define BOUNCEBOMB_DETONATE_RADIUS 100.0 -#define BOUNCEBOMB_EXPLODE_RADIUS 125.0 -#define BOUNCEBOMB_EXPLODE_DAMAGE 150.0 +#define BOUNCEBOMB_EXPLODE_RADIUS 125 +#define BOUNCEBOMB_EXPLODE_DAMAGE 150 #include "player_pickup.h" class CBounceBomb : public CBaseAnimating, public CDefaultPlayerPickupVPhysics diff --git a/game/server/hl2/energy_wave.h b/game/server/hl2/energy_wave.h index b1af1196..a61de667 100644 --- a/game/server/hl2/energy_wave.h +++ b/game/server/hl2/energy_wave.h @@ -34,4 +34,4 @@ public: }; -#endif //ENERGYWAVE_H \ No newline at end of file +#endif //ENERGYWAVE_H diff --git a/game/server/hl2/env_headcrabcanister.cpp b/game/server/hl2/env_headcrabcanister.cpp index 238325ec..55165396 100644 --- a/game/server/hl2/env_headcrabcanister.cpp +++ b/game/server/hl2/env_headcrabcanister.cpp @@ -937,7 +937,7 @@ void CEnvHeadcrabCanister::Detonate( ) if ( !HasSpawnFlags( SF_NO_IMPACT_EFFECTS ) ) { // Normal explosion - ExplosionCreate( m_vecImpactPosition, GetAbsAngles(), this, 50.0f, 500.0f, + ExplosionCreate( m_vecImpactPosition, GetAbsAngles(), this, 50, 500, SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODAMAGE | SF_ENVEXPLOSION_NOSOUND, 1300.0f ); // Dust explosion diff --git a/game/server/hl2/env_starfield.cpp b/game/server/hl2/env_starfield.cpp index 8c287efd..77273a51 100644 --- a/game/server/hl2/env_starfield.cpp +++ b/game/server/hl2/env_starfield.cpp @@ -104,4 +104,4 @@ void CEnvStarfield::InputTurnOff( inputdata_t &inputdata ) void CEnvStarfield::InputSetDensity( inputdata_t &inputdata ) { m_flDensity = inputdata.value.Float(); -} \ No newline at end of file +} diff --git a/game/server/hl2/extinguisherjet.cpp b/game/server/hl2/extinguisherjet.cpp index 65bc1f08..4661e699 100644 --- a/game/server/hl2/extinguisherjet.cpp +++ b/game/server/hl2/extinguisherjet.cpp @@ -101,7 +101,7 @@ void CExtinguisherJet::TurnOn( void ) m_bEnabled = m_bEmit = true; } - SetThink( ExtinguishThink ); + SetThink( &CExtinguisherJet::ExtinguishThink ); SetNextThink( gpGlobals->curtime + 0.1f ); } diff --git a/game/server/hl2/func_recharge.cpp b/game/server/hl2/func_recharge.cpp index c849e95f..1a7d6b16 100644 --- a/game/server/hl2/func_recharge.cpp +++ b/game/server/hl2/func_recharge.cpp @@ -123,7 +123,7 @@ void CRecharge::Spawn() SetModel( STRING( GetModelName() ) ); - UpdateJuice( MaxJuice() ); + UpdateJuice( (int)MaxJuice() ); m_nState = 0; @@ -303,7 +303,7 @@ void CRecharge::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE use void CRecharge::Recharge(void) { - UpdateJuice( MaxJuice() ); + UpdateJuice( (int)MaxJuice() ); m_nState = 0; SetThink( &CRecharge::SUB_DoNothing ); } @@ -318,7 +318,7 @@ void CRecharge::Off(void) m_iOn = 0; - if ((!m_iJuice) && ( ( m_iReactivate = g_pGameRules->FlHEVChargerRechargeTime() ) > 0) ) + if ((!m_iJuice) && ( ( m_iReactivate = (int)g_pGameRules->FlHEVChargerRechargeTime() ) > 0) ) { SetNextThink( gpGlobals->curtime + m_iReactivate ); SetThink(&CRecharge::Recharge); @@ -449,17 +449,17 @@ void CNewRecharge::SetInitialCharge( void ) if ( HasSpawnFlags( SF_KLEINER_RECHARGER ) ) { // The charger in Kleiner's lab. - m_iMaxJuice = 25.0f; + m_iMaxJuice = 25; return; } if ( HasSpawnFlags( SF_CITADEL_RECHARGER ) ) { - m_iMaxJuice = sk_suitcharger_citadel.GetFloat(); + m_iMaxJuice = sk_suitcharger_citadel.GetInt(); return; } - m_iMaxJuice = sk_suitcharger.GetFloat(); + m_iMaxJuice = sk_suitcharger.GetInt(); } void CNewRecharge::Spawn() @@ -477,7 +477,7 @@ void CNewRecharge::Spawn() SetInitialCharge(); - UpdateJuice( MaxJuice() ); + UpdateJuice( (int)MaxJuice() ); m_nState = 0; m_iCaps = FCAP_CONTINUOUS_USE; @@ -728,7 +728,7 @@ void CNewRecharge::Recharge(void) EmitSound( "SuitRecharge.Start" ); ResetSequence( LookupSequence( "idle" ) ); - UpdateJuice( MaxJuice() ); + UpdateJuice( (int)MaxJuice() ); m_nState = 0; m_flJuice = m_iJuice; @@ -760,11 +760,11 @@ void CNewRecharge::Off(void) { if ( HasSpawnFlags( SF_CITADEL_RECHARGER ) ) { - m_iReactivate = g_pGameRules->FlHEVChargerRechargeTime() * 2; + m_iReactivate = (int)(g_pGameRules->FlHEVChargerRechargeTime() * 2); } else { - m_iReactivate = g_pGameRules->FlHEVChargerRechargeTime(); + m_iReactivate = (int)g_pGameRules->FlHEVChargerRechargeTime(); } SetNextThink( gpGlobals->curtime + m_iReactivate ); SetThink(&CNewRecharge::Recharge); diff --git a/game/server/hl2/func_tank.cpp b/game/server/hl2/func_tank.cpp index 1e324a99..a499e82d 100644 --- a/game/server/hl2/func_tank.cpp +++ b/game/server/hl2/func_tank.cpp @@ -827,7 +827,7 @@ void CFuncTank::Spawn( void ) m_sightOrigin = WorldBarrelPosition(); // Point at the end of the barrel - if ( m_spread > MAX_FIRING_SPREADS ) + if ( m_spread > (int)MAX_FIRING_SPREADS ) { m_spread = 0; } @@ -1146,7 +1146,7 @@ void CFuncTank::ControllerPostFrame( void ) AngleVectors( GetAbsAngles(), &forward ); m_fireLast = gpGlobals->curtime - (1/m_fireRate) - 0.01; // to make sure the gun doesn't fire too many bullets - int bulletCount = (gpGlobals->curtime - m_fireLast) * m_fireRate; + int bulletCount = (int)((gpGlobals->curtime - m_fireLast) * m_fireRate); if( HasSpawnFlags( SF_TANK_AIM_ASSISTANCE ) ) { @@ -1420,7 +1420,7 @@ float CFuncTank::GetRandomFireTime( void ) //----------------------------------------------------------------------------- int CFuncTank::GetRandomBurst( void ) { - return random->RandomInt( m_fireRate-2, m_fireRate+2 ); + return random->RandomInt( (int)m_fireRate-2, (int)m_fireRate+2 ); } //----------------------------------------------------------------------------- @@ -2117,7 +2117,7 @@ void CFuncTank::FiringSequence( const Vector &barrelEnd, const Vector &forward, { if ( m_fireLast != 0 ) { - int bulletCount = (gpGlobals->curtime - m_fireLast) * m_fireRate; + int bulletCount = (int)((gpGlobals->curtime - m_fireLast) * m_fireRate); if ( bulletCount > 0 ) { @@ -2237,7 +2237,7 @@ void CFuncTank::Fire( int bulletCount, const Vector &barrelEnd, const Vector &fo } else { - CSoundEnt::InsertSound( SOUND_MOVE_AWAY, barrelEnd + forward * 32.0f, 32.0f, 0.2f, pAttacker, SOUNDENT_CHANNEL_WEAPON ); + CSoundEnt::InsertSound( SOUND_MOVE_AWAY, barrelEnd + forward * 32.0f, 32, 0.2f, pAttacker, SOUNDENT_CHANNEL_WEAPON ); } } @@ -3530,7 +3530,7 @@ void CMortarShell::FlyThink() if ( gpGlobals->curtime > m_flNPCWarnTime ) { // Warn the AI. Make this radius a little larger than the explosion will be, and make the sound last a little longer. - CSoundEnt::InsertSound ( SOUND_DANGER | SOUND_CONTEXT_MORTAR, GetAbsOrigin(), MORTAR_BLAST_RADIUS * 1.25, (m_flImpactTime - m_flNPCWarnTime) + 0.15 ); + CSoundEnt::InsertSound ( SOUND_DANGER | SOUND_CONTEXT_MORTAR, GetAbsOrigin(), (int)(MORTAR_BLAST_RADIUS * 1.25), (m_flImpactTime - m_flNPCWarnTime) + 0.15 ); m_flNPCWarnTime = FLT_MAX; } @@ -3544,11 +3544,11 @@ void CMortarShell::FlyThink() // Beam updates START - m_pBeamEffect[0]->SetBrightness( 255 * curve1 ); + m_pBeamEffect[0]->SetBrightness( (int)(255 * curve1) ); m_pBeamEffect[0]->SetWidth( 64.0f * curve1 ); m_pBeamEffect[0]->SetEndWidth( 64.0f * curve1 ); - m_pBeamEffect[1]->SetBrightness( 255 * curve1 ); + m_pBeamEffect[1]->SetBrightness( (int)(255 * curve1) ); m_pBeamEffect[1]->SetWidth( 8.0f * curve1 ); m_pBeamEffect[1]->SetEndWidth( 8.0f * curve1 ); @@ -3556,14 +3556,14 @@ void CMortarShell::FlyThink() if ( m_pBeamEffect[2] ) { - m_pBeamEffect[2]->SetBrightness( 255 * curve2 ); + m_pBeamEffect[2]->SetBrightness( (int)(255 * curve2) ); m_pBeamEffect[2]->SetWidth( 32.0f * curve2 ); m_pBeamEffect[2]->SetEndWidth( 32.0f * curve2 ); } if ( m_pBeamEffect[3] ) { - m_pBeamEffect[3]->SetBrightness( 255 * curve2 ); + m_pBeamEffect[3]->SetBrightness( (int)(255 * curve2) ); m_pBeamEffect[3]->SetWidth( 8.0f * curve2 ); m_pBeamEffect[3]->SetEndWidth( 8.0f * curve2 ); } @@ -3700,11 +3700,11 @@ void CMortarShell::FadeThink( void ) // Beam updates START - m_pBeamEffect[0]->SetBrightness( 255 * curve1 ); + m_pBeamEffect[0]->SetBrightness( (int)(255 * curve1) ); m_pBeamEffect[0]->SetWidth( 64.0f * curve1 ); m_pBeamEffect[0]->SetEndWidth( 64.0f * curve1 ); - m_pBeamEffect[1]->SetBrightness( 255 * curve1 ); + m_pBeamEffect[1]->SetBrightness( (int)(255 * curve1) ); m_pBeamEffect[1]->SetWidth( 8.0f * curve1 ); m_pBeamEffect[1]->SetEndWidth( 8.0f * curve1 ); @@ -3712,14 +3712,14 @@ void CMortarShell::FadeThink( void ) if ( m_pBeamEffect[2] ) { - m_pBeamEffect[2]->SetBrightness( 255 * curve2 ); + m_pBeamEffect[2]->SetBrightness( (int)(255 * curve2) ); m_pBeamEffect[2]->SetWidth( 32.0f * curve2 ); m_pBeamEffect[2]->SetEndWidth( 32.0f * curve2 ); } if ( m_pBeamEffect[3] ) { - m_pBeamEffect[3]->SetBrightness( 255 * curve2 ); + m_pBeamEffect[3]->SetBrightness( (int)(255 * curve2) ); m_pBeamEffect[3]->SetWidth( 8.0f * curve2 ); m_pBeamEffect[3]->SetEndWidth( 8.0f * curve2 ); } @@ -4344,7 +4344,7 @@ void CFuncTankCombineCannon::Fire( int bulletCount, const Vector &barrelEnd, con DestroyBeam(); m_flTimeBeamOn = gpGlobals->curtime + 0.2f; - m_flTimeNextSweep = gpGlobals->curtime + random->RandomInt( 1.0f, 2.0f ); + m_flTimeNextSweep = gpGlobals->curtime + random->RandomInt( 1, 2 ); } //--------------------------------------------------------- diff --git a/game/server/hl2/func_tank.h b/game/server/hl2/func_tank.h index 1e95dd1a..3a7e63b5 100644 --- a/game/server/hl2/func_tank.h +++ b/game/server/hl2/func_tank.h @@ -350,4 +350,4 @@ private: int m_iEffectHandling; }; -#endif // FUNC_TANK_H \ No newline at end of file +#endif // FUNC_TANK_H diff --git a/game/server/hl2/grenade_ar2.cpp b/game/server/hl2/grenade_ar2.cpp index 43381e98..7aca1f08 100644 --- a/game/server/hl2/grenade_ar2.cpp +++ b/game/server/hl2/grenade_ar2.cpp @@ -156,7 +156,7 @@ void CGrenadeAR2::GrenadeAR2Think( void ) m_fDangerRadius += ( AR2_GRENADE_MAX_DANGER_RADIUS * 0.05 ); } - CSoundEnt::InsertSound( SOUND_DANGER, GetAbsOrigin() + GetAbsVelocity() * 0.5, m_fDangerRadius, 0.2, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); + CSoundEnt::InsertSound( SOUND_DANGER, GetAbsOrigin() + GetAbsVelocity() * 0.5, (int)m_fDangerRadius, 0.2, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); } void CGrenadeAR2::Event_Killed( const CTakeDamageInfo &info ) diff --git a/game/server/hl2/grenade_brickbat.cpp b/game/server/hl2/grenade_brickbat.cpp index 63923d6e..e6f42464 100644 --- a/game/server/hl2/grenade_brickbat.cpp +++ b/game/server/hl2/grenade_brickbat.cpp @@ -9,7 +9,6 @@ #include "ammodef.h" #include "gamerules.h" #include "grenade_brickbat.h" -#include "weapon_brickbat.h" #include "soundent.h" #include "decals.h" #include "IEffects.h" @@ -26,8 +25,8 @@ BEGIN_DATADESC( CGrenade_Brickbat ) DEFINE_FIELD( m_bBounceToFlat, FIELD_BOOLEAN ), // Function Pointers - DEFINE_FUNCTION( BrickbatTouch ), - DEFINE_FUNCTION( BrickbatThink ), + DEFINE_ENTITYFUNC( BrickbatTouch ), + DEFINE_THINKFUNC( BrickbatThink ), END_DATADESC() @@ -37,8 +36,8 @@ void CGrenade_Brickbat::Spawn( void ) { RemoveEffects( EF_NOINTERP ); SetCollisionGroup( COLLISION_GROUP_PROJECTILE ); - SetTouch( BrickbatTouch ); - SetThink( BrickbatThink ); + SetTouch( &CGrenade_Brickbat::BrickbatTouch ); + SetThink( &CGrenade_Brickbat::BrickbatThink ); SetNextThink( gpGlobals->curtime + 0.1f ); m_takedamage = DAMAGE_YES; diff --git a/game/server/hl2/grenade_brickbat.h b/game/server/hl2/grenade_brickbat.h index a89226d6..fb5db94e 100644 --- a/game/server/hl2/grenade_brickbat.h +++ b/game/server/hl2/grenade_brickbat.h @@ -15,8 +15,7 @@ #define GRENADEBRICKBAT_H #include "basegrenade_shared.h" - -enum BrickbatAmmo_t; +#include "weapon_brickbat.h" class CGrenade_Brickbat : public CBaseGrenade { diff --git a/game/server/hl2/grenade_bugbait.cpp b/game/server/hl2/grenade_bugbait.cpp index 47bc7655..ab6ec04f 100644 --- a/game/server/hl2/grenade_bugbait.cpp +++ b/game/server/hl2/grenade_bugbait.cpp @@ -165,7 +165,7 @@ void CGrenadeBugBait::BugBaitTouch( CBaseEntity *pOther ) pSporeExplosion->SetLocalOrigin( GetAbsOrigin() ); pSporeExplosion->m_flSpawnRate = 8.0f; pSporeExplosion->m_flParticleLifetime = 2.0f; - pSporeExplosion->SetRenderColor( 0.0f, 0.5f, 0.25f, 0.15f ); + pSporeExplosion->SetRenderColor( 0, (int)0.5f, (int)0.25f, (int)0.15f ); pSporeExplosion->m_flStartSize = 32.0f; pSporeExplosion->m_flEndSize = 64.0f; diff --git a/game/server/hl2/grenade_energy.cpp b/game/server/hl2/grenade_energy.cpp index 54cb0fee..a9f439af 100644 --- a/game/server/hl2/grenade_energy.cpp +++ b/game/server/hl2/grenade_energy.cpp @@ -26,8 +26,8 @@ BEGIN_DATADESC( CGrenadeEnergy ) DEFINE_FIELD( m_flLaunchTime, FIELD_TIME ), // Function pointers - DEFINE_FUNCTION( Animate ), - DEFINE_FUNCTION( GrenadeEnergyTouch ), + DEFINE_THINKFUNC( Animate ), + DEFINE_ENTITYFUNC( GrenadeEnergyTouch ), END_DATADESC() @@ -41,8 +41,8 @@ void CGrenadeEnergy::Spawn( void ) SetModel( "Models/weapons/w_energy_grenade.mdl" ); - SetUse( DetonateUse ); - SetTouch( GrenadeEnergyTouch ); + SetUse( &CBaseGrenade::DetonateUse ); + SetTouch( &CGrenadeEnergy::GrenadeEnergyTouch ); SetNextThink( gpGlobals->curtime + 0.1f ); m_flDamage = sk_dmg_energy_grenade.GetFloat(); @@ -50,14 +50,15 @@ void CGrenadeEnergy::Spawn( void ) m_takedamage = DAMAGE_YES; m_iHealth = 1; - m_flCycle = 0; + SetCycle(0); + m_flLaunchTime = gpGlobals->curtime; SetCollisionGroup( HL2COLLISION_GROUP_HOUNDEYE ); UTIL_SetSize( this, vec3_origin, vec3_origin ); - m_flMaxFrame = (float) modelinfo->GetModelFrameCount( GetModel() ) - 1; + m_flMaxFrame = modelinfo->GetModelFrameCount( GetModel() ) - 1; } @@ -75,7 +76,7 @@ void CGrenadeEnergy::Shoot( CBaseEntity* pOwner, const Vector &vStart, Vector vV pEnergy->SetAbsVelocity( vVelocity ); pEnergy->SetOwnerEntity( pOwner ); - pEnergy->SetThink ( Animate ); + pEnergy->SetThink ( &CGrenadeEnergy::Animate ); pEnergy->SetNextThink( gpGlobals->curtime + 0.1f ); pEnergy->m_nRenderMode = kRenderTransAdd; @@ -109,7 +110,7 @@ void CGrenadeEnergy::Animate( void ) StudioFrameAdvance( ); - SetRenderColorA( flLifeLeft ); + SetRenderColorA( (byte)flLifeLeft ); } void CGrenadeEnergy::Event_Killed( const CTakeDamageInfo &info ) diff --git a/game/server/hl2/grenade_frag.cpp b/game/server/hl2/grenade_frag.cpp index 228c7d76..4df94a80 100644 --- a/game/server/hl2/grenade_frag.cpp +++ b/game/server/hl2/grenade_frag.cpp @@ -450,4 +450,4 @@ bool Fraggrenade_WasCreatedByCombine( const CBaseEntity *pEntity ) } return false; -} \ No newline at end of file +} diff --git a/game/server/hl2/grenade_homer.cpp b/game/server/hl2/grenade_homer.cpp index ee009ac1..2b6b2f58 100644 --- a/game/server/hl2/grenade_homer.cpp +++ b/game/server/hl2/grenade_homer.cpp @@ -145,7 +145,7 @@ void CGrenadeHomer::SetSpin(float flSpinMagnitude, float flSpinSpeed) { m_flSpinMagnitude = flSpinMagnitude; m_flSpinSpeed = flSpinSpeed; - m_flSpinOffset = random->RandomInt(-m_flSpinSpeed,m_flSpinSpeed); + m_flSpinOffset = random->RandomInt((int)-m_flSpinSpeed, (int)m_flSpinSpeed); } //------------------------------------------------------------------------------ diff --git a/game/server/hl2/grenade_molotov.cpp b/game/server/hl2/grenade_molotov.cpp index 23af0680..1ff868fb 100644 --- a/game/server/hl2/grenade_molotov.cpp +++ b/game/server/hl2/grenade_molotov.cpp @@ -37,8 +37,8 @@ BEGIN_DATADESC( CGrenade_Molotov ) DEFINE_FIELD( m_pFireTrail, FIELD_CLASSPTR ), // Function Pointers - DEFINE_FUNCTION( MolotovTouch ), - DEFINE_FUNCTION( MolotovThink ), + DEFINE_ENTITYFUNC( MolotovTouch ), + DEFINE_THINKFUNC( MolotovThink ), END_DATADESC() @@ -55,8 +55,8 @@ void CGrenade_Molotov::Spawn( void ) UTIL_SetSize(this, Vector( -6, -6, -2), Vector(6, 6, 2)); - SetTouch( MolotovTouch ); - SetThink( MolotovThink ); + SetTouch( &CGrenade_Molotov::MolotovTouch ); + SetThink( &CGrenade_Molotov::MolotovThink ); SetNextThink( gpGlobals->curtime + 0.1f ); m_flDamage = sk_plr_dmg_molotov.GetFloat(); diff --git a/game/server/hl2/grenade_satchel.cpp b/game/server/hl2/grenade_satchel.cpp index 65a11355..eb9f585d 100644 --- a/game/server/hl2/grenade_satchel.cpp +++ b/game/server/hl2/grenade_satchel.cpp @@ -31,9 +31,9 @@ BEGIN_DATADESC( CSatchelCharge ) DEFINE_FIELD( m_bIsAttached, FIELD_BOOLEAN ), // Function Pointers - DEFINE_FUNCTION( SatchelTouch ), - DEFINE_FUNCTION( SatchelThink ), - DEFINE_FUNCTION( SatchelUse ), + DEFINE_ENTITYFUNC( SatchelTouch ), + DEFINE_THINKFUNC( SatchelThink ), + DEFINE_USEFUNC( SatchelUse ), END_DATADESC() @@ -61,9 +61,9 @@ void CSatchelCharge::Spawn( void ) UTIL_SetSize(this, Vector( -6, -6, -2), Vector(6, 6, 2)); - SetTouch( SatchelTouch ); - SetUse( SatchelUse ); - SetThink( SatchelThink ); + SetTouch( &CSatchelCharge::SatchelTouch ); + SetUse( &CSatchelCharge::SatchelUse ); + SetThink( &CSatchelCharge::SatchelThink ); SetNextThink( gpGlobals->curtime + 0.1f ); m_flDamage = sk_plr_dmg_satchel.GetFloat(); @@ -114,7 +114,7 @@ void CSatchelCharge::KillSlideSound(void) void CSatchelCharge::SatchelUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) { KillSlideSound(); - SetThink( Detonate ); + SetThink( &CBaseGrenade::Detonate ); SetNextThink( gpGlobals->curtime ); } diff --git a/game/server/hl2/grenade_spit.cpp b/game/server/hl2/grenade_spit.cpp index 13b6984a..20bd513d 100644 --- a/game/server/hl2/grenade_spit.cpp +++ b/game/server/hl2/grenade_spit.cpp @@ -39,7 +39,7 @@ BEGIN_DATADESC( CGrenadeSpit ) END_DATADESC() -CGrenadeSpit::CGrenadeSpit( void ) : m_bPlaySound( true ), m_pHissSound( NULL ) +CGrenadeSpit::CGrenadeSpit( void ) : m_pHissSound( NULL ), m_bPlaySound( true ) { } @@ -178,7 +178,7 @@ void CGrenadeSpit::GrenadeSpitTouch( CBaseEntity *pOther ) pTraceEnt->TakeDamage( CTakeDamageInfo( this, GetThrower(), m_flDamage * poisonratio, DMG_POISON ) ); } - CSoundEnt::InsertSound( SOUND_DANGER, GetAbsOrigin(), m_DmgRadius * 2.0f, 0.5f, GetThrower() ); + CSoundEnt::InsertSound( SOUND_DANGER, GetAbsOrigin(), (int)(m_DmgRadius * 2.0f), 0.5f, GetThrower() ); QAngle vecAngles; VectorAngles( tracePlaneNormal, vecAngles ); @@ -249,7 +249,7 @@ void CGrenadeSpit::Think( void ) float velTransmitter = -DotProduct( GetAbsVelocity(), dir ); // speed of sound == 13049in/s - int iPitch = 100 * ((1 - velReceiver / 13049) / (1 + velTransmitter / 13049)); + int iPitch = (int)(100 * ((1 - velReceiver / 13049) / (1 + velTransmitter / 13049))); // clamp pitch shifts if ( iPitch > 250 ) diff --git a/game/server/hl2/grenade_tripmine.cpp b/game/server/hl2/grenade_tripmine.cpp index 20936656..8208fab3 100644 --- a/game/server/hl2/grenade_tripmine.cpp +++ b/game/server/hl2/grenade_tripmine.cpp @@ -35,10 +35,10 @@ BEGIN_DATADESC( CTripmineGrenade ) DEFINE_FIELD( m_angleOwner, FIELD_VECTOR ), // Function Pointers - DEFINE_FUNCTION( WarningThink ), - DEFINE_FUNCTION( PowerupThink ), - DEFINE_FUNCTION( BeamBreakThink ), - DEFINE_FUNCTION( DelayDeathThink ), + DEFINE_THINKFUNC( WarningThink ), + DEFINE_THINKFUNC( PowerupThink ), + DEFINE_THINKFUNC( BeamBreakThink ), + DEFINE_THINKFUNC( DelayDeathThink ), END_DATADESC() @@ -58,9 +58,8 @@ void CTripmineGrenade::Spawn( void ) SetSolid( SOLID_BBOX ); AddSolidFlags( FSOLID_NOT_SOLID ); SetModel( "models/Weapons/w_slam.mdl" ); + SetCycle(0); - - m_flCycle = 0; m_nBody = 3; m_flDamage = sk_plr_dmg_tripmine.GetFloat(); m_DmgRadius = sk_tripmine_radius.GetFloat(); @@ -72,7 +71,7 @@ void CTripmineGrenade::Spawn( void ) m_flPowerUp = gpGlobals->curtime + 2.0; - SetThink( PowerupThink ); + SetThink( &CTripmineGrenade::PowerupThink ); SetNextThink( gpGlobals->curtime + 0.2 ); m_takedamage = DAMAGE_YES; @@ -106,7 +105,7 @@ void CTripmineGrenade::Precache( void ) void CTripmineGrenade::WarningThink( void ) { // set to power up - SetThink( PowerupThink ); + SetThink( &CTripmineGrenade::PowerupThink ); SetNextThink( gpGlobals->curtime + 1.0f ); } @@ -163,7 +162,7 @@ void CTripmineGrenade::MakeBeam( void ) } // set to follow laser spot - SetThink( BeamBreakThink ); + SetThink( &CTripmineGrenade::BeamBreakThink ); // Delay first think slightly so beam has time // to appear if person right in front of it @@ -174,7 +173,7 @@ void CTripmineGrenade::MakeBeam( void ) m_pBeam = CBeam::BeamCreate( g_pModelNameLaser, 1.0 ); m_pBeam->PointEntInit( vecTmpEnd, this ); m_pBeam->SetColor( 0, 214, 198 ); - m_pBeam->SetScrollRate( 25.6 ); + m_pBeam->SetScrollRate( (int)25.6 ); m_pBeam->SetBrightness( 64 ); } @@ -230,7 +229,7 @@ int CTripmineGrenade::OnTakeDamage_Alive( const CTakeDamageInfo &info ) { // disable // Create( "weapon_tripmine", GetLocalOrigin() + m_vecDir * 24, GetAngles() ); - SetThink( SUB_Remove ); + SetThink( &CBaseEntity::SUB_Remove ); SetNextThink( gpGlobals->curtime + 0.1f ); KillBeam(); return FALSE; @@ -247,7 +246,7 @@ void CTripmineGrenade::Event_Killed( const CTakeDamageInfo &info ) { m_takedamage = DAMAGE_NO; - SetThink( DelayDeathThink ); + SetThink( &CTripmineGrenade::DelayDeathThink ); SetNextThink( gpGlobals->curtime + 0.5 ); EmitSound( "TripmineGrenade.StopSound" ); diff --git a/game/server/hl2/grenade_tripwire.cpp b/game/server/hl2/grenade_tripwire.cpp index ff6ffcce..bc002d8d 100644 --- a/game/server/hl2/grenade_tripwire.cpp +++ b/game/server/hl2/grenade_tripwire.cpp @@ -41,10 +41,10 @@ BEGIN_DATADESC( CTripwireGrenade ) DEFINE_FIELD( m_pHook, FIELD_CLASSPTR ), // Function Pointers - DEFINE_FUNCTION( WarningThink ), - DEFINE_FUNCTION( PowerupThink ), - DEFINE_FUNCTION( RopeBreakThink ), - DEFINE_FUNCTION( FireThink ), + DEFINE_THINKFUNC( WarningThink ), + DEFINE_THINKFUNC( PowerupThink ), + DEFINE_THINKFUNC( RopeBreakThink ), + DEFINE_THINKFUNC( FireThink ), END_DATADESC() @@ -69,7 +69,7 @@ void CTripwireGrenade::Spawn( void ) m_flPowerUp = gpGlobals->curtime + 1.2;//<>get rid of this - SetThink( WarningThink ); + SetThink( &CTripwireGrenade::WarningThink ); SetNextThink( gpGlobals->curtime + 1.0f ); m_takedamage = DAMAGE_YES; @@ -101,7 +101,7 @@ void CTripwireGrenade::WarningThink( void ) EmitSound( "TripwireGrenade.Activate" ); // set to power up - SetThink( PowerupThink ); + SetThink( &CTripwireGrenade::PowerupThink ); SetNextThink( gpGlobals->curtime + 1.0f ); } @@ -137,7 +137,7 @@ void CTripwireGrenade::BreakRope( void ) void CTripwireGrenade::MakeRope( void ) { - SetThink( RopeBreakThink ); + SetThink( &CTripwireGrenade::RopeBreakThink ); // Delay first think slightly so rope has time // to appear if person right in front of it @@ -196,7 +196,7 @@ void CTripwireGrenade::RopeBreakThink( void ) m_vTargetPos = m_pHook->GetAbsOrigin(); CrossProduct ( m_vecDir, Vector(0,0,1), m_vTargetOffset ); m_vTargetOffset *=TGRENADE_MISSILE_OFFSET; - SetThink(FireThink); + SetThink(&CTripwireGrenade::FireThink); FireThink(); } @@ -215,7 +215,7 @@ void CTripwireGrenade::RopeBreakThink( void ) m_vTargetPos = tr.endpos; CrossProduct ( m_vecDir, Vector(0,0,1), m_vTargetOffset ); m_vTargetOffset *=TGRENADE_MISSILE_OFFSET; - SetThink(FireThink); + SetThink(&CTripwireGrenade::FireThink); FireThink(); return; } @@ -394,4 +394,4 @@ void CTripwireHook::SetVelocity( const Vector &velocity, const AngularImpulse &a { pPhysicsObject->AddVelocity( &velocity, &angVelocity ); } -} \ No newline at end of file +} diff --git a/game/server/hl2/hl2_client.cpp b/game/server/hl2/hl2_client.cpp index bb0f7d20..61b23276 100644 --- a/game/server/hl2/hl2_client.cpp +++ b/game/server/hl2/hl2_client.cpp @@ -18,7 +18,7 @@ #include "hl2_gamerules.h" #include "gamerules.h" #include "teamplay_gamerules.h" -#include "EntityList.h" +#include "entitylist.h" #include "physics.h" #include "game.h" #include "player_resource.h" diff --git a/game/server/hl2/hl2_gamestats.h b/game/server/hl2/hl2_gamestats.h index 1d7cc60f..46802283 100644 --- a/game/server/hl2/hl2_gamestats.h +++ b/game/server/hl2/hl2_gamestats.h @@ -10,7 +10,7 @@ #pragma once #endif -#include "gamestats.h" +#include "GameStats.h" class CHL2GameStats : public CBaseGameStats { diff --git a/game/server/hl2/hl2_player.cpp b/game/server/hl2/hl2_player.cpp index 9a93304c..ed8e3c22 100644 --- a/game/server/hl2/hl2_player.cpp +++ b/game/server/hl2/hl2_player.cpp @@ -43,7 +43,7 @@ #include "prop_combine_ball.h" #include "datacache/imdlcache.h" #include "eventqueue.h" -#include "gamestats.h" +#include "GameStats.h" #include "filters.h" #include "tier0/icommandline.h" @@ -807,7 +807,7 @@ void CHL2_Player::PreThink(void) if (vel) { - m_iTrain = TrainSpeed(pTrain->m_flSpeed, ((CFuncTrackTrain*)pTrain)->GetMaxSpeed()); + m_iTrain = TrainSpeed((int)pTrain->m_flSpeed, (int)((CFuncTrackTrain*)pTrain)->GetMaxSpeed()); m_iTrain |= TRAIN_ACTIVE|TRAIN_NEW; } } @@ -1315,7 +1315,7 @@ void CHL2_Player::StartZooming( void ) //----------------------------------------------------------------------------- void CHL2_Player::StopZooming( void ) { - int iFOV = GetZoomOwnerDesiredFOV( m_hZoomOwner ); + int iFOV = (int)GetZoomOwnerDesiredFOV( m_hZoomOwner ); if ( SetFOV( this, iFOV, 0.2f ) ) { @@ -1975,7 +1975,7 @@ bool CHL2_Player::ApplyBattery( float powerMultiplier ) int pct; char szcharge[64]; - IncrementArmorValue( sk_battery.GetFloat() * powerMultiplier, MAX_NORMAL_BATTERY ); + IncrementArmorValue( (int)(sk_battery.GetFloat() * powerMultiplier), (int)MAX_NORMAL_BATTERY ); CPASAttenuationFilter filter( this, "ItemBattery.Touch" ); EmitSound( filter, entindex(), "ItemBattery.Touch" ); @@ -2804,7 +2804,7 @@ void CHL2_Player::PlayerUse ( void ) if ( pTrain && !(m_nButtons & IN_JUMP) && (GetFlags() & FL_ONGROUND) && (pTrain->ObjectCaps() & FCAP_DIRECTIONAL_USE) && pTrain->OnControls(this) ) { m_afPhysicsFlags |= PFLAG_DIROVERRIDE; - m_iTrain = TrainSpeed(pTrain->m_flSpeed, ((CFuncTrackTrain*)pTrain)->GetMaxSpeed()); + m_iTrain = TrainSpeed((int)pTrain->m_flSpeed, (int)((CFuncTrackTrain*)pTrain)->GetMaxSpeed()); m_iTrain |= TRAIN_NEW; EmitSound( "HL2Player.TrainUse" ); return; @@ -3222,8 +3222,8 @@ void CHL2_Player::UpdateClientData( void ) CSingleUserRecipientFilter user( this ); user.MakeReliable(); UserMessageBegin( user, "Damage" ); - WRITE_BYTE( m_DmgSave ); - WRITE_BYTE( m_DmgTake ); + WRITE_BYTE( (int)m_DmgSave ); + WRITE_BYTE( (int)m_DmgTake ); WRITE_LONG( visibleDamageBits ); WRITE_FLOAT( damageOrigin.x ); //BUG: Should be fixed point (to hud) not floats WRITE_FLOAT( damageOrigin.y ); //BUG: However, the HUD does _not_ implement bitfield messages (yet) diff --git a/game/server/hl2/hl2_player.h b/game/server/hl2/hl2_player.h index 5aeef175..2e2a8f10 100644 --- a/game/server/hl2/hl2_player.h +++ b/game/server/hl2/hl2_player.h @@ -1,385 +1,385 @@ -//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// -// -// Purpose: Player for HL2. -// -// $NoKeywords: $ -//=============================================================================// - -#ifndef HL2_PLAYER_H -#define HL2_PLAYER_H -#pragma once - - -#include "player.h" -#include "hl2_playerlocaldata.h" -#include "simtimer.h" -#include "soundenvelope.h" - -class CAI_Squad; -class CPropCombineBall; - -extern int TrainSpeed(int iSpeed, int iMax); -extern void CopyToBodyQue( CBaseAnimating *pCorpse ); - -#define ARMOR_DECAY_TIME 3.5f - -enum HL2PlayerPhysFlag_e -{ - // 1 -- 5 are used by enum PlayerPhysFlag_e in player.h - - PFLAG_ONBARNACLE = ( 1<<6 ) // player is hangning from the barnalce -}; - -class IPhysicsPlayerController; -class CLogicPlayerProxy; - -struct commandgoal_t -{ - Vector m_vecGoalLocation; - CBaseEntity *m_pGoalEntity; -}; - -// Time between checks to determine whether NPCs are illuminated by the flashlight -#define FLASHLIGHT_NPC_CHECK_INTERVAL 0.4 - -//---------------------------------------------------- -// Definitions for weapon slots -//---------------------------------------------------- -#define WEAPON_MELEE_SLOT 0 -#define WEAPON_SECONDARY_SLOT 1 -#define WEAPON_PRIMARY_SLOT 2 -#define WEAPON_EXPLOSIVE_SLOT 3 -#define WEAPON_TOOL_SLOT 4 - -//============================================================================= -//============================================================================= -class CSuitPowerDevice -{ -public: - CSuitPowerDevice( int bitsID, float flDrainRate ) { m_bitsDeviceID = bitsID; m_flDrainRate = flDrainRate; } -private: - int m_bitsDeviceID; // tells what the device is. DEVICE_SPRINT, DEVICE_FLASHLIGHT, etc. BITMASK!!!!! - float m_flDrainRate; // how quickly does this device deplete suit power? ( percent per second ) - -public: - int GetDeviceID( void ) const { return m_bitsDeviceID; } - float GetDeviceDrainRate( void ) const - { - if( g_pGameRules->GetSkillLevel() == SKILL_EASY && hl2_episodic.GetBool() && !(GetDeviceID()&bits_SUIT_DEVICE_SPRINT) ) - return m_flDrainRate * 0.5f; - else - return m_flDrainRate; - } -}; - -//============================================================================= -// >> HL2_PLAYER -//============================================================================= -class CHL2_Player : public CBasePlayer -{ -public: - DECLARE_CLASS( CHL2_Player, CBasePlayer ); - - CHL2_Player(); - ~CHL2_Player( void ); - - static CHL2_Player *CreatePlayer( const char *className, edict_t *ed ) - { - CHL2_Player::s_PlayerEdict = ed; - return (CHL2_Player*)CreateEntityByName( className ); - } - - DECLARE_SERVERCLASS(); - DECLARE_DATADESC(); - - virtual void CreateCorpse( void ) { CopyToBodyQue( this ); }; - - virtual void Precache( void ); - virtual void Spawn(void); - virtual void Activate( void ); - virtual void CheatImpulseCommands( int iImpulse ); - virtual void PlayerRunCommand( CUserCmd *ucmd, IMoveHelper *moveHelper); - virtual void PlayerUse ( void ); - virtual void SuspendUse( float flDuration ) { m_flTimeUseSuspended = gpGlobals->curtime + flDuration; } - virtual void UpdateClientData( void ); - virtual void OnRestore(); - virtual void StopLoopingSounds( void ); - virtual void Splash( void ); - virtual void ModifyOrAppendPlayerCriteria( AI_CriteriaSet& set ); - - void DrawDebugGeometryOverlays(void); - - virtual Vector EyeDirection2D( void ); - virtual Vector EyeDirection3D( void ); - - virtual void CommanderMode(); - - virtual bool ClientCommand( const CCommand &args ); - - // from cbasecombatcharacter - void InitVCollision( const Vector &vecAbsOrigin, const Vector &vecAbsVelocity ); - WeaponProficiency_t CalcWeaponProficiency( CBaseCombatWeapon *pWeapon ); - - Class_T Classify ( void ); - - // from CBasePlayer - virtual void SetupVisibility( CBaseEntity *pViewEntity, unsigned char *pvs, int pvssize ); - - // Suit Power Interface - void SuitPower_Update( void ); - bool SuitPower_Drain( float flPower ); // consume some of the suit's power. - void SuitPower_Charge( float flPower ); // add suit power. - void SuitPower_SetCharge( float flPower ) { m_HL2Local.m_flSuitPower = flPower; } - void SuitPower_Initialize( void ); - bool SuitPower_IsDeviceActive( const CSuitPowerDevice &device ); - bool SuitPower_AddDevice( const CSuitPowerDevice &device ); - bool SuitPower_RemoveDevice( const CSuitPowerDevice &device ); - bool SuitPower_ShouldRecharge( void ); - float SuitPower_GetCurrentPercentage( void ) { return m_HL2Local.m_flSuitPower; } - - void SetFlashlightEnabled( bool bState ); - - // Apply a battery - bool ApplyBattery( float powerMultiplier = 1.0 ); - - // Commander Mode for controller NPCs - enum CommanderCommand_t - { - CC_NONE, - CC_TOGGLE, - CC_FOLLOW, - CC_SEND, - }; - - void CommanderUpdate(); - void CommanderExecute( CommanderCommand_t command = CC_TOGGLE ); - bool CommanderFindGoal( commandgoal_t *pGoal ); - void NotifyFriendsOfDamage( CBaseEntity *pAttackerEntity ); - CAI_BaseNPC *GetSquadCommandRepresentative(); - int GetNumSquadCommandables(); - int GetNumSquadCommandableMedics(); - - // Locator - void UpdateLocatorPosition( const Vector &vecPosition ); - - // Sprint Device - void StartAutoSprint( void ); - void StartSprinting( void ); - void StopSprinting( void ); - void InitSprinting( void ); - bool IsSprinting( void ) { return m_fIsSprinting; } - bool CanSprint( void ); - void EnableSprint( bool bEnable); - - bool CanZoom( CBaseEntity *pRequester ); - void ToggleZoom(void); - void StartZooming( void ); - void StopZooming( void ); - bool IsZooming( void ); - void CheckSuitZoom( void ); - - // Walking - void StartWalking( void ); - void StopWalking( void ); - bool IsWalking( void ) { return m_fIsWalking; } - - // Aiming heuristics accessors - virtual float GetIdleTime( void ) const { return ( m_flIdleTime - m_flMoveTime ); } - virtual float GetMoveTime( void ) const { return ( m_flMoveTime - m_flIdleTime ); } - virtual float GetLastDamageTime( void ) const { return m_flLastDamageTime; } - virtual bool IsDucking( void ) const { return !!( GetFlags() & FL_DUCKING ); } - - virtual bool PassesDamageFilter( const CTakeDamageInfo &info ); - void InputIgnoreFallDamage( inputdata_t &inputdata ); - void InputIgnoreFallDamageWithoutReset( inputdata_t &inputdata ); - void InputEnableFlashlight( inputdata_t &inputdata ); - void InputDisableFlashlight( inputdata_t &inputdata ); - - const impactdamagetable_t &GetPhysicsImpactDamageTable(); - virtual int OnTakeDamage( const CTakeDamageInfo &info ); - virtual int OnTakeDamage_Alive( const CTakeDamageInfo &info ); - virtual void OnDamagedByExplosion( const CTakeDamageInfo &info ); - bool ShouldShootMissTarget( CBaseCombatCharacter *pAttacker ); - - void CombineBallSocketed( CPropCombineBall *pCombineBall ); - - virtual void Event_KilledOther( CBaseEntity *pVictim, const CTakeDamageInfo &info ); - - virtual void GetAutoaimVector( autoaim_params_t ¶ms ); - bool ShouldKeepLockedAutoaimTarget( EHANDLE hLockedTarget ); - - void SetLocatorTargetEntity( CBaseEntity *pEntity ) { m_hLocatorTargetEntity.Set( pEntity ); } - - virtual int GiveAmmo( int nCount, int nAmmoIndex, bool bSuppressSound); - virtual bool BumpWeapon( CBaseCombatWeapon *pWeapon ); - - virtual bool Weapon_CanUse( CBaseCombatWeapon *pWeapon ); - virtual void Weapon_Equip( CBaseCombatWeapon *pWeapon ); - virtual bool Weapon_Lower( void ); - virtual bool Weapon_Ready( void ); - virtual bool Weapon_Switch( CBaseCombatWeapon *pWeapon, int viewmodelindex = 0 ); - virtual bool Weapon_CanSwitchTo( CBaseCombatWeapon *pWeapon ); - - void FirePlayerProxyOutput( const char *pszOutputName, variant_t variant, CBaseEntity *pActivator, CBaseEntity *pCaller ); - - CLogicPlayerProxy *GetPlayerProxy( void ); - - // Flashlight Device - void CheckFlashlight( void ); - int FlashlightIsOn( void ); - void FlashlightTurnOn( void ); - void FlashlightTurnOff( void ); - bool IsIlluminatedByFlashlight( CBaseEntity *pEntity, float *flReturnDot ); - void SetFlashlightPowerDrainScale( float flScale ) { m_flFlashlightPowerDrainScale = flScale; } - - // Underwater breather device - virtual void SetPlayerUnderwater( bool state ); - virtual bool CanBreatheUnderwater() const { return m_HL2Local.m_flSuitPower > 0.0f; } - - // physics interactions - virtual void PickupObject( CBaseEntity *pObject, bool bLimitMassAndSize ); - virtual bool IsHoldingEntity( CBaseEntity *pEnt ); - virtual void ForceDropOfCarriedPhysObjects( CBaseEntity *pOnlyIfHoldindThis ); - virtual float GetHeldObjectMass( IPhysicsObject *pHeldObject ); - virtual CBaseEntity *CHL2_Player::GetHeldObject( void ); - - virtual bool IsFollowingPhysics( void ) { return (m_afPhysicsFlags & PFLAG_ONBARNACLE) > 0; } - void InputForceDropPhysObjects( inputdata_t &data ); - - virtual void Event_Killed( const CTakeDamageInfo &info ); - void NotifyScriptsOfDeath( void ); - - // override the test for getting hit - virtual bool TestHitboxes( const Ray_t &ray, unsigned int fContentsMask, trace_t& tr ); - - LadderMove_t *GetLadderMove() { return &m_HL2Local.m_LadderMove; } - virtual void ExitLadder(); - virtual surfacedata_t *GetLadderSurface( const Vector &origin ); - - virtual void EquipSuit( bool bPlayEffects = true ); - virtual void RemoveSuit( void ); - void HandleAdmireGlovesAnimation( void ); - void StartAdmireGlovesAnimation( void ); - - void HandleSpeedChanges( void ); - - void SetControlClass( Class_T controlClass ) { m_nControlClass = controlClass; } - - void StartWaterDeathSounds( void ); - void StopWaterDeathSounds( void ); - - bool IsWeaponLowered( void ) { return m_HL2Local.m_bWeaponLowered; } - void HandleArmorReduction( void ); - void StartArmorReduction( void ) { m_flArmorReductionTime = gpGlobals->curtime + ARMOR_DECAY_TIME; - m_iArmorReductionFrom = ArmorValue(); - } - - void MissedAR2AltFire(); - - inline void EnableCappedPhysicsDamage(); - inline void DisableCappedPhysicsDamage(); - - // HUD HINTS - void DisplayLadderHudHint(); - - CSoundPatch *m_sndLeeches; - CSoundPatch *m_sndWaterSplashes; - -protected: - virtual void PreThink( void ); - virtual void PostThink( void ); - virtual bool HandleInteraction(int interactionType, void *data, CBaseCombatCharacter* sourceEnt); - - virtual void UpdateWeaponPosture( void ); - - virtual void ItemPostFrame(); - virtual void PlayUseDenySound(); - -private: - bool CommanderExecuteOne( CAI_BaseNPC *pNpc, const commandgoal_t &goal, CAI_BaseNPC **Allies, int numAllies ); - - void OnSquadMemberKilled( inputdata_t &data ); - - Class_T m_nControlClass; // Class when player is controlling another entity - // This player's HL2 specific data that should only be replicated to - // the player and not to other players. - CNetworkVarEmbedded( CHL2PlayerLocalData, m_HL2Local ); - - float m_flTimeAllSuitDevicesOff; - - bool m_bSprintEnabled; // Used to disable sprint temporarily - bool m_bIsAutoSprinting; // A proxy for holding down the sprint key. - float m_fAutoSprintMinTime; // Minimum time to maintain autosprint regardless of player speed. - - CNetworkVar( bool, m_fIsSprinting ); - CNetworkVarForDerived( bool, m_fIsWalking ); - -protected: // Jeep: Portal_Player needs access to this variable to overload PlayerUse for picking up objects through portals - bool m_bPlayUseDenySound; // Signaled by PlayerUse, but can be unset by HL2 ladder code... - -private: - - CAI_Squad * m_pPlayerAISquad; - CSimpleSimTimer m_CommanderUpdateTimer; - float m_RealTimeLastSquadCommand; - CommanderCommand_t m_QueuedCommand; - - Vector m_vecMissPositions[16]; - int m_nNumMissPositions; - - float m_flTimeIgnoreFallDamage; - bool m_bIgnoreFallDamageResetAfterImpact; - - // Suit power fields - float m_flSuitPowerLoad; // net suit power drain (total of all device's drainrates) - float m_flAdmireGlovesAnimTime; - - float m_flNextFlashlightCheckTime; - float m_flFlashlightPowerDrainScale; - - // Aiming heuristics code - float m_flIdleTime; //Amount of time we've been motionless - float m_flMoveTime; //Amount of time we've been in motion - float m_flLastDamageTime; //Last time we took damage - float m_flTargetFindTime; - - EHANDLE m_hPlayerProxy; - - bool m_bFlashlightDisabled; - bool m_bUseCappedPhysicsDamageTable; - - float m_flArmorReductionTime; - int m_iArmorReductionFrom; - - float m_flTimeUseSuspended; - - CSimpleSimTimer m_LowerWeaponTimer; - CSimpleSimTimer m_AutoaimTimer; - - EHANDLE m_hLockedAutoAimEntity; - - EHANDLE m_hLocatorTargetEntity; // The entity that's being tracked by the suit locator. - - float m_flTimeNextLadderHint; // Next time we're eligible to display a HUD hint about a ladder. - - friend class CHL2GameMovement; -}; - - -//----------------------------------------------------------------------------- -// FIXME: find a better way to do this -// Switches us to a physics damage table that caps the max damage. -//----------------------------------------------------------------------------- -void CHL2_Player::EnableCappedPhysicsDamage() -{ - m_bUseCappedPhysicsDamageTable = true; -} - - -void CHL2_Player::DisableCappedPhysicsDamage() -{ - m_bUseCappedPhysicsDamageTable = false; -} - - -#endif //HL2_PLAYER_H +//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// +// +// Purpose: Player for HL2. +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef HL2_PLAYER_H +#define HL2_PLAYER_H +#pragma once + + +#include "player.h" +#include "hl2_playerlocaldata.h" +#include "simtimer.h" +#include "soundenvelope.h" + +class CAI_Squad; +class CPropCombineBall; + +extern int TrainSpeed(int iSpeed, int iMax); +extern void CopyToBodyQue( CBaseAnimating *pCorpse ); + +#define ARMOR_DECAY_TIME 3.5f + +enum HL2PlayerPhysFlag_e +{ + // 1 -- 5 are used by enum PlayerPhysFlag_e in player.h + + PFLAG_ONBARNACLE = ( 1<<6 ) // player is hangning from the barnalce +}; + +class IPhysicsPlayerController; +class CLogicPlayerProxy; + +struct commandgoal_t +{ + Vector m_vecGoalLocation; + CBaseEntity *m_pGoalEntity; +}; + +// Time between checks to determine whether NPCs are illuminated by the flashlight +#define FLASHLIGHT_NPC_CHECK_INTERVAL 0.4 + +//---------------------------------------------------- +// Definitions for weapon slots +//---------------------------------------------------- +#define WEAPON_MELEE_SLOT 0 +#define WEAPON_SECONDARY_SLOT 1 +#define WEAPON_PRIMARY_SLOT 2 +#define WEAPON_EXPLOSIVE_SLOT 3 +#define WEAPON_TOOL_SLOT 4 + +//============================================================================= +//============================================================================= +class CSuitPowerDevice +{ +public: + CSuitPowerDevice( int bitsID, float flDrainRate ) { m_bitsDeviceID = bitsID; m_flDrainRate = flDrainRate; } +private: + int m_bitsDeviceID; // tells what the device is. DEVICE_SPRINT, DEVICE_FLASHLIGHT, etc. BITMASK!!!!! + float m_flDrainRate; // how quickly does this device deplete suit power? ( percent per second ) + +public: + int GetDeviceID( void ) const { return m_bitsDeviceID; } + float GetDeviceDrainRate( void ) const + { + if( g_pGameRules->GetSkillLevel() == SKILL_EASY && hl2_episodic.GetBool() && !(GetDeviceID()&bits_SUIT_DEVICE_SPRINT) ) + return m_flDrainRate * 0.5f; + else + return m_flDrainRate; + } +}; + +//============================================================================= +// >> HL2_PLAYER +//============================================================================= +class CHL2_Player : public CBasePlayer +{ +public: + DECLARE_CLASS( CHL2_Player, CBasePlayer ); + + CHL2_Player(); + ~CHL2_Player( void ); + + static CHL2_Player *CreatePlayer( const char *className, edict_t *ed ) + { + CHL2_Player::s_PlayerEdict = ed; + return (CHL2_Player*)CreateEntityByName( className ); + } + + DECLARE_SERVERCLASS(); + DECLARE_DATADESC(); + + virtual void CreateCorpse( void ) { CopyToBodyQue( this ); }; + + virtual void Precache( void ); + virtual void Spawn(void); + virtual void Activate( void ); + virtual void CheatImpulseCommands( int iImpulse ); + virtual void PlayerRunCommand( CUserCmd *ucmd, IMoveHelper *moveHelper); + virtual void PlayerUse ( void ); + virtual void SuspendUse( float flDuration ) { m_flTimeUseSuspended = gpGlobals->curtime + flDuration; } + virtual void UpdateClientData( void ); + virtual void OnRestore(); + virtual void StopLoopingSounds( void ); + virtual void Splash( void ); + virtual void ModifyOrAppendPlayerCriteria( AI_CriteriaSet& set ); + + void DrawDebugGeometryOverlays(void); + + virtual Vector EyeDirection2D( void ); + virtual Vector EyeDirection3D( void ); + + virtual void CommanderMode(); + + virtual bool ClientCommand( const CCommand &args ); + + // from cbasecombatcharacter + void InitVCollision( const Vector &vecAbsOrigin, const Vector &vecAbsVelocity ); + WeaponProficiency_t CalcWeaponProficiency( CBaseCombatWeapon *pWeapon ); + + Class_T Classify ( void ); + + // from CBasePlayer + virtual void SetupVisibility( CBaseEntity *pViewEntity, unsigned char *pvs, int pvssize ); + + // Suit Power Interface + void SuitPower_Update( void ); + bool SuitPower_Drain( float flPower ); // consume some of the suit's power. + void SuitPower_Charge( float flPower ); // add suit power. + void SuitPower_SetCharge( float flPower ) { m_HL2Local.m_flSuitPower = flPower; } + void SuitPower_Initialize( void ); + bool SuitPower_IsDeviceActive( const CSuitPowerDevice &device ); + bool SuitPower_AddDevice( const CSuitPowerDevice &device ); + bool SuitPower_RemoveDevice( const CSuitPowerDevice &device ); + bool SuitPower_ShouldRecharge( void ); + float SuitPower_GetCurrentPercentage( void ) { return m_HL2Local.m_flSuitPower; } + + void SetFlashlightEnabled( bool bState ); + + // Apply a battery + bool ApplyBattery( float powerMultiplier = 1.0 ); + + // Commander Mode for controller NPCs + enum CommanderCommand_t + { + CC_NONE, + CC_TOGGLE, + CC_FOLLOW, + CC_SEND, + }; + + void CommanderUpdate(); + void CommanderExecute( CommanderCommand_t command = CC_TOGGLE ); + bool CommanderFindGoal( commandgoal_t *pGoal ); + void NotifyFriendsOfDamage( CBaseEntity *pAttackerEntity ); + CAI_BaseNPC *GetSquadCommandRepresentative(); + int GetNumSquadCommandables(); + int GetNumSquadCommandableMedics(); + + // Locator + void UpdateLocatorPosition( const Vector &vecPosition ); + + // Sprint Device + void StartAutoSprint( void ); + void StartSprinting( void ); + void StopSprinting( void ); + void InitSprinting( void ); + bool IsSprinting( void ) { return m_fIsSprinting; } + bool CanSprint( void ); + void EnableSprint( bool bEnable); + + bool CanZoom( CBaseEntity *pRequester ); + void ToggleZoom(void); + void StartZooming( void ); + void StopZooming( void ); + bool IsZooming( void ); + void CheckSuitZoom( void ); + + // Walking + void StartWalking( void ); + void StopWalking( void ); + bool IsWalking( void ) { return m_fIsWalking; } + + // Aiming heuristics accessors + virtual float GetIdleTime( void ) const { return ( m_flIdleTime - m_flMoveTime ); } + virtual float GetMoveTime( void ) const { return ( m_flMoveTime - m_flIdleTime ); } + virtual float GetLastDamageTime( void ) const { return m_flLastDamageTime; } + virtual bool IsDucking( void ) const { return !!( GetFlags() & FL_DUCKING ); } + + virtual bool PassesDamageFilter( const CTakeDamageInfo &info ); + void InputIgnoreFallDamage( inputdata_t &inputdata ); + void InputIgnoreFallDamageWithoutReset( inputdata_t &inputdata ); + void InputEnableFlashlight( inputdata_t &inputdata ); + void InputDisableFlashlight( inputdata_t &inputdata ); + + const impactdamagetable_t &GetPhysicsImpactDamageTable(); + virtual int OnTakeDamage( const CTakeDamageInfo &info ); + virtual int OnTakeDamage_Alive( const CTakeDamageInfo &info ); + virtual void OnDamagedByExplosion( const CTakeDamageInfo &info ); + bool ShouldShootMissTarget( CBaseCombatCharacter *pAttacker ); + + void CombineBallSocketed( CPropCombineBall *pCombineBall ); + + virtual void Event_KilledOther( CBaseEntity *pVictim, const CTakeDamageInfo &info ); + + virtual void GetAutoaimVector( autoaim_params_t ¶ms ); + bool ShouldKeepLockedAutoaimTarget( EHANDLE hLockedTarget ); + + void SetLocatorTargetEntity( CBaseEntity *pEntity ) { m_hLocatorTargetEntity.Set( pEntity ); } + + virtual int GiveAmmo( int nCount, int nAmmoIndex, bool bSuppressSound); + virtual bool BumpWeapon( CBaseCombatWeapon *pWeapon ); + + virtual bool Weapon_CanUse( CBaseCombatWeapon *pWeapon ); + virtual void Weapon_Equip( CBaseCombatWeapon *pWeapon ); + virtual bool Weapon_Lower( void ); + virtual bool Weapon_Ready( void ); + virtual bool Weapon_Switch( CBaseCombatWeapon *pWeapon, int viewmodelindex = 0 ); + virtual bool Weapon_CanSwitchTo( CBaseCombatWeapon *pWeapon ); + + void FirePlayerProxyOutput( const char *pszOutputName, variant_t variant, CBaseEntity *pActivator, CBaseEntity *pCaller ); + + CLogicPlayerProxy *GetPlayerProxy( void ); + + // Flashlight Device + void CheckFlashlight( void ); + int FlashlightIsOn( void ); + void FlashlightTurnOn( void ); + void FlashlightTurnOff( void ); + bool IsIlluminatedByFlashlight( CBaseEntity *pEntity, float *flReturnDot ); + void SetFlashlightPowerDrainScale( float flScale ) { m_flFlashlightPowerDrainScale = flScale; } + + // Underwater breather device + virtual void SetPlayerUnderwater( bool state ); + virtual bool CanBreatheUnderwater() const { return m_HL2Local.m_flSuitPower > 0.0f; } + + // physics interactions + virtual void PickupObject( CBaseEntity *pObject, bool bLimitMassAndSize ); + virtual bool IsHoldingEntity( CBaseEntity *pEnt ); + virtual void ForceDropOfCarriedPhysObjects( CBaseEntity *pOnlyIfHoldindThis ); + virtual float GetHeldObjectMass( IPhysicsObject *pHeldObject ); + virtual CBaseEntity *GetHeldObject( void ); + + virtual bool IsFollowingPhysics( void ) { return (m_afPhysicsFlags & PFLAG_ONBARNACLE) > 0; } + void InputForceDropPhysObjects( inputdata_t &data ); + + virtual void Event_Killed( const CTakeDamageInfo &info ); + void NotifyScriptsOfDeath( void ); + + // override the test for getting hit + virtual bool TestHitboxes( const Ray_t &ray, unsigned int fContentsMask, trace_t& tr ); + + LadderMove_t *GetLadderMove() { return &m_HL2Local.m_LadderMove; } + virtual void ExitLadder(); + virtual surfacedata_t *GetLadderSurface( const Vector &origin ); + + virtual void EquipSuit( bool bPlayEffects = true ); + virtual void RemoveSuit( void ); + void HandleAdmireGlovesAnimation( void ); + void StartAdmireGlovesAnimation( void ); + + void HandleSpeedChanges( void ); + + void SetControlClass( Class_T controlClass ) { m_nControlClass = controlClass; } + + void StartWaterDeathSounds( void ); + void StopWaterDeathSounds( void ); + + bool IsWeaponLowered( void ) { return m_HL2Local.m_bWeaponLowered; } + void HandleArmorReduction( void ); + void StartArmorReduction( void ) { m_flArmorReductionTime = gpGlobals->curtime + ARMOR_DECAY_TIME; + m_iArmorReductionFrom = ArmorValue(); + } + + void MissedAR2AltFire(); + + inline void EnableCappedPhysicsDamage(); + inline void DisableCappedPhysicsDamage(); + + // HUD HINTS + void DisplayLadderHudHint(); + + CSoundPatch *m_sndLeeches; + CSoundPatch *m_sndWaterSplashes; + +protected: + virtual void PreThink( void ); + virtual void PostThink( void ); + virtual bool HandleInteraction(int interactionType, void *data, CBaseCombatCharacter* sourceEnt); + + virtual void UpdateWeaponPosture( void ); + + virtual void ItemPostFrame(); + virtual void PlayUseDenySound(); + +private: + bool CommanderExecuteOne( CAI_BaseNPC *pNpc, const commandgoal_t &goal, CAI_BaseNPC **Allies, int numAllies ); + + void OnSquadMemberKilled( inputdata_t &data ); + + Class_T m_nControlClass; // Class when player is controlling another entity + // This player's HL2 specific data that should only be replicated to + // the player and not to other players. + CNetworkVarEmbedded( CHL2PlayerLocalData, m_HL2Local ); + + float m_flTimeAllSuitDevicesOff; + + bool m_bSprintEnabled; // Used to disable sprint temporarily + bool m_bIsAutoSprinting; // A proxy for holding down the sprint key. + float m_fAutoSprintMinTime; // Minimum time to maintain autosprint regardless of player speed. + + CNetworkVar( bool, m_fIsSprinting ); + CNetworkVarForDerived( bool, m_fIsWalking ); + +protected: // Jeep: Portal_Player needs access to this variable to overload PlayerUse for picking up objects through portals + bool m_bPlayUseDenySound; // Signaled by PlayerUse, but can be unset by HL2 ladder code... + +private: + + CAI_Squad * m_pPlayerAISquad; + CSimpleSimTimer m_CommanderUpdateTimer; + float m_RealTimeLastSquadCommand; + CommanderCommand_t m_QueuedCommand; + + Vector m_vecMissPositions[16]; + int m_nNumMissPositions; + + float m_flTimeIgnoreFallDamage; + bool m_bIgnoreFallDamageResetAfterImpact; + + // Suit power fields + float m_flSuitPowerLoad; // net suit power drain (total of all device's drainrates) + float m_flAdmireGlovesAnimTime; + + float m_flNextFlashlightCheckTime; + float m_flFlashlightPowerDrainScale; + + // Aiming heuristics code + float m_flIdleTime; //Amount of time we've been motionless + float m_flMoveTime; //Amount of time we've been in motion + float m_flLastDamageTime; //Last time we took damage + float m_flTargetFindTime; + + EHANDLE m_hPlayerProxy; + + bool m_bFlashlightDisabled; + bool m_bUseCappedPhysicsDamageTable; + + float m_flArmorReductionTime; + int m_iArmorReductionFrom; + + float m_flTimeUseSuspended; + + CSimpleSimTimer m_LowerWeaponTimer; + CSimpleSimTimer m_AutoaimTimer; + + EHANDLE m_hLockedAutoAimEntity; + + EHANDLE m_hLocatorTargetEntity; // The entity that's being tracked by the suit locator. + + float m_flTimeNextLadderHint; // Next time we're eligible to display a HUD hint about a ladder. + + friend class CHL2GameMovement; +}; + + +//----------------------------------------------------------------------------- +// FIXME: find a better way to do this +// Switches us to a physics damage table that caps the max damage. +//----------------------------------------------------------------------------- +void CHL2_Player::EnableCappedPhysicsDamage() +{ + m_bUseCappedPhysicsDamageTable = true; +} + + +void CHL2_Player::DisableCappedPhysicsDamage() +{ + m_bUseCappedPhysicsDamageTable = false; +} + + +#endif //HL2_PLAYER_H diff --git a/game/server/hl2/hl2_triggers.cpp b/game/server/hl2/hl2_triggers.cpp index 99f697a2..0d4a6dc4 100644 --- a/game/server/hl2/hl2_triggers.cpp +++ b/game/server/hl2/hl2_triggers.cpp @@ -546,12 +546,12 @@ void CWateryDeathLeech::LeechThink( void ) dt = 0.1f; } m_nRenderMode = kRenderTransTexture; - int speed = max(1,256*dt); // fade out over 1 second + int speed = (int)max(1,256*dt); // fade out over 1 second if ( m_iFadeState == -1 ) - SetRenderColorA( UTIL_Approach( 0, m_clrRender->a, speed ) ); + SetRenderColorA( (byte)UTIL_Approach( 0, m_clrRender->a, speed ) ); else - SetRenderColorA( UTIL_Approach( 255, m_clrRender->a, speed ) ); + SetRenderColorA( (byte)UTIL_Approach( 255, m_clrRender->a, speed ) ); if ( m_clrRender->a == 0 ) { diff --git a/game/server/hl2/hl_playermove.cpp b/game/server/hl2/hl_playermove.cpp index e02ff710..a207b509 100644 --- a/game/server/hl2/hl_playermove.cpp +++ b/game/server/hl2/hl_playermove.cpp @@ -13,7 +13,7 @@ #include "iservervehicle.h" #include "hl2_player.h" #include "vehicle_base.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" diff --git a/game/server/hl2/item_ammo.cpp b/game/server/hl2/item_ammo.cpp index 1ab7cb4a..c1aac067 100644 --- a/game/server/hl2/item_ammo.cpp +++ b/game/server/hl2/item_ammo.cpp @@ -32,7 +32,7 @@ int ITEM_GiveAmmo( CBasePlayer *pPlayer, float flCount, const char *pszAmmoName, // Don't give out less than 1 of anything. flCount = max( 1.0f, flCount ); - return pPlayer->GiveAmmo( flCount, iAmmoType, bSuppressSound ); + return pPlayer->GiveAmmo( (int)flCount, iAmmoType, bSuppressSound ); } // ======================================================================== diff --git a/game/server/hl2/item_dynamic_resupply.cpp b/game/server/hl2/item_dynamic_resupply.cpp index 8e9c87bd..03b2df5f 100644 --- a/game/server/hl2/item_dynamic_resupply.cpp +++ b/game/server/hl2/item_dynamic_resupply.cpp @@ -244,7 +244,7 @@ void CItem_DynamicResupply::Activate( void ) void CItem_DynamicResupply::Precache( void ) { // Precache all the items potentially spawned - int i; + size_t i; for ( i = 0; i < NUM_HEALTH_ITEMS; i++ ) { UTIL_PrecacheOther( g_DynamicResupplyHealthItems[i].sEntityName ); @@ -322,7 +322,7 @@ void CItem_DynamicResupply::SpawnFullItem( CItem_DynamicResupply *pMaster, CBase return; float flRatio[NUM_AMMO_ITEMS]; - int i; + size_t i; float flTotalProb = 0.0f; for ( i = 0; i < NUM_AMMO_ITEMS; ++i ) { @@ -430,7 +430,7 @@ void CItem_DynamicResupply::FindPotentialItems( int nCount, DynamicResupplyItems //----------------------------------------------------------------------------- void CItem_DynamicResupply::ComputeHealthRatios( CItem_DynamicResupply* pMaster, CBasePlayer *pPlayer, int iDebug, SpawnInfo_t *pSpawnInfo ) { - for ( int i = 0; i < NUM_HEALTH_ITEMS; i++ ) + for ( size_t i = 0; i < NUM_HEALTH_ITEMS; i++ ) { // Figure out the current level of this resupply type float flMax; @@ -466,7 +466,7 @@ void CItem_DynamicResupply::ComputeHealthRatios( CItem_DynamicResupply* pMaster, if ( iDebug ) { Msg("Calculating desired health ratios & deltas:\n"); - for ( int i = 0; i < NUM_HEALTH_ITEMS; i++ ) + for ( size_t i = 0; i < NUM_HEALTH_ITEMS; i++ ) { Msg(" %s Desired Ratio: %.2f, Current Ratio: %.2f = Delta of %.2f\n", g_DynamicResupplyHealthItems[i].sEntityName, pSpawnInfo[i].m_flDesiredRatio, pSpawnInfo[i].m_flCurrentRatio, pSpawnInfo[i].m_flDelta ); @@ -480,7 +480,7 @@ void CItem_DynamicResupply::ComputeHealthRatios( CItem_DynamicResupply* pMaster, //----------------------------------------------------------------------------- void CItem_DynamicResupply::ComputeAmmoRatios( CItem_DynamicResupply* pMaster, CBasePlayer *pPlayer, int iDebug, SpawnInfo_t *pSpawnInfo ) { - for ( int i = 0; i < NUM_AMMO_ITEMS; i++ ) + for ( size_t i = 0; i < NUM_AMMO_ITEMS; i++ ) { // Get the ammodef's int iAmmoType = GetAmmoDef()->Index( g_DynamicResupplyAmmoItems[i].sAmmoDef ); @@ -508,7 +508,7 @@ void CItem_DynamicResupply::ComputeAmmoRatios( CItem_DynamicResupply* pMaster, C if ( iDebug ) { Msg("Calculating desired ammo ratios & deltas:\n"); - for ( int i = 0; i < NUM_AMMO_ITEMS; i++ ) + for ( size_t i = 0; i < NUM_AMMO_ITEMS; i++ ) { Msg(" %s Desired Ratio: %.2f, Current Ratio: %.2f = Delta of %.2f\n", g_DynamicResupplyAmmoItems[i].sEntityName, pSpawnInfo[i].m_flDesiredRatio, pSpawnInfo[i].m_flCurrentRatio, pSpawnInfo[i].m_flDelta ); @@ -654,4 +654,4 @@ void DynamicResupply_InitFromAlternateMaster( CBaseEntity *pTargetEnt, string_t memcpy( pTargetResupply->m_flDesiredHealth, pMasterResupply->m_flDesiredHealth, sizeof( pMasterResupply->m_flDesiredHealth ) ); memcpy( pTargetResupply->m_flDesiredAmmo, pMasterResupply->m_flDesiredAmmo, sizeof( pMasterResupply->m_flDesiredAmmo ) ); -} \ No newline at end of file +} diff --git a/game/server/hl2/item_healthkit.cpp b/game/server/hl2/item_healthkit.cpp index b63b2bfb..989ce341 100644 --- a/game/server/hl2/item_healthkit.cpp +++ b/game/server/hl2/item_healthkit.cpp @@ -243,7 +243,7 @@ void CWallHealth::Spawn(void) SetModel( STRING( GetModelName() ) ); - m_iJuice = sk_healthcharger.GetFloat(); + m_iJuice = sk_healthcharger.GetInt(); m_nState = 0; @@ -388,7 +388,7 @@ void CWallHealth::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE u void CWallHealth::Recharge(void) { EmitSound( "WallHealth.Recharge" ); - m_iJuice = sk_healthcharger.GetFloat(); + m_iJuice = sk_healthcharger.GetInt(); m_nState = 0; SetThink( NULL ); } @@ -405,7 +405,7 @@ void CWallHealth::Off(void) m_iOn = 0; - if ((!m_iJuice) && ( ( m_iReactivate = g_pGameRules->FlHealthChargerRechargeTime() ) > 0) ) + if ((!m_iJuice) && ( ( m_iReactivate = (int)g_pGameRules->FlHealthChargerRechargeTime() ) > 0) ) { SetNextThink( gpGlobals->curtime + m_iReactivate ); SetThink(&CWallHealth::Recharge); @@ -520,7 +520,7 @@ void CNewWallHealth::Spawn(void) ResetSequence( LookupSequence( "idle" ) ); - m_iJuice = sk_healthcharger.GetFloat(); + m_iJuice = sk_healthcharger.GetInt(); m_nState = 0; @@ -699,7 +699,7 @@ void CNewWallHealth::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYP void CNewWallHealth::Recharge(void) { EmitSound( "WallHealth.Recharge" ); - m_flJuice = m_iJuice = sk_healthcharger.GetFloat(); + m_flJuice = m_iJuice = sk_healthcharger.GetInt(); m_nState = 0; ResetSequence( LookupSequence( "idle" ) ); @@ -732,7 +732,7 @@ void CNewWallHealth::Off(void) { if ((!m_iJuice) && g_pGameRules->FlHealthChargerRechargeTime() > 0 ) { - m_iReactivate = g_pGameRules->FlHealthChargerRechargeTime(); + m_iReactivate = (int)g_pGameRules->FlHealthChargerRechargeTime(); SetNextThink( gpGlobals->curtime + m_iReactivate ); SetThink(&CNewWallHealth::Recharge); } diff --git a/game/server/hl2/item_itemcrate.cpp b/game/server/hl2/item_itemcrate.cpp index 1fe36d72..34f95436 100644 --- a/game/server/hl2/item_itemcrate.cpp +++ b/game/server/hl2/item_itemcrate.cpp @@ -14,8 +14,8 @@ const char *pszItemCrateModelName[] = { - {"models/items/item_item_crate.mdl"}, - ("models/items/item_beacon_crate.mdl"), + "models/items/item_item_crate.mdl", + "models/items/item_beacon_crate.mdl", }; //----------------------------------------------------------------------------- diff --git a/game/server/hl2/npc_BaseZombie.cpp b/game/server/hl2/npc_BaseZombie.cpp index 011f2439..91321fe0 100644 --- a/game/server/hl2/npc_BaseZombie.cpp +++ b/game/server/hl2/npc_BaseZombie.cpp @@ -893,6 +893,9 @@ int CNPC_BaseZombie::OnTakeDamage_Alive( const CTakeDamageInfo &inputInfo ) case RELEASE_SCHEDULED: SetCondition( COND_ZOMBIE_RELEASECRAB ); break; + + default: + break; } if( ShouldBecomeTorso( info, flDamageThreshold ) ) @@ -951,7 +954,7 @@ void CNPC_BaseZombie::MakeAISpookySound( float volume, float duration ) { if ( HL2GameRules()->IsAlyxInDarknessMode() ) { - CSoundEnt::InsertSound( SOUND_COMBAT, EyePosition(), volume, duration, this, SOUNDENT_CHANNEL_SPOOKY_NOISE ); + CSoundEnt::InsertSound( SOUND_COMBAT, EyePosition(), (int)volume, duration, this, SOUNDENT_CHANNEL_SPOOKY_NOISE ); } } @@ -1016,7 +1019,7 @@ void CNPC_BaseZombie::MoanSound( envelopePoint_t *pEnvelope, int iEnvelopeSize ) float duration = ENVELOPE_CONTROLLER.SoundPlayEnvelope( m_pMoanSound, SOUNDCTRL_CHANGE_VOLUME, pEnvelope, iEnvelopeSize ); - float flPitch = random->RandomInt( m_flMoanPitch + zombie_changemin.GetInt(), m_flMoanPitch + zombie_changemax.GetInt() ); + float flPitch = random->RandomInt( (int)m_flMoanPitch + zombie_changemin.GetInt(), (int)m_flMoanPitch + zombie_changemax.GetInt() ); ENVELOPE_CONTROLLER.SoundChangePitch( m_pMoanSound, flPitch, 0.3 ); m_flNextMoanSound = gpGlobals->curtime + duration + 9999; @@ -1213,7 +1216,7 @@ void CNPC_BaseZombie::Ignite( float flFlameLifetime, bool bNPCOnly, float flSize #endif // HL2_EPISODIC // Set the zombie up to burn to death in about ten seconds. - SetHealth( min( m_iHealth, FLAME_DIRECT_DAMAGE_PER_SEC * (ZOMBIE_BURN_TIME + random->RandomFloat( -ZOMBIE_BURN_TIME_NOISE, ZOMBIE_BURN_TIME_NOISE)) ) ); + SetHealth( (int)min( m_iHealth, FLAME_DIRECT_DAMAGE_PER_SEC * (ZOMBIE_BURN_TIME + random->RandomFloat( -ZOMBIE_BURN_TIME_NOISE, ZOMBIE_BURN_TIME_NOISE)) ) ); // FIXME: use overlays when they come online //AddOverlay( ACT_ZOM_WALK_ON_FIRE, false ); @@ -1571,25 +1574,29 @@ void CNPC_BaseZombie::HandleAnimEvent( animevent_t *pEvent ) if ( pEvent->event == AE_ZOMBIE_ATTACK_RIGHT ) { - Vector right, forward; + QAngle viewPunch = QAngle(-15.0f, -20.0f, -10.0f); + Vector right, forward, velocityPunch; AngleVectors( GetLocalAngles(), &forward, &right, NULL ); right = right * 100; forward = forward * 200; + velocityPunch = right + forward; - ClawAttack( GetClawAttackRange(), sk_zombie_dmg_one_slash.GetFloat(), QAngle( -15, -20, -10 ), right + forward, ZOMBIE_BLOOD_RIGHT_HAND ); + ClawAttack( GetClawAttackRange(), sk_zombie_dmg_one_slash.GetInt(), viewPunch, velocityPunch, ZOMBIE_BLOOD_RIGHT_HAND ); return; } if ( pEvent->event == AE_ZOMBIE_ATTACK_LEFT ) { - Vector right, forward; + QAngle viewPunch = QAngle(-15.0f, -20.0f, -10.0f); + Vector right, forward, velocityPunch; AngleVectors( GetLocalAngles(), &forward, &right, NULL ); right = right * -100; forward = forward * 200; + velocityPunch = right + forward; - ClawAttack( GetClawAttackRange(), sk_zombie_dmg_one_slash.GetFloat(), QAngle( -15, 20, -10 ), right + forward, ZOMBIE_BLOOD_LEFT_HAND ); + ClawAttack( GetClawAttackRange(), sk_zombie_dmg_one_slash.GetInt(), viewPunch, velocityPunch, ZOMBIE_BLOOD_LEFT_HAND ); return; } @@ -1599,7 +1606,7 @@ void CNPC_BaseZombie::HandleAnimEvent( animevent_t *pEvent ) QAngle qaPunch( 45, random->RandomInt(-5,5), random->RandomInt(-5,5) ); AngleVectors( GetLocalAngles(), &forward ); forward = forward * 200; - ClawAttack( GetClawAttackRange(), sk_zombie_dmg_one_slash.GetFloat(), qaPunch, forward, ZOMBIE_BLOOD_BOTH_HANDS ); + ClawAttack( GetClawAttackRange(), sk_zombie_dmg_one_slash.GetInt(), qaPunch, forward, ZOMBIE_BLOOD_BOTH_HANDS ); return; } @@ -1622,7 +1629,7 @@ void CNPC_BaseZombie::HandleAnimEvent( animevent_t *pEvent ) pString = nexttoken( token, pString, ' ' ); - if ( !token ) + if ( token == '\0' ) { Warning( "AE_ZOMBIE_POPHEADCRAB event format missing velocity parameter! Usage: event AE_ZOMBIE_POPHEADCRAB \" \" \n" ); return; @@ -1905,13 +1912,16 @@ int CNPC_BaseZombie::SelectSchedule ( void ) #ifdef DEBUG_ZOMBIES DevMsg("Wandering\n"); -#endif+ +#endif // Just lost track of our enemy. // Wander around a bit so we don't look like a dingus. return SCHED_ZOMBIE_WANDER_MEDIUM; } break; + + default: + break; } return BaseClass::SelectSchedule(); @@ -2616,6 +2626,9 @@ Activity CNPC_BaseZombie::NPC_TranslateActivity( Activity baseAct ) // I'm on fire. Put ME out. return ( Activity )ACT_IDLE_ON_FIRE; } + + default: + break; } } diff --git a/game/server/hl2/npc_BaseZombie.h b/game/server/hl2/npc_BaseZombie.h index 697d74e9..43502283 100644 --- a/game/server/hl2/npc_BaseZombie.h +++ b/game/server/hl2/npc_BaseZombie.h @@ -184,7 +184,7 @@ public: virtual void SetZombieModel( void ) { }; virtual void BecomeTorso( const Vector &vecTorsoForce, const Vector &vecLegsForce ); virtual bool CanBecomeLiveTorso() { return false; } - virtual bool CNPC_BaseZombie::HeadcrabFits( CBaseAnimating *pCrab ); + virtual bool HeadcrabFits( CBaseAnimating *pCrab ); void ReleaseHeadcrab( const Vector &vecOrigin, const Vector &vecVelocity, bool fRemoveHead, bool fRagdollBody, bool fRagdollCrab = false ); void SetHeadcrabSpawnLocation( int iCrabAttachment, CBaseAnimating *pCrab ); diff --git a/game/server/hl2/npc_PoisonZombie.cpp b/game/server/hl2/npc_PoisonZombie.cpp index 6d6aebd1..874b592b 100644 --- a/game/server/hl2/npc_PoisonZombie.cpp +++ b/game/server/hl2/npc_PoisonZombie.cpp @@ -722,7 +722,7 @@ void CNPC_PoisonZombie::HandleAnimEvent( animevent_t *pEvent ) QAngle qaPunch( 45, random->RandomInt(-5, 5), random->RandomInt(-5, 5) ); AngleVectors( GetLocalAngles(), &forward ); forward = forward * 200; - ClawAttack( GetClawAttackRange(), sk_zombie_poison_dmg_spit.GetFloat(), qaPunch, forward, ZOMBIE_BLOOD_BITE ); + ClawAttack( GetClawAttackRange(), sk_zombie_poison_dmg_spit.GetInt(), qaPunch, forward, ZOMBIE_BLOOD_BITE ); return; } diff --git a/game/server/hl2/npc_alyx_episodic.cpp b/game/server/hl2/npc_alyx_episodic.cpp index a4d160ea..3df4c35b 100644 --- a/game/server/hl2/npc_alyx_episodic.cpp +++ b/game/server/hl2/npc_alyx_episodic.cpp @@ -184,6 +184,8 @@ bool CNPC_Alyx::FValidateHintType( CAI_Hint *pHint ) case HINT_WORLD_VISUALLY_INTERESTING_STEALTH: return true; break; + default: + break; } return BaseClass::FValidateHintType( pHint ); @@ -573,7 +575,7 @@ void CNPC_Alyx::ReadinessLevelChanged( int iPriorLevel ) { AIRL_STIMULATED, AIRL_RELAXED, ACT_IDLE, ACT_READINESS_STIMULATED_TO_RELAXED, } }; - for ( int i = 0; i < ARRAYSIZE( readinessTransitions ); i++ ) + for ( size_t i = 0; i < ARRAYSIZE( readinessTransitions ); i++ ) { if ( GetIdealActivity() != readinessTransitions[i].requiredActivity ) continue; @@ -1611,13 +1613,15 @@ Activity CNPC_Alyx::NPC_TranslateActivity( Activity activity ) { // !!!HACK - Alyx doesn't have the required animations for shotguns, // so trick her into using the rifle counterparts for now (sjb) - case ACT_RUN_AIM_SHOTGUN: return ACT_RUN_AIM_RIFLE; - case ACT_WALK_AIM_SHOTGUN: return ACT_WALK_AIM_RIFLE; + case ACT_RUN_AIM_SHOTGUN: return ACT_RUN_AIM_RIFLE; + case ACT_WALK_AIM_SHOTGUN: return ACT_WALK_AIM_RIFLE; case ACT_IDLE_ANGRY_SHOTGUN: return ACT_IDLE_ANGRY_SMG1; case ACT_RANGE_ATTACK_SHOTGUN_LOW: return ACT_RANGE_ATTACK_SMG1_LOW; - case ACT_PICKUP_RACK: return (Activity)ACT_ALYX_PICKUP_RACK; - case ACT_DROP_WEAPON: if ( HasShotgun() ) return (Activity)ACT_DROP_WEAPON_SHOTGUN; + case ACT_PICKUP_RACK: return (Activity)ACT_ALYX_PICKUP_RACK; + case ACT_DROP_WEAPON: if ( HasShotgun() ) return (Activity)ACT_DROP_WEAPON_SHOTGUN; + + default: break; } return activity; @@ -1652,6 +1656,9 @@ void CNPC_Alyx::BuildScheduleTestBits() SetCustomInterruptCondition( COND_ALYX_HAS_INTERACT_TARGET ); SetCustomInterruptCondition( COND_ALYX_CAN_INTERACT_WITH_TARGET ); break; + + default: + break; } } @@ -3191,6 +3198,9 @@ bool CNPC_Alyx::IsCrouchedActivity( Activity activity ) case ACT_RANGE_AIM_PISTOL_LOW: case ACT_RANGE_AIM_AR2_LOW: return true; + + default: + break; } return false; } diff --git a/game/server/hl2/npc_antlion.cpp b/game/server/hl2/npc_antlion.cpp index 23a8060e..e3eb7673 100644 --- a/game/server/hl2/npc_antlion.cpp +++ b/game/server/hl2/npc_antlion.cpp @@ -636,7 +636,7 @@ void CNPC_Antlion::Event_Killed( const CTakeDamageInfo &info ) //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- -void CNPC_Antlion::MeleeAttack( float distance, float damage, QAngle &viewPunch, Vector &shove ) +void CNPC_Antlion::MeleeAttack( float distance, float damage, QAngle& viewPunch, Vector& shove ) { Vector vecForceDir; @@ -650,7 +650,7 @@ void CNPC_Antlion::MeleeAttack( float distance, float damage, QAngle &viewPunch, return; } - CBaseEntity *pHurt = CheckTraceHullAttack( distance, -Vector(16,16,32), Vector(16,16,32), damage, DMG_SLASH, 5.0f ); + CBaseEntity *pHurt = CheckTraceHullAttack( distance, -Vector(16,16,32), Vector(16,16,32), (int)damage, DMG_SLASH, 5.0f ); if ( pHurt ) { @@ -1053,6 +1053,8 @@ void CNPC_Antlion::DelaySquadAttack( float flDuration ) //----------------------------------------------------------------------------- void CNPC_Antlion::HandleAnimEvent( animevent_t *pEvent ) { + QAngle viewPunch; + Vector shove; #ifdef HL2_EPISODIC // Handle the spit event if ( pEvent->event == AE_ANTLION_WORKER_SPIT ) @@ -1161,19 +1163,25 @@ void CNPC_Antlion::HandleAnimEvent( animevent_t *pEvent ) if ( pEvent->event == AE_ANTLION_MELEE_HIT1 ) { - MeleeAttack( ANTLION_MELEE1_RANGE, sk_antlion_swipe_damage.GetFloat(), QAngle( 20.0f, 0.0f, -12.0f ), Vector( -250.0f, 1.0f, 1.0f ) ); + viewPunch = QAngle(20.0f, 0.0f, -12.0f); + shove = Vector(-250.0f, 1.0f, 1.0f); + MeleeAttack( ANTLION_MELEE1_RANGE, sk_antlion_swipe_damage.GetFloat(), viewPunch, shove ); return; } if ( pEvent->event == AE_ANTLION_MELEE_HIT2 ) { - MeleeAttack( ANTLION_MELEE1_RANGE, sk_antlion_swipe_damage.GetFloat(), QAngle( 20.0f, 0.0f, 0.0f ), Vector( -350.0f, 1.0f, 1.0f ) ); + viewPunch = QAngle(20.0f, 0.0f, 0.0f); + shove = Vector(-350.0f, 1.0f, 1.0f); + MeleeAttack( ANTLION_MELEE1_RANGE, sk_antlion_swipe_damage.GetFloat(), viewPunch, shove ); return; } if ( pEvent->event == AE_ANTLION_MELEE_POUNCE ) { - MeleeAttack( ANTLION_MELEE2_RANGE, sk_antlion_swipe_damage.GetFloat(), QAngle( 4.0f, 0.0f, 0.0f ), Vector( -250.0f, 1.0f, 1.0f ) ); + viewPunch = QAngle(4.0f, 0.0f, 0.0f); + shove = Vector(-250.0f, 1.0f, 1.0f); + MeleeAttack( ANTLION_MELEE2_RANGE, sk_antlion_swipe_damage.GetFloat(), viewPunch, shove ); return; } @@ -1282,7 +1290,7 @@ void CNPC_Antlion::HandleAnimEvent( animevent_t *pEvent ) if ( pEvent->event == AE_ANTLION_WORKER_EXPLODE_WARN ) { - CSoundEnt::InsertSound( SOUND_PHYSICS_DANGER, GetAbsOrigin(), sk_antlion_worker_burst_radius.GetFloat(), 0.5f, this ); + CSoundEnt::InsertSound( SOUND_PHYSICS_DANGER, GetAbsOrigin(), sk_antlion_worker_burst_radius.GetInt(), 0.5f, this ); return; } @@ -2664,7 +2672,7 @@ void CNPC_Antlion::TraceAttack( const CTakeDamageInfo &info, const Vector &vecDi if ( newInfo.GetDamageType() & (DMG_CRUSH|DMG_PHYSGUN) ) { PainSound( newInfo ); - Vector vecForce = ( vecShoveDir * random->RandomInt( 500.0f, 1000.0f ) ) + Vector(0,0,64.0f); + Vector vecForce = ( vecShoveDir * random->RandomInt( 500, 1000 ) ) + Vector(0.0f, 0.0f, 64.0f); CascadePush( vecForce ); ApplyAbsVelocityImpulse( vecForce ); SetGroundEntity( NULL ); @@ -2691,7 +2699,7 @@ void CNPC_Antlion::TraceAttack( const CTakeDamageInfo &info, const Vector &vecDi SetCondition( COND_ANTLION_FLIPPED ); } - Vector vecForce = ( vecShoveDir * random->RandomInt( 500.0f, 1000.0f ) ) + Vector(0,0,64.0f); + Vector vecForce = ( vecShoveDir * random->RandomInt( 500, 1000 ) ) + Vector(0.0f, 0.0f, 64.0f); CascadePush( vecForce ); ApplyAbsVelocityImpulse( vecForce ); @@ -2707,7 +2715,7 @@ void CNPC_Antlion::TraceAttack( const CTakeDamageInfo &info, const Vector &vecDi SetCondition( COND_ANTLION_FLIPPED ); //Get tossed! - ApplyAbsVelocityImpulse( ( vecShoveDir * random->RandomInt( 500.0f, 1000.0f ) ) + Vector(0,0,64.0f) ); + ApplyAbsVelocityImpulse( ( vecShoveDir * random->RandomInt( 500, 1000 ) ) + Vector(0.0f, 0.0f, 64.0f) ); SetGroundEntity( NULL ); } } @@ -3309,7 +3317,8 @@ void CNPC_Antlion::BurrowUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE bool CNPC_Antlion::CheckLanding( void ) { trace_t tr; - Vector testPos; + Vector testPos, shove = Vector( -250.0f, 1.0f, 1.0f ); + QAngle viewPunch = QAngle( 4.0f, 0.0f, 0.0f ); //Amount of time to predict forward const float timeStep = 0.1f; @@ -3346,7 +3355,7 @@ bool CNPC_Antlion::CheckLanding( void ) CBasePlayer *pPlayer = ToBasePlayer( GetEnemy() ); if ( pPlayer && pPlayer->IsInAVehicle() == false ) - MeleeAttack( ANTLION_MELEE1_RANGE, sk_antlion_swipe_damage.GetFloat(), QAngle( 4.0f, 0.0f, 0.0f ), Vector( -250.0f, 1.0f, 1.0f ) ); + MeleeAttack( ANTLION_MELEE1_RANGE, sk_antlion_swipe_damage.GetFloat(), viewPunch, shove ); } SetAbsVelocity( GetAbsVelocity() * 0.33f ); diff --git a/game/server/hl2/npc_antliongrub.cpp b/game/server/hl2/npc_antliongrub.cpp index ec7e4556..6dd398d1 100644 --- a/game/server/hl2/npc_antliongrub.cpp +++ b/game/server/hl2/npc_antliongrub.cpp @@ -6,7 +6,7 @@ //=============================================================================// #include "cbase.h" -#include "Gib.h" +#include "gib.h" #include "Sprite.h" #include "te_effect_dispatch.h" #include "npc_antliongrub.h" diff --git a/game/server/hl2/npc_antliongrub.h b/game/server/hl2/npc_antliongrub.h index 09f135bd..c59ba22d 100644 --- a/game/server/hl2/npc_antliongrub.h +++ b/game/server/hl2/npc_antliongrub.h @@ -10,4 +10,4 @@ #ifndef NPC_ANTLIONGRUB_H #define NPC_ANTLIONGRUB_H -#endif //NPC_ANTLIONGRUB_H \ No newline at end of file +#endif //NPC_ANTLIONGRUB_H diff --git a/game/server/hl2/npc_antlionguard.cpp b/game/server/hl2/npc_antlionguard.cpp index e5dacaa8..da7f1381 100644 --- a/game/server/hl2/npc_antlionguard.cpp +++ b/game/server/hl2/npc_antlionguard.cpp @@ -31,7 +31,7 @@ #include "prop_combine_ball.h" #include "eventqueue.h" #include "te_effect_dispatch.h" -#include "sprite.h" +#include "Sprite.h" #include "particle_parse.h" #include "particle_system.h" @@ -2245,8 +2245,8 @@ int CNPC_AntlionGuard::OnTakeDamage_Alive( const CTakeDamageInfo &info ) const float flNumDamagePhases = 5.0f; float flDenom = ( (float) GetMaxHealth() / flNumDamagePhases ); - int nPreDamagePhase = ceil( (float) nPreHealth / flDenom ); - int nPostDamagePhase = ceil( (float) GetHealth() / flDenom ); + int nPreDamagePhase = (int)ceil(nPreHealth / flDenom); + int nPostDamagePhase = (int)ceil(GetHealth() / flDenom); if ( nPreDamagePhase != nPostDamagePhase ) { bTakeHeavyDamage = true; @@ -3151,7 +3151,7 @@ void CNPC_AntlionGuard::SummonAntlions( void ) // Only spawn up to our max count int iSpawnPoint = 0; - for ( int i = 0; (m_iNumLiveAntlions < ANTLIONGUARD_SUMMON_COUNT) && (iSpawnPoint < ARRAYSIZE(sAntlionSpawnPositions)); i++ ) + for ( int i = 0; (m_iNumLiveAntlions < ANTLIONGUARD_SUMMON_COUNT) && (iSpawnPoint < (int)ARRAYSIZE(sAntlionSpawnPositions)); i++ ) { // Determine spawn position for the antlion Vector vecSpawn = GetAbsOrigin() + ( sAntlionSpawnPositions[iSpawnPoint].flForward * vecForward ) + ( sAntlionSpawnPositions[iSpawnPoint].flRight * vecRight ); diff --git a/game/server/hl2/npc_assassin.cpp b/game/server/hl2/npc_assassin.cpp index 333dd9c8..349b13bb 100644 --- a/game/server/hl2/npc_assassin.cpp +++ b/game/server/hl2/npc_assassin.cpp @@ -6,14 +6,14 @@ #include "cbase.h" #include "ammodef.h" -#include "AI_Hint.h" -#include "AI_Navigator.h" -#include "npc_Assassin.h" +#include "ai_hint.h" +#include "ai_navigator.h" +#include "npc_assassin.h" #include "game.h" -#include "NPCEvent.h" +#include "npcevent.h" #include "engine/IEngineSound.h" -#include "AI_Squad.h" -#include "AI_SquadSlot.h" +#include "ai_squad.h" +#include "ai_squadslot.h" #include "ai_moveprobe.h" // memdbgon must be the last include file in a .cpp file!!! @@ -323,7 +323,7 @@ void CNPC_Assassin::FirePistol( int hand ) FireBullets( 1, muzzlePos, muzzleDir, VECTOR_CONE_5DEGREES, 1024, bulletType, 2 ); - UTIL_MuzzleFlash( muzzlePos, muzzleAngle, 0.5f, 1 ); + UTIL_MuzzleFlash( muzzlePos, muzzleAngle, (int)0.5f, 1 ); CPASAttenuationFilter filter( this ); EmitSound( filter, entindex(), "NPC_Assassin.ShootPistol" ); @@ -481,6 +481,9 @@ int CNPC_Assassin::SelectSchedule ( void ) return SCHED_ASSASSIN_FIND_VANTAGE_POINT; } break; + + default: + break; } return BaseClass::SelectSchedule(); @@ -708,7 +711,7 @@ void CNPC_Assassin::StartTask( const Task_t *pTask ) hint.SetFlag( bits_HINT_NODE_NEAREST ); - CAI_Hint *pHint = CAI_HintManager::FindHint( this, GetEnemy()->GetAbsOrigin(), &hint ); + CAI_Hint *pHint = CAI_HintManager::FindHint( this, GetEnemy()->GetAbsOrigin(), hint ); if ( pHint == NULL ) { diff --git a/game/server/hl2/npc_assassin.h b/game/server/hl2/npc_assassin.h index be4a8d57..6f0d402f 100644 --- a/game/server/hl2/npc_assassin.h +++ b/game/server/hl2/npc_assassin.h @@ -11,7 +11,7 @@ #pragma once #endif -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "Sprite.h" #include "SpriteTrail.h" #include "soundent.h" diff --git a/game/server/hl2/npc_attackchopper.cpp b/game/server/hl2/npc_attackchopper.cpp index 437da43e..5c724b1f 100644 --- a/game/server/hl2/npc_attackchopper.cpp +++ b/game/server/hl2/npc_attackchopper.cpp @@ -888,9 +888,9 @@ END_DATADESC() // Purpose : //------------------------------------------------------------------------------ CNPC_AttackHelicopter::CNPC_AttackHelicopter() : - m_bNonCombat( false ), m_flGracePeriod( 2.0f ), - m_bBombsExplodeOnContact( false ) + m_bBombsExplodeOnContact( false ), + m_bNonCombat( false ) { m_flMaxSpeed = 0; } @@ -1603,7 +1603,7 @@ void CNPC_AttackHelicopter::InputSetHealthFraction( inputdata_t &inputdata ) // Sets the health fraction, no damage effects if ( inputdata.value.Float() > 0 ) { - SetHealth( GetMaxHealth() * inputdata.value.Float() * 0.01f ); + SetHealth( (int)(GetMaxHealth() * inputdata.value.Float() * 0.01f) ); } } @@ -2357,7 +2357,7 @@ bool CNPC_AttackHelicopter::DoGunCharging( ) case SHOOT_MODE_FAST: { int nBurstCount = sk_helicopter_burstcount.GetInt(); - m_nRemainingBursts = random->RandomInt( nBurstCount, 2.0 * nBurstCount ); + m_nRemainingBursts = random->RandomInt( nBurstCount, 2 * nBurstCount ); m_flIdleTimeDelay = 0.1f * ( m_nRemainingBursts - nBurstCount ); } break; @@ -2469,7 +2469,7 @@ void CNPC_AttackHelicopter::ShootAtFacingDirection( const Vector &vBasePos, cons #ifdef HL2_EPISODIC if( GetEnemy() != NULL ) { - CSoundEnt::InsertSound( SOUND_DANGER, GetEnemy()->WorldSpaceCenter(), 180.0f, 0.5f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); + CSoundEnt::InsertSound( SOUND_DANGER, GetEnemy()->WorldSpaceCenter(), 180, 0.5f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); } #endif//HL2_EPISODIC @@ -3449,7 +3449,7 @@ void CNPC_AttackHelicopter::DropCorpse( int nDamage ) // Clamp damage to prevent ridiculous ragdoll velocity if( nDamage > 250.0f ) - nDamage = 250.0f; + nDamage = 250; m_flLastCorpseFall = gpGlobals->curtime + 3.0; @@ -3596,7 +3596,7 @@ int CNPC_AttackHelicopter::OnTakeDamage_Alive( const CTakeDamageInfo &info ) { if ( nPrevHealth != GetMaxHealth() ) { - DropCorpse( info.GetDamage() ); + DropCorpse( (int)info.GetDamage() ); } } @@ -4992,7 +4992,7 @@ void CGrenadeHelicopter::Spawn( void ) if ( HasSpawnFlags( SF_HELICOPTER_GRENADE_DUD ) ) { - m_nSkin = SKIN_DUD; + m_nSkin = (int)SKIN_DUD; } if ( !HasSpawnFlags( SF_GRENADE_HELICOPTER_MEGABOMB ) ) @@ -5091,7 +5091,7 @@ void CGrenadeHelicopter::InputExplodeIn( inputdata_t &inputdata ) { // We are a dud no more! RemoveSpawnFlags( SF_HELICOPTER_GRENADE_DUD ); - m_nSkin = SKIN_REGULAR; + m_nSkin = (int)SKIN_REGULAR; } m_bActivated = false; @@ -5204,19 +5204,19 @@ void CGrenadeHelicopter::WarningBlinkerThink() if( m_bBlinkerAtTop ) { //m_hWarningSprite->SetParentAttachment( "SetParentAttachment", "bottom", false ); - m_nSkin = SKIN_REGULAR; + m_nSkin = (int)SKIN_REGULAR; m_bBlinkerAtTop = false; } else { //m_hWarningSprite->SetParentAttachment( "SetParentAttachment", "top", false ); - m_nSkin = SKIN_DUD; + m_nSkin = (int)SKIN_DUD; m_bBlinkerAtTop = true; } } // Frighten people - CSoundEnt::InsertSound ( SOUND_DANGER, WorldSpaceCenter(), g_helicopter_bomb_danger_radius.GetFloat(), 0.2f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); + CSoundEnt::InsertSound ( SOUND_DANGER, WorldSpaceCenter(), g_helicopter_bomb_danger_radius.GetInt(), 0.2f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); #ifdef HL2_EPISODIC if( gpGlobals->curtime >= m_flBlinkFastTime ) @@ -5364,8 +5364,8 @@ int CGrenadeHelicopter::OnTakeDamage( const CTakeDamageInfo &info ) //------------------------------------------------------------------------------ void CGrenadeHelicopter::DoExplosion( const Vector &vecOrigin, const Vector &vecVelocity ) { - ExplosionCreate( GetAbsOrigin(), GetAbsAngles(), GetOwnerEntity() ? GetOwnerEntity() : this, sk_helicopter_grenadedamage.GetFloat(), - sk_helicopter_grenaderadius.GetFloat(), (SF_ENVEXPLOSION_NOSPARKS|SF_ENVEXPLOSION_NODLIGHTS|SF_ENVEXPLOSION_NODECAL|SF_ENVEXPLOSION_NOFIREBALL|SF_ENVEXPLOSION_NOPARTICLES), + ExplosionCreate( GetAbsOrigin(), GetAbsAngles(), GetOwnerEntity() ? GetOwnerEntity() : this, sk_helicopter_grenadedamage.GetInt(), + sk_helicopter_grenaderadius.GetInt(), (SF_ENVEXPLOSION_NOSPARKS|SF_ENVEXPLOSION_NODLIGHTS|SF_ENVEXPLOSION_NODECAL|SF_ENVEXPLOSION_NOFIREBALL|SF_ENVEXPLOSION_NOPARTICLES), sk_helicopter_grenadeforce.GetFloat(), this ); if ( GetShakeAmplitude() ) @@ -5520,7 +5520,7 @@ void CGrenadeHelicopter::OnPhysGunPickup(CBasePlayer *pPhysGunUser, PhysGunPicku SetContextThink( &CGrenadeHelicopter::WarningBlinkerThink, gpGlobals->curtime + GetBombLifetime() - 2.0f, s_pWarningBlinkerContext ); #ifdef HL2_EPISODIC - m_nSkin = SKIN_REGULAR; + m_nSkin = (int)SKIN_REGULAR; m_flBlinkFastTime = gpGlobals->curtime + GetBombLifetime() - 1.0f; #endif//HL2_EPISODIC diff --git a/game/server/hl2/npc_barnacle.cpp b/game/server/hl2/npc_barnacle.cpp index 9086e6e1..fb237380 100644 --- a/game/server/hl2/npc_barnacle.cpp +++ b/game/server/hl2/npc_barnacle.cpp @@ -402,7 +402,7 @@ void CNPC_Barnacle::PlayerHasIlluminatedNPC( CBasePlayer *pPlayer, float flDot ) // Create a sound to scare friendly allies away from the base on the barnacle if( IsAlive() ) { - CSoundEnt::InsertSound( SOUND_MOVE_AWAY | SOUND_CONTEXT_ALLIES_ONLY, m_vecTip, 60.0f, FLASHLIGHT_NPC_CHECK_INTERVAL ); + CSoundEnt::InsertSound( SOUND_MOVE_AWAY | SOUND_CONTEXT_ALLIES_ONLY, m_vecTip, 60, FLASHLIGHT_NPC_CHECK_INTERVAL ); } } @@ -1989,7 +1989,7 @@ void CNPC_Barnacle::SpawnDeathGibs( void ) bool bDroppedAny = false; // Drop a random number of gibs - for ( int i=0; i < ARRAYSIZE(m_szGibNames); i++ ) + for ( size_t i=0; i < ARRAYSIZE(m_szGibNames); i++ ) { if ( random->RandomInt( 0, 1 ) ) { @@ -2296,7 +2296,7 @@ void CNPC_Barnacle::Precache() PrecacheModel("models/barnacle.mdl"); // Precache all gibs - for ( int i=0; i < ARRAYSIZE(m_szGibNames); i++ ) + for ( size_t i=0; i < ARRAYSIZE(m_szGibNames); i++ ) { PrecacheModel( m_szGibNames[i] ); } diff --git a/game/server/hl2/npc_basescanner.cpp b/game/server/hl2/npc_basescanner.cpp index 751e7106..676ac18a 100644 --- a/game/server/hl2/npc_basescanner.cpp +++ b/game/server/hl2/npc_basescanner.cpp @@ -748,7 +748,7 @@ void CNPC_BaseScanner::AttackDivebombCollide(float flInterval) if (vBounceVel.z < 0) { float floorZ = GetFloorZ(GetAbsOrigin()); - if (abs(GetAbsOrigin().z - floorZ) < 36) + if (fabs(GetAbsOrigin().z - floorZ) < 36.0f) { vBounceVel.z = 0; } @@ -813,7 +813,7 @@ void CNPC_BaseScanner::PlayFlySound(void) float speed = GetCurrentVelocity().Length(); float flVolume = 0.25f + (0.75f*(speed/GetMaxSpeed())); - int iPitch = min( 255, 80 + (20*(speed/GetMaxSpeed())) ); + int iPitch = (int)min( 255, 80 + (20*(speed/GetMaxSpeed())) ); //Update our pitch and volume based on our speed controller.SoundChangePitch( m_pEngineSound, iPitch, 0.1f ); @@ -1387,6 +1387,8 @@ float CNPC_BaseScanner::GetGoalDistance( void ) return goalDist; } break; + default: + break; } return 128.0f; diff --git a/game/server/hl2/npc_basescanner.h b/game/server/hl2/npc_basescanner.h index 5284c793..b78d1a38 100644 --- a/game/server/hl2/npc_basescanner.h +++ b/game/server/hl2/npc_basescanner.h @@ -100,7 +100,7 @@ public: void DeathSound( const CTakeDamageInfo &info ); void AlertSound( void ); void PainSound( const CTakeDamageInfo &info ); - virtual char *GetScannerSoundPrefix( void ) { return ""; } + virtual const char *GetScannerSoundPrefix( void ) { return ""; } void ScannerEmitSound( const char *pszSoundName ); int MeleeAttack1Conditions ( float flDot, float flDist ); @@ -124,7 +124,7 @@ public: void InputSetDistanceOverride( inputdata_t &inputdata ); protected: - virtual char *GetEngineSound( void ) { return NULL; } + virtual const char *GetEngineSound( void ) { return NULL; } void PlayFlySound(void); void SetBanking( float flInterval ); diff --git a/game/server/hl2/npc_blob.cpp b/game/server/hl2/npc_blob.cpp index 37176a49..355963a5 100644 --- a/game/server/hl2/npc_blob.cpp +++ b/game/server/hl2/npc_blob.cpp @@ -717,7 +717,7 @@ void CNPC_Blob::DoBlobBatchedAI( int iStart, int iEnd ) float flMySine; float flAmplitude = npc_blob_sin_amplitude.GetFloat(); float flMyAmplitude; - Vector vecRight; + Vector vecRight = Vector(0.0f, 0.0f, 0.0f); Vector vecForward; // Local fields for attract/repel diff --git a/game/server/hl2/npc_breen.cpp b/game/server/hl2/npc_breen.cpp index 738d2c82..a6a26553 100644 --- a/game/server/hl2/npc_breen.cpp +++ b/game/server/hl2/npc_breen.cpp @@ -69,7 +69,7 @@ void CNPC_Breen::HandleAnimEvent( animevent_t *pEvent ) //----------------------------------------------------------------------------- int CNPC_Breen::GetSoundInterests ( void ) { - return NULL; + return 0; } //----------------------------------------------------------------------------- @@ -79,7 +79,7 @@ void CNPC_Breen::Spawn() { // Breen is allowed to use multiple models, because he has a torso version for monitors. // He defaults to his normal model. - char *szModel = (char *)STRING( GetModelName() ); + const char *szModel = (char *)STRING( GetModelName() ); if (!szModel || !*szModel) { szModel = "models/breen.mdl"; diff --git a/game/server/hl2/npc_bullseye.cpp b/game/server/hl2/npc_bullseye.cpp index a30edc52..bd34e4e5 100644 --- a/game/server/hl2/npc_bullseye.cpp +++ b/game/server/hl2/npc_bullseye.cpp @@ -284,7 +284,7 @@ void CNPC_Bullseye::DecalTrace( trace_t *pOldTrace, char const *decalName ) //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- -void CNPC_Bullseye::ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ) +void CNPC_Bullseye::ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ) { // Get direction of original trace Vector vTraceDir = pTrace->endpos - pTrace->startpos; diff --git a/game/server/hl2/npc_bullseye.h b/game/server/hl2/npc_bullseye.h index 83954155..bff62807 100644 --- a/game/server/hl2/npc_bullseye.h +++ b/game/server/hl2/npc_bullseye.h @@ -34,7 +34,7 @@ public: Class_T Classify( void ); void Event_Killed( const CTakeDamageInfo &info ); void DecalTrace( trace_t *pTrace, char const *decalName ); - void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ); + void ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ); bool IsLightDamage( const CTakeDamageInfo &info ); void TraceAttack( const CTakeDamageInfo &info, const Vector &vecDir, trace_t *ptr ); int OnTakeDamage( const CTakeDamageInfo &info ); diff --git a/game/server/hl2/npc_bullsquid.h b/game/server/hl2/npc_bullsquid.h index 623aaff2..e7771b15 100644 --- a/game/server/hl2/npc_bullsquid.h +++ b/game/server/hl2/npc_bullsquid.h @@ -71,4 +71,4 @@ private: float m_nextSquidSoundTime; }; -#endif // NPC_BULLSQUID_H \ No newline at end of file +#endif // NPC_BULLSQUID_H diff --git a/game/server/hl2/npc_citizen17.cpp b/game/server/hl2/npc_citizen17.cpp index c37229a2..5c0a7e17 100644 --- a/game/server/hl2/npc_citizen17.cpp +++ b/game/server/hl2/npc_citizen17.cpp @@ -32,7 +32,7 @@ #include "ai_interactions.h" #include "ai_looktarget.h" #include "sceneentity.h" -#include "tier0/ICommandLine.h" +#include "tier0/icommandline.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" @@ -128,7 +128,7 @@ ConVar ai_citizen_debug_commander( "ai_citizen_debug_commander", "1" ); #define STATES_WITH_EXPRESSIONS 3 // Idle, Alert, Combat #define EXPRESSIONS_PER_STATE 1 -char *szExpressionTypes[CIT_EXP_LAST_TYPE] = +const char *szExpressionTypes[CIT_EXP_LAST_TYPE] = { "Unassigned", "Scared", @@ -138,28 +138,28 @@ char *szExpressionTypes[CIT_EXP_LAST_TYPE] = struct citizen_expression_list_t { - char *szExpressions[EXPRESSIONS_PER_STATE]; + const char *szExpressions[EXPRESSIONS_PER_STATE]; }; // Scared citizen_expression_list_t ScaredExpressions[STATES_WITH_EXPRESSIONS] = { - { "scenes/Expressions/citizen_scared_idle_01.vcd" }, - { "scenes/Expressions/citizen_scared_alert_01.vcd" }, - { "scenes/Expressions/citizen_scared_combat_01.vcd" }, + { {"scenes/Expressions/citizen_normal_idle_01.vcd"} }, + { {"scenes/Expressions/citizen_normal_alert_01.vcd"} }, + { {"scenes/Expressions/citizen_normal_combat_01.vcd"} }, }; // Normal citizen_expression_list_t NormalExpressions[STATES_WITH_EXPRESSIONS] = { - { "scenes/Expressions/citizen_normal_idle_01.vcd" }, - { "scenes/Expressions/citizen_normal_alert_01.vcd" }, - { "scenes/Expressions/citizen_normal_combat_01.vcd" }, + { {"scenes/Expressions/citizen_normal_idle_01.vcd"} }, + { {"scenes/Expressions/citizen_normal_alert_01.vcd"} }, + { {"scenes/Expressions/citizen_normal_combat_01.vcd"} }, }; // Angry citizen_expression_list_t AngryExpressions[STATES_WITH_EXPRESSIONS] = { - { "scenes/Expressions/citizen_angry_idle_01.vcd" }, - { "scenes/Expressions/citizen_angry_alert_01.vcd" }, - { "scenes/Expressions/citizen_angry_combat_01.vcd" }, + { {"scenes/Expressions/citizen_angry_idle_01.vcd"} }, + { {"scenes/Expressions/citizen_angry_alert_01.vcd"} }, + { {"scenes/Expressions/citizen_angry_combat_01.vcd"} }, }; //----------------------------------------------------------------------------- @@ -405,15 +405,15 @@ void CNPC_Citizen::Precache() for ( int i = 0; i < STATES_WITH_EXPRESSIONS; i++ ) { - for ( int j = 0; j < ARRAYSIZE(ScaredExpressions[i].szExpressions); j++ ) + for ( size_t j = 0; j < ARRAYSIZE(ScaredExpressions[i].szExpressions); j++ ) { PrecacheInstancedScene( ScaredExpressions[i].szExpressions[j] ); } - for ( int j = 0; j < ARRAYSIZE(NormalExpressions[i].szExpressions); j++ ) + for ( size_t j = 0; j < ARRAYSIZE(NormalExpressions[i].szExpressions); j++ ) { PrecacheInstancedScene( NormalExpressions[i].szExpressions[j] ); } - for ( int j = 0; j < ARRAYSIZE(AngryExpressions[i].szExpressions); j++ ) + for ( size_t j = 0; j < ARRAYSIZE(AngryExpressions[i].szExpressions); j++ ) { PrecacheInstancedScene( AngryExpressions[i].szExpressions[j] ); } @@ -610,7 +610,7 @@ void CNPC_Citizen::SelectModel() Q_strncpy(szMapName, STRING(gpGlobals->mapname), sizeof(szMapName) ); Q_strlower(szMapName); - for ( int i = 0; i < ARRAYSIZE(CitizenTypeMappings); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(CitizenTypeMappings); i++ ) { if ( Q_stristr( szMapName, CitizenTypeMappings[i].pszMapTag ) ) { @@ -644,7 +644,7 @@ void CNPC_Citizen::SelectModel() for ( i = 0; i < g_AI_Manager.NumAIs(); i++ ) { CNPC_Citizen *pCitizen = dynamic_cast(g_AI_Manager.AccessAIs()[i]); - if ( pCitizen && pCitizen != this && pCitizen->m_iHead >= 0 && pCitizen->m_iHead < ARRAYSIZE(g_ppszRandomHeads) ) + if ( pCitizen && pCitizen != this && pCitizen->m_iHead >= 0 && pCitizen->m_iHead < (int)ARRAYSIZE(g_ppszRandomHeads) ) { headCounts[pCitizen->m_iHead]++; } @@ -653,7 +653,7 @@ void CNPC_Citizen::SelectModel() // Find all candidates CUtlVectorFixed candidates; - for ( i = 0; i < ARRAYSIZE(g_ppszRandomHeads); i++ ) + for ( i = 0; i < (int)ARRAYSIZE(g_ppszRandomHeads); i++ ) { if ( !gender || g_ppszRandomHeads[i][0] == gender ) { @@ -697,7 +697,7 @@ void CNPC_Citizen::SelectModel() pszModelName++; if ( m_iHead == -1 ) { - for ( int i = 0; i < ARRAYSIZE(g_ppszRandomHeads); i++ ) + for ( int i = 0; i < (int)ARRAYSIZE(g_ppszRandomHeads); i++ ) { if ( Q_stricmp( g_ppszRandomHeads[i], pszModelName ) == 0 ) { @@ -1033,9 +1033,9 @@ void CNPC_Citizen::PrescheduleThink() float fade = ( 1.0 - timeInSquad / TIME_FADE ); - float r = rMin + ( rMax - rMin ) * fade; - float g = gMin + ( gMax - gMin ) * fade; - float b = bMin + ( bMax - bMin ) * fade; + int r = (int)(rMin + ( rMax - rMin ) * fade); + int g = (int)(gMin + ( gMax - gMin ) * fade); + int b = (int)(bMin + ( bMax - bMin ) * fade); // THIS IS A PLACEHOLDER UNTIL WE HAVE A REAL DESIGN & ART -- DO NOT REMOVE NDebugOverlay::Line( Vector( mins.x, GetAbsOrigin().y, GetAbsOrigin().z+1 ), Vector( maxs.x, GetAbsOrigin().y, GetAbsOrigin().z+1 ), r, g, b, false, .11 ); @@ -1868,7 +1868,7 @@ void CNPC_Citizen::HandleAnimEvent( animevent_t *pEvent ) // If I have a name, make my weapon match it with "_weapon" appended if ( GetEntityName() != NULL_STRING ) { - pWeapon->SetName( AllocPooledString(UTIL_VarArgs("%s_weapon", GetEntityName())) ); + pWeapon->SetName( AllocPooledString(UTIL_VarArgs("%s_weapon", STRING(GetEntityName()))) ); } Weapon_Equip( pWeapon ); } @@ -2122,7 +2122,7 @@ Vector CNPC_Citizen::GetActualShootPosition( const Vector &shootOrigin ) 128, -128 }; - for ( int i = 0; i < ARRAYSIZE(flShotOffsets); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(flShotOffsets); i++ ) { Vector vecTest = vecTarget + (vecRight * flShotOffsets[i]); // Add some random height to it @@ -3223,7 +3223,7 @@ int __cdecl SquadSortFunc( const SquadMemberInfo_t *pLeft, const SquadMemberInfo return 1; } - return ( pLeft->distSq - pRight->distSq ); + return (int)(pLeft->distSq - pRight->distSq); } CAI_BaseNPC *CNPC_Citizen::GetSquadCommandRepresentative() @@ -3465,9 +3465,9 @@ bool CNPC_Citizen::ShouldHealTarget( CBaseEntity *pTarget, bool bActiveUse ) int requiredHealth; if ( bTargetIsPlayer ) - requiredHealth = pTarget->GetMaxHealth() - sk_citizen_heal_player.GetFloat(); + requiredHealth = pTarget->GetMaxHealth() - sk_citizen_heal_player.GetInt(); else - requiredHealth = pTarget->GetMaxHealth() * sk_citizen_heal_player_min_pct.GetFloat(); + requiredHealth = pTarget->GetMaxHealth() * sk_citizen_heal_player_min_pct.GetInt(); if ( ( pTarget->m_iHealth <= requiredHealth ) && IRelationType( pTarget ) == D_LI ) return true; @@ -3559,9 +3559,9 @@ bool CNPC_Citizen::ShouldHealTossTarget( CBaseEntity *pTarget, bool bActiveUse ) int requiredHealth; if ( bTargetIsPlayer ) - requiredHealth = pTarget->GetMaxHealth() - sk_citizen_heal_player.GetFloat(); + requiredHealth = pTarget->GetMaxHealth() - sk_citizen_heal_player.GetInt(); else - requiredHealth = pTarget->GetMaxHealth() * sk_citizen_heal_player_min_pct.GetFloat(); + requiredHealth = pTarget->GetMaxHealth() * sk_citizen_heal_player_min_pct.GetInt(); if ( ( pTarget->m_iHealth <= requiredHealth ) && IRelationType( pTarget ) == D_LI ) return true; @@ -3621,7 +3621,8 @@ void CNPC_Citizen::Heal() { if ( pTarget->IsPlayer() && npc_citizen_medic_emit_sound.GetBool() ) { - EmitSound( CPASAttenuationFilter( pTarget, "HealthKit.Touch" ), pTarget->entindex(), "HealthKit.Touch" ); + CPASAttenuationFilter filter(pTarget, "HealthKit.Touch" ); + EmitSound( filter, pTarget->entindex(), "HealthKit.Touch" ); } pTarget->TakeHealth( healAmt, DMG_GENERIC ); @@ -4062,7 +4063,7 @@ CCitizenResponseSystem *GetCitizenResponse() return g_pCitizenResponseSystem; } -char *CitizenResponseConcepts[MAX_CITIZEN_RESPONSES] = +const char *CitizenResponseConcepts[MAX_CITIZEN_RESPONSES] = { "TLK_CITIZEN_RESPONSE_SHOT_GUNSHIP", "TLK_CITIZEN_RESPONSE_KILLED_GUNSHIP", diff --git a/game/server/hl2/npc_combine.cpp b/game/server/hl2/npc_combine.cpp index 46305fa5..113a7f97 100644 --- a/game/server/hl2/npc_combine.cpp +++ b/game/server/hl2/npc_combine.cpp @@ -1008,7 +1008,7 @@ void CNPC_Combine::StartTask( const Task_t *pTask ) info.SetAttacker( this ); info.SetInflictor( this ); info.SetDamage( m_iHealth ); - info.SetDamageType( pTask->flTaskData ); + info.SetDamageType( (int)pTask->flTaskData ); info.SetDamageForce( Vector( 0.1, 0.1, 0.1 ) ); TakeDamage( info ); @@ -1336,6 +1336,9 @@ Activity CNPC_Combine::NPC_TranslateActivity( Activity eNewActivity ) case ACT_RUN: eNewActivity = ACT_RUN_AIM; break; + + default: + break; } } @@ -1436,6 +1439,9 @@ void CNPC_Combine::AnnounceEnemyType( CBaseEntity *pEnemy ) case CLASS_BARNACLE: pSentenceName = "COMBINE_MONST_PARASITES"; break; + + default: + break; } m_Sentences.Speak( pSentenceName, SENTENCE_PRIORITY_HIGH ); @@ -1472,6 +1478,9 @@ void CNPC_Combine::AnnounceEnemyKill( CBaseEntity *pEnemy ) case CLASS_HEADCRAB: case CLASS_BARNACLE: break; + + default: + break; } m_Sentences.Speak( pSentenceName, SENTENCE_PRIORITY_HIGH ); @@ -1869,6 +1878,9 @@ int CNPC_Combine::SelectSchedule( void ) return nSched; } break; + + default: + break; } // no special cases here, call the base class diff --git a/game/server/hl2/npc_combinedropship.cpp b/game/server/hl2/npc_combinedropship.cpp index cff42bf8..6f54e2cf 100644 --- a/game/server/hl2/npc_combinedropship.cpp +++ b/game/server/hl2/npc_combinedropship.cpp @@ -663,7 +663,7 @@ int CCombineDropshipContainer::OnTakeDamage( const CTakeDamageInfo &info ) if ( ShouldTriggerDamageEffect( nPrevHealth, MAX_EXPLOSIONS ) ) { - ExplosionCreate( dmgInfo.GetDamagePosition(), vec3_angle, this, 1000, 500.0f, + ExplosionCreate( dmgInfo.GetDamagePosition(), vec3_angle, this, 1000, 500, SF_ENVEXPLOSION_NODAMAGE | SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0 ); UTIL_ScreenShake( dmgInfo.GetDamagePosition(), 25.0, 150.0, 1.0, 750.0f, SHAKE_START ); @@ -681,7 +681,7 @@ int CCombineDropshipContainer::OnTakeDamage( const CTakeDamageInfo &info ) void CCombineDropshipContainer::AddSmokeTrail( const Vector &vecPos ) { // Start this trail out with a bang! - ExplosionCreate( vecPos, vec3_angle, this, 1000, 500.0f, SF_ENVEXPLOSION_NODAMAGE | + ExplosionCreate( vecPos, vec3_angle, this, 1000, 500, SF_ENVEXPLOSION_NODAMAGE | SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0 ); UTIL_ScreenShake( vecPos, 25.0, 150.0, 1.0, 750.0f, SHAKE_START ); @@ -2326,6 +2326,9 @@ void CNPC_CombineDropship::PrescheduleThink( void ) DoRotorWash(); } break; + + default: + break; } if ( !(CAI_BaseNPC::m_nDebugBits & bits_debugDisableAI) ) @@ -2395,7 +2398,7 @@ void CNPC_CombineDropship::SpawnTroop( void ) QAngle vecDeployEndAngles; m_hContainer->GetAttachment( m_iAttachmentTroopDeploy, vecDeployEndPoint, vecDeployEndAngles ); vecDeployEndPoint = GetDropoffFinishPosition( vecDeployEndPoint, NULL, vecNPCMins, vecNPCMaxs ); - CSoundEnt::InsertSound( SOUND_DANGER, vecDeployEndPoint, 120.0f, 2.0f, this ); + CSoundEnt::InsertSound( SOUND_DANGER, vecDeployEndPoint, 120, 2.0f, this ); // Make sure there are no NPCs on the spot trace_t tr; @@ -2919,7 +2922,7 @@ bool CNPC_CombineDropship::FireCannonRound( void ) //------------------------------------------------------------------------------ void CNPC_CombineDropship::DoImpactEffect( trace_t &tr, int nDamageType ) { - CSoundEnt::InsertSound( SOUND_DANGER | SOUND_CONTEXT_REACT_TO_SOURCE, tr.endpos, 120.0f, 0.3f, this ); + CSoundEnt::InsertSound( SOUND_DANGER | SOUND_CONTEXT_REACT_TO_SOURCE, tr.endpos, 120, 0.3f, this ); BaseClass::DoImpactEffect( tr, nDamageType ); } diff --git a/game/server/hl2/npc_combinegunship.cpp b/game/server/hl2/npc_combinegunship.cpp index 1891236d..547b521f 100644 --- a/game/server/hl2/npc_combinegunship.cpp +++ b/game/server/hl2/npc_combinegunship.cpp @@ -1003,7 +1003,7 @@ void CNPC_CombineGunship::ManageWarningBeam( void ) g_pEffects->EnergySplash( tr2.endpos + vDir * 8, tr2.plane.normal, true ); } - g_pEffects->Sparks( tr2.endpos, 3.0f - (m_flGroundAttackTime-gpGlobals->curtime), 3.5f - (m_flGroundAttackTime-gpGlobals->curtime), &tr2.plane.normal ); + g_pEffects->Sparks( tr2.endpos, (int)(3.0f - (m_flGroundAttackTime-gpGlobals->curtime)), (int)(3.5f - (m_flGroundAttackTime-gpGlobals->curtime)), &tr2.plane.normal ); } } @@ -2007,7 +2007,7 @@ void CNPC_CombineGunship::BeginDestruct( void ) return; } - m_hRagdoll->SetName( AllocPooledString( UTIL_VarArgs("%s_ragdoll", GetEntityName()) ) ); + m_hRagdoll->SetName( AllocPooledString( UTIL_VarArgs("%s_ragdoll", STRING(GetEntityName())) ) ); // Tell the smoke trail to follow the ragdoll CreateSmokeTrail(); @@ -2948,16 +2948,16 @@ int CNPC_CombineGunship::OnTakeDamage_Alive( const CTakeDamageInfo &inputInfo ) int iHealthIncrements = sk_gunship_health_increments.GetInt(); if ( g_pGameRules->IsSkillLevel( SKILL_EASY ) ) { - iHealthIncrements = ceil( iHealthIncrements * 0.5 ); + iHealthIncrements = (int)ceil( iHealthIncrements * 0.5 ); } else if ( g_pGameRules->IsSkillLevel( SKILL_HARD ) ) { - iHealthIncrements = floor( iHealthIncrements * 1.5 ); + iHealthIncrements = (int)floor( iHealthIncrements * 1.5 ); } info.SetDamage( ( GetMaxHealth() / (float)iHealthIncrements ) + 1 ); // Find out which "stage" we're at in our health - int healthIncrement = iHealthIncrements - ( GetHealth() / (float)(( GetMaxHealth() / (float)iHealthIncrements )) ); + int healthIncrement = iHealthIncrements - ( GetHealth() / (( GetMaxHealth() / iHealthIncrements )) ); switch ( healthIncrement ) { case 1: diff --git a/game/server/hl2/npc_combines.cpp b/game/server/hl2/npc_combines.cpp index ee8dbe42..cfba6556 100644 --- a/game/server/hl2/npc_combines.cpp +++ b/game/server/hl2/npc_combines.cpp @@ -62,15 +62,15 @@ void CNPC_CombineS::Spawn( void ) if( IsElite() ) { // Stronger, tougher. - SetHealth( sk_combine_guard_health.GetFloat() ); - SetMaxHealth( sk_combine_guard_health.GetFloat() ); - SetKickDamage( sk_combine_guard_kick.GetFloat() ); + SetHealth( sk_combine_guard_health.GetInt() ); + SetMaxHealth( sk_combine_guard_health.GetInt() ); + SetKickDamage( sk_combine_guard_kick.GetInt() ); } else { - SetHealth( sk_combine_s_health.GetFloat() ); - SetMaxHealth( sk_combine_s_health.GetFloat() ); - SetKickDamage( sk_combine_s_kick.GetFloat() ); + SetHealth( sk_combine_s_health.GetInt() ); + SetMaxHealth( sk_combine_s_health.GetInt() ); + SetKickDamage( sk_combine_s_kick.GetInt() ); } CapabilitiesAdd( bits_CAP_ANIMATEDFACE ); @@ -390,7 +390,7 @@ bool CNPC_CombineS::IsHeavyDamage( const CTakeDamageInfo &info ) // Shotgun blasts where at least half the pellets hit me are heavy damage if ( info.GetDamageType() & DMG_BUCKSHOT ) { - int iHalfMax = sk_plr_dmg_buckshot.GetFloat() * sk_plr_num_shotgun_pellets.GetInt() * 0.5; + int iHalfMax = (int)(sk_plr_dmg_buckshot.GetFloat() * sk_plr_num_shotgun_pellets.GetInt() * 0.5); if ( info.GetDamage() >= iHalfMax ) return true; } @@ -428,4 +428,4 @@ BEGIN_DATADESC( CNPC_CombineS ) DEFINE_KEYFIELD( m_iUseMarch, FIELD_INTEGER, "usemarch" ), END_DATADESC() -#endif \ No newline at end of file +#endif diff --git a/game/server/hl2/npc_cranedriver.cpp b/game/server/hl2/npc_cranedriver.cpp index 24059c89..f4604eae 100644 --- a/game/server/hl2/npc_cranedriver.cpp +++ b/game/server/hl2/npc_cranedriver.cpp @@ -259,6 +259,9 @@ int CNPC_CraneDriver::SelectSchedule( void ) // We can't attack him, so if we don't have anything on the crane, grab something if ( m_hCrane->GetTotalMassOnCrane() == 0 ) return SCHED_CRANE_FIND_LARGE_OBJECT; + + default: + break; } return BaseClass::SelectSchedule(); diff --git a/game/server/hl2/npc_crow.cpp b/game/server/hl2/npc_crow.cpp index 56f09e5c..cc99878d 100644 --- a/game/server/hl2/npc_crow.cpp +++ b/game/server/hl2/npc_crow.cpp @@ -95,7 +95,7 @@ void CNPC_Crow::Spawn( void ) AddSpawnFlags( SF_NPC_FADE_CORPSE ); #endif // _XBOX - char *szModel = (char *)STRING( GetModelName() ); + const char *szModel = (char *)STRING( GetModelName() ); if (!szModel || !*szModel) { szModel = "models/crow.mdl"; @@ -1244,6 +1244,9 @@ int CNPC_Crow::SelectSchedule( void ) // TODO: need idle flying behaviors! } + + default: + break; } return BaseClass::SelectSchedule(); diff --git a/game/server/hl2/npc_eli.cpp b/game/server/hl2/npc_eli.cpp index edef31f2..5560050e 100644 --- a/game/server/hl2/npc_eli.cpp +++ b/game/server/hl2/npc_eli.cpp @@ -72,7 +72,7 @@ void CNPC_Eli::HandleAnimEvent( animevent_t *pEvent ) //----------------------------------------------------------------------------- int CNPC_Eli::GetSoundInterests ( void ) { - return NULL; + return 0; } //----------------------------------------------------------------------------- @@ -82,7 +82,7 @@ void CNPC_Eli::Spawn() { // Eli is allowed to use multiple models, because he appears in the pod. // He defaults to his normal model. - char *szModel = (char *)STRING( GetModelName() ); + const char *szModel = (char *)STRING( GetModelName() ); if (!szModel || !*szModel) { szModel = "models/eli.mdl"; diff --git a/game/server/hl2/npc_enemyfinder.cpp b/game/server/hl2/npc_enemyfinder.cpp index 7a34ba5b..d050702e 100644 --- a/game/server/hl2/npc_enemyfinder.cpp +++ b/game/server/hl2/npc_enemyfinder.cpp @@ -560,7 +560,7 @@ void CNPC_EnemyFinderCombineCannon::Spawn() } else { - DevMsg( this, "Enemyfinder %s can't snap to %s because it doesn't exist\n", GetDebugName(), m_iszSnapToEnt ); + DevMsg( this, "Enemyfinder %s can't snap to %s because it doesn't exist\n", GetDebugName(), STRING(m_iszSnapToEnt) ); } } } diff --git a/game/server/hl2/npc_fastzombie.cpp b/game/server/hl2/npc_fastzombie.cpp index 3aa7119b..4be10168 100644 --- a/game/server/hl2/npc_fastzombie.cpp +++ b/game/server/hl2/npc_fastzombie.cpp @@ -494,6 +494,9 @@ int CFastZombie::SelectSchedule ( void ) return SCHED_ZOMBIE_WANDER_MEDIUM; } break; + + default: + break; } return BaseClass::SelectSchedule(); @@ -547,7 +550,7 @@ void CFastZombie::PrescheduleThink( void ) int iPitch; m_flDistFactor = min( 1.0, 1 - flDistNoBBox / FASTZOMBIE_EXCITE_DIST ); - iPitch = FASTZOMBIE_MIN_PITCH + ( ( FASTZOMBIE_MAX_PITCH - FASTZOMBIE_MIN_PITCH ) * m_flDistFactor); + iPitch = (int)(FASTZOMBIE_MIN_PITCH + ( ( FASTZOMBIE_MAX_PITCH - FASTZOMBIE_MIN_PITCH ) * m_flDistFactor)); ENVELOPE_CONTROLLER.SoundChangePitch( m_pMoanSound, iPitch, FASTZOMBIE_SOUND_UPDATE_FREQ ); } @@ -1080,10 +1083,11 @@ void CFastZombie::HandleAnimEvent( animevent_t *pEvent ) if ( pEvent->event == AE_ZOMBIE_ATTACK_RIGHT ) { Vector right; + QAngle viewPunch(-3.0f, -5.0f, -3.0f); AngleVectors( GetLocalAngles(), NULL, &right, NULL ); right = right * -50; - ClawAttack( GetClawAttackRange(), 3, QAngle( -3, -5, -3 ), right, ZOMBIE_BLOOD_RIGHT_HAND ); + ClawAttack( GetClawAttackRange(), 3, viewPunch, right, ZOMBIE_BLOOD_RIGHT_HAND ); return; } @@ -1091,8 +1095,9 @@ void CFastZombie::HandleAnimEvent( animevent_t *pEvent ) { Vector right; AngleVectors( GetLocalAngles(), NULL, &right, NULL ); + QAngle viewPunch(-3.0f, -5.0f, -3.0f); right = right * 50; - ClawAttack( GetClawAttackRange(), 3, QAngle( -3, 5, -3 ), right, ZOMBIE_BLOOD_LEFT_HAND ); + ClawAttack( GetClawAttackRange(), 3, viewPunch, right, ZOMBIE_BLOOD_LEFT_HAND ); return; } @@ -1476,8 +1481,9 @@ void CFastZombie::LeapAttackTouch( CBaseEntity *pOther ) Vector forward; AngleVectors( GetLocalAngles(), &forward ); QAngle qaPunch( 15, random->RandomInt(-5,5), random->RandomInt(-5,5) ); - - ClawAttack( GetClawAttackRange(), 5, qaPunch, forward * 500, ZOMBIE_BLOOD_BOTH_HANDS ); + Vector velocityPunch = forward * 5; + + ClawAttack( GetClawAttackRange(), 5, qaPunch, velocityPunch, ZOMBIE_BLOOD_BOTH_HANDS ); SetTouch( NULL ); } diff --git a/game/server/hl2/npc_gman.cpp b/game/server/hl2/npc_gman.cpp index 75b64354..c48f8fb2 100644 --- a/game/server/hl2/npc_gman.cpp +++ b/game/server/hl2/npc_gman.cpp @@ -10,6 +10,7 @@ //----------------------------------------------------------------------------- // Generic NPC - purely for scripted sequence work. //----------------------------------------------------------------------------- + #include "cbase.h" #include "npcevent.h" #include "ai_basenpc.h" @@ -84,7 +85,7 @@ void CNPC_GMan::HandleAnimEvent( animevent_t *pEvent ) //----------------------------------------------------------------------------- int CNPC_GMan::GetSoundInterests ( void ) { - return NULL; + return 0; } diff --git a/game/server/hl2/npc_headcrab.cpp b/game/server/hl2/npc_headcrab.cpp index 849c0c9a..957db597 100644 --- a/game/server/hl2/npc_headcrab.cpp +++ b/game/server/hl2/npc_headcrab.cpp @@ -987,7 +987,7 @@ int CBaseHeadcrab::CalcDamageInfo( CTakeDamageInfo *pInfo ) { pInfo->Set( this, this, sk_headcrab_melee_dmg.GetFloat(), DMG_SLASH ); CalculateMeleeDamageForce( pInfo, GetAbsVelocity(), GetAbsOrigin() ); - return pInfo->GetDamage(); + return (int)pInfo->GetDamage(); } //----------------------------------------------------------------------------- @@ -1869,7 +1869,7 @@ int CBaseHeadcrab::SelectSchedule( void ) return SCHED_HEADCRAB_UNHIDE; } - return m_bBurrowed ? SCHED_HEADCRAB_BURROW_WAIT : SCHED_IDLE_STAND; + return m_bBurrowed ? (int)SCHED_HEADCRAB_BURROW_WAIT : (int)SCHED_IDLE_STAND; } if ( GetSpawnFlags() & SF_HEADCRAB_START_HANGING && IsHangingFromCeiling() == false ) @@ -1943,6 +1943,9 @@ int CBaseHeadcrab::SelectSchedule( void ) } break; } + + default: + break; } if ( HasCondition( COND_FLOATING_OFF_GROUND ) ) diff --git a/game/server/hl2/npc_hydra.cpp b/game/server/hl2/npc_hydra.cpp index 22f8be71..6249a813 100644 --- a/game/server/hl2/npc_hydra.cpp +++ b/game/server/hl2/npc_hydra.cpp @@ -265,6 +265,8 @@ void CNPC_Hydra::Spawn() // init bones HydraBone bone; + bone.flActualLength = 0.0f; + bone.vecGoalPos = Vector(0.0f, 0.0f, 0.0f); bone.vecPos = GetAbsOrigin( ) - m_vecOutward * HYDRA_INWARD_BIAS; m_body.AddToTail( bone ); bone.vecPos = m_vecChain[1]; @@ -955,7 +957,7 @@ bool CNPC_Hydra::ContractBetweenStuckSegments( ) } } } - if (iShortest = -1) + if (iShortest == -1) return false; // FIXME: check for tunneling @@ -1030,6 +1032,7 @@ bool CNPC_Hydra::AddNodeBefore( int iNode ) bone.vecPos = (m_body[iNode].vecPos + m_body[iNode-1].vecPos) * 0.5; bone.vecDelta = (m_body[iNode].vecDelta + m_body[iNode-1].vecDelta) * 0.5; + bone.vecGoalPos = Vector(0.0f, 0.0f, 0.0f); /* // FIXME: can't do this, may be embedded in the world @@ -1078,7 +1081,7 @@ bool CNPC_Hydra::GrowFromMostStretched( ) int iLongest = iNode; float dist = m_idealSegmentLength * 0.5; - for (iNode; iNode < m_body.Count() - 1; iNode++) + for (; iNode < m_body.Count() - 1; iNode++) { if (m_body[iNode].flActualLength > dist) { @@ -1200,7 +1203,10 @@ int CNPC_Hydra::SelectSchedule () } return SCHED_HYDRA_STAB; } - break; + break; + + default: + break; } return BaseClass::SelectSchedule(); @@ -1700,7 +1706,7 @@ IPhysicsConstraint *CHydraImpale::CreateConstraint( CNPC_Hydra *pHydra, IPhysics m_pConstraint->SetGameData( (void *)this ); } - SetThink( ImpaleThink ); + SetThink( &CHydraImpale::ImpaleThink ); SetNextThink( gpGlobals->curtime ); return m_pConstraint; } diff --git a/game/server/hl2/npc_hydra.h b/game/server/hl2/npc_hydra.h index ca5971ef..0bd54951 100644 --- a/game/server/hl2/npc_hydra.h +++ b/game/server/hl2/npc_hydra.h @@ -12,7 +12,7 @@ #pragma once #endif -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "soundenvelope.h" class CNPC_Hydra; diff --git a/game/server/hl2/npc_kleiner.cpp b/game/server/hl2/npc_kleiner.cpp index db790d54..5dfd36b1 100644 --- a/game/server/hl2/npc_kleiner.cpp +++ b/game/server/hl2/npc_kleiner.cpp @@ -70,7 +70,7 @@ void CNPC_Kleiner::HandleAnimEvent( animevent_t *pEvent ) //----------------------------------------------------------------------------- int CNPC_Kleiner::GetSoundInterests ( void ) { - return NULL; + return 0; } //----------------------------------------------------------------------------- @@ -79,7 +79,7 @@ int CNPC_Kleiner::GetSoundInterests ( void ) void CNPC_Kleiner::Spawn() { // Allow custom model usage (mostly for monitors) - char *szModel = (char *)STRING( GetModelName() ); + const char *szModel = (char *)STRING( GetModelName() ); if (!szModel || !*szModel) { szModel = "models/kleiner.mdl"; diff --git a/game/server/hl2/npc_launcher.cpp b/game/server/hl2/npc_launcher.cpp index c247c5e0..7e9498e9 100644 --- a/game/server/hl2/npc_launcher.cpp +++ b/game/server/hl2/npc_launcher.cpp @@ -376,7 +376,7 @@ void CNPC_Launcher::LauncherThink( void ) // Otherwise look for enemy to fire at else { - GetSenses()->Look(m_flMaxAttackDist); + GetSenses()->Look((int)m_flMaxAttackDist); CBaseEntity* pBestEnemy = BestEnemy(); if (pBestEnemy) diff --git a/game/server/hl2/npc_manhack.cpp b/game/server/hl2/npc_manhack.cpp index 7d45ce74..958146c7 100644 --- a/game/server/hl2/npc_manhack.cpp +++ b/game/server/hl2/npc_manhack.cpp @@ -1590,7 +1590,7 @@ void CNPC_Manhack::Bump( CBaseEntity *pHitEntity, float flInterval, trace_t &tr if (moveVec.z < 0) { float floorZ = GetFloorZ(GetAbsOrigin()); - if (abs(GetAbsOrigin().z - floorZ) < 36) + if (fabs(GetAbsOrigin().z - floorZ) < 36.0f) { moveVec.z = 0; } @@ -1812,11 +1812,11 @@ void CNPC_Manhack::PlayFlySound(void) float flDistFactor; flDistFactor = min( 1.0, 1 - flEnemyDist / MANHACK_PITCH_DIST1 ); - iPitch1 = MANHACK_MIN_PITCH1 + ( ( MANHACK_MAX_PITCH1 - MANHACK_MIN_PITCH1 ) * flDistFactor); + iPitch1 = (int)(MANHACK_MIN_PITCH1 + ( ( MANHACK_MAX_PITCH1 - MANHACK_MIN_PITCH1 ) * flDistFactor)); // NOTE: MANHACK_PITCH_DIST2 must be < MANHACK_PITCH_DIST1 flDistFactor = min( 1.0, 1 - flEnemyDist / MANHACK_PITCH_DIST2 ); - iPitch2 = MANHACK_MIN_PITCH2 + ( ( MANHACK_MAX_PITCH2 - MANHACK_MIN_PITCH2 ) * flDistFactor); + iPitch2 = (int)(MANHACK_MIN_PITCH2 + ( ( MANHACK_MAX_PITCH2 - MANHACK_MIN_PITCH2 ) * flDistFactor)); m_nEnginePitch1 = iPitch1; m_flEnginePitch1Time = gpGlobals->curtime + 0.1f; diff --git a/game/server/hl2/npc_metropolice.cpp b/game/server/hl2/npc_metropolice.cpp index 4a741771..06c2ef89 100644 --- a/game/server/hl2/npc_metropolice.cpp +++ b/game/server/hl2/npc_metropolice.cpp @@ -995,6 +995,9 @@ void CNPC_MetroPolice::AnnounceEnemyType( CBaseEntity *pEnemy ) case CLASS_BARNACLE: pSentenceName = "METROPOLICE_MONST_PARASITES"; break; + + default: + break; } m_Sentences.Speak( pSentenceName, SENTENCE_PRIORITY_HIGH ); @@ -1050,6 +1053,9 @@ void CNPC_MetroPolice::AnnounceEnemyKill( CBaseEntity *pEnemy ) case CLASS_BARNACLE: pSentenceName = "METROPOLICE_KILL_PARASITES"; break; + + default: + break; } m_Sentences.Speak( pSentenceName, SENTENCE_PRIORITY_HIGH ); @@ -1210,8 +1216,8 @@ void CNPC_MetroPolice::OnUpdateShotRegulator( ) float factor = (dist - MIN_PISTOL_MODIFY_DIST) / (MAX_PISTOL_MODIFY_DIST - MIN_PISTOL_MODIFY_DIST); - int nMinBurst = MIN_MIN_PISTOL_BURST + ( MAX_MIN_PISTOL_BURST - MIN_MIN_PISTOL_BURST ) * (1.0 - factor); - int nMaxBurst = MIN_MAX_PISTOL_BURST + ( MAX_MAX_PISTOL_BURST - MIN_MAX_PISTOL_BURST ) * (1.0 - factor); + int nMinBurst = (int)(MIN_MIN_PISTOL_BURST + ( MAX_MIN_PISTOL_BURST - MIN_MIN_PISTOL_BURST ) * (1.0 - factor)); + int nMaxBurst = (int)(MIN_MAX_PISTOL_BURST + ( MAX_MAX_PISTOL_BURST - MIN_MAX_PISTOL_BURST ) * (1.0 - factor)); float flMinRestInterval = MIN_MIN_PISTOL_REST_INTERVAL + ( MAX_MIN_PISTOL_REST_INTERVAL - MIN_MIN_PISTOL_REST_INTERVAL ) * factor; float flMaxRestInterval = MIN_MAX_PISTOL_REST_INTERVAL + ( MAX_MAX_PISTOL_REST_INTERVAL - MIN_MAX_PISTOL_REST_INTERVAL ) * factor; @@ -1675,7 +1681,7 @@ float CNPC_MetroPolice::AimBurstAtReactionTime( float flReactionTime, float flDi #define AIM_AT_SHOT_SPEED_COUNT 6 #define AIM_AT_SHOT_DIST_COUNT 6 -static int s_pShotCountFraction[AIM_AT_TIME_DIST_COUNT][AIM_AT_TIME_SPEED_COUNT] = +static float s_pShotCountFraction[AIM_AT_TIME_DIST_COUNT][AIM_AT_TIME_SPEED_COUNT] = { { 3.0f, 3.0f, 2.5f, 1.5f, 1.0f, 0.0f }, { 3.0f, 3.0f, 2.5f, 1.25f, 0.5f, 0.0f }, @@ -1706,7 +1712,7 @@ int CNPC_MetroPolice::AimBurstAtSetupHitCount( float flDistToTarget, float flCur flShotFactor += s_pShotCountFraction[nv][nu+1] * fu * (1.0f - fv); flShotFactor += s_pShotCountFraction[nv+1][nu+1] * fu * fv; - int nExtraShots = nHitCount * flShotFactor; + int nExtraShots = (int)(nHitCount * flShotFactor); m_nMaxBurstHits += random->RandomInt( nExtraShots, nExtraShots + 1 ); return nExtraShots; } @@ -4181,6 +4187,9 @@ int CNPC_MetroPolice::SelectSchedule( void ) return nResult; } break; + + default: + break; } } @@ -4367,7 +4376,7 @@ void CNPC_MetroPolice::StartTask( const Task_t *pTask ) { case TASK_METROPOLICE_WAIT_FOR_SENTENCE: { - if ( FOkToMakeSound( pTask->flTaskData ) ) + if ( FOkToMakeSound( (int)pTask->flTaskData ) ) { TaskComplete(); } @@ -4441,7 +4450,7 @@ void CNPC_MetroPolice::StartTask( const Task_t *pTask ) info.SetAttacker( this ); info.SetInflictor( this ); info.SetDamage( m_iHealth ); - info.SetDamageType( pTask->flTaskData ); + info.SetDamageType( (int)pTask->flTaskData ); info.SetDamageForce( Vector( 0.1, 0.1, 0.1 ) ); TakeDamage( info ); @@ -4678,7 +4687,7 @@ void CNPC_MetroPolice::RunTask( const Task_t *pTask ) case TASK_METROPOLICE_WAIT_FOR_SENTENCE: { - if ( FOkToMakeSound( pTask->flTaskData ) ) + if ( FOkToMakeSound( (int)pTask->flTaskData ) ) { TaskComplete(); } @@ -4865,7 +4874,7 @@ int CNPC_MetroPolice::OnTakeDamage_Alive( const CTakeDamageInfo &inputInfo ) { // Keep track of recent damage by my attacker. If it seems like we're // being killed, consider running off and hiding. - m_nRecentDamage += info.GetDamage(); + m_nRecentDamage = (int)(m_nRecentDamage + info.GetDamage()); m_flRecentDamageTime = gpGlobals->curtime; } diff --git a/game/server/hl2/npc_mossman.cpp b/game/server/hl2/npc_mossman.cpp index 3bfcb8bd..5ea6a448 100644 --- a/game/server/hl2/npc_mossman.cpp +++ b/game/server/hl2/npc_mossman.cpp @@ -9,6 +9,7 @@ //----------------------------------------------------------------------------- // Generic NPC - purely for scripted sequence work. //----------------------------------------------------------------------------- + #include "cbase.h" #include "npcevent.h" #include "ai_basenpc.h" @@ -82,7 +83,7 @@ void CNPC_Mossman::HandleAnimEvent( animevent_t *pEvent ) //----------------------------------------------------------------------------- int CNPC_Mossman::GetSoundInterests ( void ) { - return NULL; + return 0; } //----------------------------------------------------------------------------- diff --git a/game/server/hl2/npc_playercompanion.cpp b/game/server/hl2/npc_playercompanion.cpp index cd1b0e3a..0c7a6122 100644 --- a/game/server/hl2/npc_playercompanion.cpp +++ b/game/server/hl2/npc_playercompanion.cpp @@ -1833,7 +1833,7 @@ void CNPC_PlayerCompanion::SetAimTarget( CBaseEntity *pTarget ) //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- -void CNPC_PlayerCompanion::StopAiming( char *pszReason ) +void CNPC_PlayerCompanion::StopAiming( const char *pszReason ) { #if 0 if( pszReason ) diff --git a/game/server/hl2/npc_playercompanion.h b/game/server/hl2/npc_playercompanion.h index 3f88e816..6524e1a4 100644 --- a/game/server/hl2/npc_playercompanion.h +++ b/game/server/hl2/npc_playercompanion.h @@ -227,7 +227,7 @@ public: //--------------------------------- CBaseEntity *GetAimTarget() { return m_hAimTarget; } void SetAimTarget( CBaseEntity *pTarget ); - void StopAiming( char *pszReason = NULL ); + void StopAiming( const char *pszReason = NULL ); bool FindNewAimTarget(); void OnNewLookTarget(); bool ShouldBeAiming(); diff --git a/game/server/hl2/npc_rollermine.cpp b/game/server/hl2/npc_rollermine.cpp index 85378fe2..728b41bb 100644 --- a/game/server/hl2/npc_rollermine.cpp +++ b/game/server/hl2/npc_rollermine.cpp @@ -755,6 +755,9 @@ NPC_STATE CNPC_RollerMine::SelectIdealState( void ) return NPC_STATE_ALERT; } } + + default: + break; } return BaseClass::SelectIdealState(); @@ -842,12 +845,12 @@ void CNPC_RollerMine::RunAI() if( m_bHackedByAlyx ) { // Scare combine - CSoundEnt::InsertSound( (SOUND_DANGER | SOUND_CONTEXT_COMBINE_ONLY | SOUND_CONTEXT_REACT_TO_SOURCE | SOUND_CONTEXT_DANGER_APPROACH), WorldSpaceCenter() + Vector( 0, 0, 32 ) + vecVelocity * 0.5f, 120.0f, 0.2f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); + CSoundEnt::InsertSound( (SOUND_DANGER | SOUND_CONTEXT_COMBINE_ONLY | SOUND_CONTEXT_REACT_TO_SOURCE | SOUND_CONTEXT_DANGER_APPROACH), WorldSpaceCenter() + Vector( 0, 0, 32 ) + vecVelocity * 0.5f, 120, 0.2f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); } else { // Scare player allies - CSoundEnt::InsertSound( (SOUND_DANGER | SOUND_CONTEXT_EXCLUDE_COMBINE | SOUND_CONTEXT_REACT_TO_SOURCE | SOUND_CONTEXT_DANGER_APPROACH), WorldSpaceCenter() + Vector( 0, 0, 32 ) + vecVelocity * 0.5f, 120.0f, 0.2f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); + CSoundEnt::InsertSound( (SOUND_DANGER | SOUND_CONTEXT_EXCLUDE_COMBINE | SOUND_CONTEXT_REACT_TO_SOURCE | SOUND_CONTEXT_DANGER_APPROACH), WorldSpaceCenter() + Vector( 0, 0, 32 ) + vecVelocity * 0.5f, 120, 0.2f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); } } @@ -2535,7 +2538,7 @@ void CNPC_RollerMine::Explode( void ) } else { - ExplosionCreate( WorldSpaceCenter(), GetLocalAngles(), this, expDamage, 128, true ); + ExplosionCreate( WorldSpaceCenter(), GetLocalAngles(), this, (int)expDamage, 128, true ); } CTakeDamageInfo info( this, this, 1, DMG_GENERIC ); @@ -2642,6 +2645,9 @@ void CNPC_RollerMine::UpdateRollingSound() case ROLL_SOUND_OFF: // no sound break; + + default: + break; } // start the new sound playing if necessary diff --git a/game/server/hl2/npc_scanner.cpp b/game/server/hl2/npc_scanner.cpp index bbf35616..52a64b77 100644 --- a/game/server/hl2/npc_scanner.cpp +++ b/game/server/hl2/npc_scanner.cpp @@ -498,7 +498,7 @@ void CNPC_CScanner::HandleAnimEvent( animevent_t *pEvent ) //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- -char *CNPC_CScanner::GetEngineSound( void ) +const char *CNPC_CScanner::GetEngineSound( void ) { if( m_bIsClawScanner ) return "NPC_SScanner.FlyLoop"; @@ -1834,12 +1834,12 @@ void CNPC_CScanner::SpotlightUpdate(void) } else if (m_flSpotlightCurLength > m_flSpotlightMaxLength) { - m_hSpotlightTarget->SetRenderColorA( (1-((m_flSpotlightCurLength-m_flSpotlightMaxLength)/m_flSpotlightMaxLength)) ); + m_hSpotlightTarget->SetRenderColorA( (byte)((1-((m_flSpotlightCurLength-m_flSpotlightMaxLength)/m_flSpotlightMaxLength))) ); m_hSpotlight->SetFadeLength(m_flSpotlightMaxLength); } else { - m_hSpotlightTarget->SetRenderColorA( 1.0 ); + m_hSpotlightTarget->SetRenderColorA( 1 ); m_hSpotlight->SetFadeLength(m_flSpotlightCurLength); } @@ -1988,7 +1988,7 @@ void CNPC_CScanner::BlindFlashTarget( CBaseEntity *pTarget ) if ( tr.startsolid == false && tr.fraction == 1.0) { - color32 white = { 255, 255, 255, SCANNER_FLASH_MAX_VALUE * dotPr }; + color32 white = { 255, 255, 255, (byte)(SCANNER_FLASH_MAX_VALUE * dotPr) }; if ( ( g_pMaterialSystemHardwareConfig != NULL ) && ( g_pMaterialSystemHardwareConfig->GetHDRType() != HDR_TYPE_NONE ) ) { @@ -2261,7 +2261,7 @@ void CNPC_CScanner::StartTask( const Task_t *pTask ) //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- -char *CNPC_CScanner::GetScannerSoundPrefix( void ) +const char *CNPC_CScanner::GetScannerSoundPrefix( void ) { if( m_bIsClawScanner ) return "NPC_SScanner"; @@ -2605,6 +2605,9 @@ float CNPC_CScanner::GetGoalDistance( void ) case SCANNER_FLY_FOLLOW: return ( SCANNER_FOLLOW_DIST ); break; + + default: + break; } return BaseClass::GetGoalDistance(); diff --git a/game/server/hl2/npc_scanner.h b/game/server/hl2/npc_scanner.h index b888025d..f733dc3f 100644 --- a/game/server/hl2/npc_scanner.h +++ b/game/server/hl2/npc_scanner.h @@ -48,7 +48,7 @@ public: void Precache(void); void RunTask( const Task_t *pTask ); int SelectSchedule(void); - virtual char *GetScannerSoundPrefix( void ); + virtual const char *GetScannerSoundPrefix( void ); void Spawn(void); void Activate(); void StartTask( const Task_t *pTask ); @@ -73,7 +73,7 @@ public: void Event_Killed( const CTakeDamageInfo &info ); - char *GetEngineSound( void ); + const char *GetEngineSound( void ); virtual float MinGroundDist(void); virtual void AdjustScannerVelocity( void ); diff --git a/game/server/hl2/npc_spotlight.cpp b/game/server/hl2/npc_spotlight.cpp index 75f08101..f3388094 100644 --- a/game/server/hl2/npc_spotlight.cpp +++ b/game/server/hl2/npc_spotlight.cpp @@ -6,13 +6,13 @@ //=============================================================================// #include "cbase.h" -#include "AI_BaseNPC.h" -#include "AI_Default.h" -#include "AI_Senses.h" +#include "ai_basenpc.h" +#include "ai_default.h" +#include "ai_senses.h" #include "ai_node.h" // for hint defintions #include "ai_network.h" -#include "AI_Hint.h" -#include "AI_Squad.h" +#include "ai_hint.h" +#include "ai_squad.h" #include "beam_shared.h" #include "globalstate.h" #include "soundent.h" @@ -445,7 +445,7 @@ CBaseEntity* CNPC_Spotlight::BestInspectTarget(void) { flSearchDist = SPOTLIGHT_ENTITY_SEARCH_DIST; } - for ( CEntitySphereQuery sphere( vSearchOrigin, SPOTLIGHT_ENTITY_SEARCH_DIST ); pEntity = sphere.GetCurrentEntity(); sphere.NextEntity() ) + for ( CEntitySphereQuery sphere( vSearchOrigin, SPOTLIGHT_ENTITY_SEARCH_DIST ); (pEntity = sphere.GetCurrentEntity()) != NULL; sphere.NextEntity() ) { if (pEntity->GetFlags() & (FL_CLIENT|FL_NPC)) { @@ -1344,12 +1344,12 @@ void CNPC_Spotlight::SpotlightUpdate(void) } else if (m_flSpotlightCurLength > m_flSpotlightMaxLength) { - m_pSpotlightTarget->SetRenderColorA( (1-((m_flSpotlightCurLength-m_flSpotlightMaxLength)/m_flSpotlightMaxLength)) ); + m_pSpotlightTarget->SetRenderColorA( (byte)((1-((m_flSpotlightCurLength-m_flSpotlightMaxLength)/m_flSpotlightMaxLength))) ); m_pSpotlight->SetFadeLength(m_flSpotlightMaxLength); } else { - m_pSpotlightTarget->SetRenderColorA( 1.0 ); + m_pSpotlightTarget->SetRenderColorA( 1 ); m_pSpotlight->SetFadeLength(m_flSpotlightCurLength); } @@ -1468,7 +1468,7 @@ void CNPC_Spotlight::Spawn(void) else { NPCInit(); - SetThink(CallNPCThink); + SetThink(&CAI_BaseNPC::CallNPCThink); } AddEffects( EF_NODRAW ); diff --git a/game/server/hl2/npc_stalker.cpp b/game/server/hl2/npc_stalker.cpp index cd368a8f..6e65c31f 100644 --- a/game/server/hl2/npc_stalker.cpp +++ b/game/server/hl2/npc_stalker.cpp @@ -757,6 +757,9 @@ int CNPC_Stalker::SelectSchedule( void ) break; } + + default: + break; } // no special cases here, call the base class @@ -1261,7 +1264,7 @@ void CNPC_Stalker::HandleAnimEvent( animevent_t *pEvent ) { CBaseEntity *pHurt; - pHurt = CheckTraceHullAttack( 32, Vector(-16,-16,-16), Vector(16,16,16), sk_stalker_melee_dmg.GetFloat(), DMG_SLASH ); + pHurt = CheckTraceHullAttack( 32, Vector(-16,-16,-16), Vector(16,16,16), sk_stalker_melee_dmg.GetInt(), DMG_SLASH ); if ( pHurt ) { diff --git a/game/server/hl2/npc_strider.cpp b/game/server/hl2/npc_strider.cpp index 60c54c29..439444d5 100644 --- a/game/server/hl2/npc_strider.cpp +++ b/game/server/hl2/npc_strider.cpp @@ -3102,15 +3102,15 @@ int CNPC_Strider::OnTakeDamage_Alive( const CTakeDamageInfo &info ) { if( g_pGameRules->IsSkillLevel(SKILL_EASY) ) { - damage = GetMaxHealth() / sk_strider_num_missiles1.GetFloat(); + damage = GetMaxHealth() / sk_strider_num_missiles1.GetInt(); } else if( g_pGameRules->IsSkillLevel(SKILL_HARD) ) { - damage = GetMaxHealth() / sk_strider_num_missiles3.GetFloat(); + damage = GetMaxHealth() / sk_strider_num_missiles3.GetInt(); } else // Medium, or unspecified { - damage = GetMaxHealth() / sk_strider_num_missiles2.GetFloat(); + damage = GetMaxHealth() / sk_strider_num_missiles2.GetInt(); } } @@ -3213,7 +3213,7 @@ int CNPC_Strider::TakeDamageFromCombineBall( const CTakeDamageInfo &info ) m_iHealth -= damage; - return damage; + return (int)damage; } //--------------------------------------------------------- diff --git a/game/server/hl2/npc_turret.cpp b/game/server/hl2/npc_turret.cpp index 52bdcf97..7cc2b162 100644 --- a/game/server/hl2/npc_turret.cpp +++ b/game/server/hl2/npc_turret.cpp @@ -246,8 +246,8 @@ void CBaseTurret::Spawn() Precache( ); SetNextThink( gpGlobals->curtime + 1 ); SetMoveType( MOVETYPE_FLY ); - m_nSequence = 0; - m_flCycle = 0; + SetSequence(0); + SetCycle(0); SetSolid( SOLID_SLIDEBOX ); m_takedamage = DAMAGE_YES; AddFlag( FL_AIMTARGET ); @@ -298,16 +298,16 @@ void CBaseTurret::Initialize(void) if (m_iBaseTurnRate == 0) m_iBaseTurnRate = TURRET_TURNRATE; if (m_flMaxWait == 0) m_flMaxWait = TURRET_MAXWAIT; - m_vecGoalAngles = GetAngles(); + m_vecGoalAngles = GetAbsAngles(); if (m_iAutoStart) { m_flLastSight = gpGlobals->curtime + m_flMaxWait; - SetThink(AutoSearchThink); + SetThink(&CBaseTurret::AutoSearchThink); SetNextThink( gpGlobals->curtime + .1 ); } else - SetThink(SUB_DoNothing); + SetThink(&CBaseEntity::SUB_DoNothing); } @@ -325,7 +325,7 @@ void CBaseTurret::InputToggle( inputdata_t &inputdata ) SetNextThink( gpGlobals->curtime + 0.1f ); m_iAutoStart = FALSE;// switching off a turret disables autostart //!!!! this should spin down first!!BUGBUG - SetThink(Retire); + SetThink(&CBaseTurret::Retire); } else { @@ -337,7 +337,7 @@ void CBaseTurret::InputToggle( inputdata_t &inputdata ) m_iAutoStart = TRUE; } - SetThink(Deploy); + SetThink(&CBaseTurret::Deploy); } } @@ -398,7 +398,7 @@ void CBaseTurret::ActiveThink(void) { SetEnemy( NULL ); m_flLastSight = gpGlobals->curtime + m_flMaxWait; - SetThink(SearchThink); + SetThink(&CBaseTurret::SearchThink); return; } @@ -415,7 +415,7 @@ void CBaseTurret::ActiveThink(void) { SetEnemy( NULL ); m_flLastSight = gpGlobals->curtime + m_flMaxWait; - SetThink(SearchThink); + SetThink(&CBaseTurret::SearchThink); return; } } @@ -457,7 +457,7 @@ void CBaseTurret::ActiveThink(void) ClearEnemyMemory(); SetEnemy( NULL ); m_flLastSight = gpGlobals->curtime + m_flMaxWait; - SetThink(SearchThink); + SetThink(&CBaseTurret::SearchThink); return; } } @@ -490,7 +490,7 @@ void CBaseTurret::ActiveThink(void) // fire the gun if (fAttack || m_fBeserk) { - m_Activity = ACT_RESET; + SetActivity(ACT_RESET); SetActivity( (Activity)ACT_TURRET_FIRE ); Shoot(vecMuzzle, vecMuzzleDir ); } @@ -529,7 +529,7 @@ void CBaseTurret::Deploy(void) SetNextThink( gpGlobals->curtime + 0.1f ); StudioFrameAdvance( ); - if ( m_Activity != ACT_TURRET_OPEN ) + if ( GetActivity() != ACT_TURRET_OPEN ) { m_iOn = 1; SetActivity( (Activity)ACT_TURRET_OPEN ); @@ -554,7 +554,7 @@ void CBaseTurret::Deploy(void) SetActivity( (Activity)ACT_TURRET_OPEN_IDLE ); m_flPlaybackRate = 0; - SetThink(SearchThink); + SetThink(&CBaseTurret::SearchThink); } m_flLastSight = gpGlobals->curtime + m_flMaxWait; @@ -563,7 +563,7 @@ void CBaseTurret::Deploy(void) void CBaseTurret::Retire(void) { // make the turret level - m_vecGoalAngles = GetAngles( ); + m_vecGoalAngles = GetAbsAngles( ); SetNextThink( gpGlobals->curtime + 0.1f ); @@ -571,7 +571,7 @@ void CBaseTurret::Retire(void) EyeOff( ); - if ( m_Activity != ACT_TURRET_CLOSE ) + if ( GetActivity() != ACT_TURRET_CLOSE ) { SetActivity( (Activity)ACT_TURRET_OPEN_IDLE ); @@ -602,12 +602,12 @@ void CBaseTurret::Retire(void) if (m_iAutoStart) { - SetThink(AutoSearchThink); + SetThink(&CBaseTurret::AutoSearchThink); SetNextThink( gpGlobals->curtime + .1 ); } else { - SetThink(SUB_DoNothing); + SetThink(&CBaseEntity::SUB_DoNothing); } } } @@ -646,7 +646,7 @@ void CBaseTurret::SearchThink(void) if (GetEnemy() != NULL) { m_flLastSight = 0; - SetThink(ActiveThink); + SetThink(&CBaseTurret::ActiveThink); } else { @@ -655,7 +655,7 @@ void CBaseTurret::SearchThink(void) { //Before we retrace, make sure that we are spun down. m_flLastSight = 0; - SetThink(Retire); + SetThink(&CBaseTurret::Retire); } // generic hunt for new victims @@ -696,7 +696,7 @@ void CBaseTurret::AutoSearchThink(void) if (GetEnemy() != NULL) { - SetThink(Deploy); + SetThink(&CBaseTurret::Deploy); EmitSound( "NPC_Turret.Alert" ); } } @@ -792,7 +792,7 @@ int CBaseTurret::OnTakeDamage( const CTakeDamageInfo &inputInfo ) RemoveFlag( FL_NPC ); // why are they set in the first place??? - SetThink(TurretDeath); + SetThink(&CBaseTurret::TurretDeath); m_OnDamaged.FireOutput( info.GetInflictor(), this ); @@ -806,7 +806,7 @@ int CBaseTurret::OnTakeDamage( const CTakeDamageInfo &inputInfo ) if (m_iOn && (1 || random->RandomInt(0, 0x7FFF) > 800)) { m_fBeserk = 1; - SetThink(SearchThink); + SetThink(&CBaseTurret::SearchThink); } } @@ -909,6 +909,8 @@ LINK_ENTITY_TO_CLASS( npc_turret_ceiling, CCeilingTurret ); void CCeilingTurret::Spawn() { + Vector up; + Precache( ); SetModel( "models/combine_turrets/ceiling_turret.mdl" ); @@ -918,8 +920,8 @@ void CCeilingTurret::Spawn() m_iHealth = sk_turret_health.GetFloat(); m_HackedGunPos = Vector( 0, 0, 12.75 ); - AngleVectors( GetAngles(), NULL, NULL, &m_vecViewOffset ); - m_vecViewOffset = m_vecViewOffset * Vector( 0, 0, -64 ); + AngleVectors( GetAbsAngles(), NULL, NULL, &up ); + SetViewOffset( up * Vector( 0, 0, -64 ) ); m_flFieldOfView = VIEW_FIELD_FULL; @@ -928,14 +930,14 @@ void CCeilingTurret::Spawn() m_iMinPitch = -45; UTIL_SetSize(this, Vector(-32, -32, -m_iRetractHeight), Vector(32, 32, m_iRetractHeight)); - SetThink(Initialize); + SetThink(&CBaseTurret::Initialize); - m_pEyeGlow = CSprite::SpriteCreate( TURRET_GLOW_SPRITE, GetOrigin(), FALSE ); + m_pEyeGlow = CSprite::SpriteCreate( TURRET_GLOW_SPRITE, GetAbsOrigin(), FALSE ); m_pEyeGlow->SetTransparency( kRenderGlow, 255, 0, 0, 0, kRenderFxNoDissipation ); m_pEyeGlow->SetAttachment( this, 2 ); m_eyeBrightness = 0; - SetNextThink( gpGlobals->curtime + 0.3; ); + SetNextThink( gpGlobals->curtime + 0.3 ); } void CCeilingTurret::Precache() @@ -1064,11 +1066,17 @@ void CSentry::Precache() void CSentry::Spawn() { + Vector viewOffs; + Precache( ); SetModel( "models/sentry.mdl" ); m_iHealth = sk_sentry_health.GetFloat(); m_HackedGunPos = Vector( 0, 0, 48 ); - m_vecViewOffset.z = 48; + + viewOffs = GetViewOffset(); + viewOffs.z = 48; + SetViewOffset(viewOffs); + m_flMaxWait = 1E6; CBaseTurret::Spawn(); @@ -1077,9 +1085,9 @@ void CSentry::Spawn() m_iMinPitch = -60; UTIL_SetSize(this, Vector(-16, -16, -m_iRetractHeight), Vector(16, 16, m_iRetractHeight)); - SetTouch(SentryTouch); - SetThink(Initialize); - SetNextThink( gpGlobals->curtime + 0.3; ); + SetTouch(&CSentry::SentryTouch); + SetThink(&CBaseTurret::Initialize); + SetNextThink( gpGlobals->curtime + 0.3 ); } void CSentry::Shoot(const Vector &vecSrc, const Vector &vecDirToEnemy) @@ -1099,7 +1107,7 @@ int CSentry::OnTakeDamage( const CTakeDamageInfo &info ) if (!m_iOn) { - SetThink( Deploy ); + SetThink( &CBaseTurret::Deploy ); SetNextThink( gpGlobals->curtime + 0.1f ); } @@ -1112,7 +1120,7 @@ int CSentry::OnTakeDamage( const CTakeDamageInfo &info ) RemoveFlag( FL_NPC ); // why are they set in the first place??? - SetThink(SentryDeath); + SetThink(&CSentry::SentryDeath); m_OnDamaged.FireOutput( info.GetInflictor(), this ); SetNextThink( gpGlobals->curtime + 0.1f ); @@ -1149,9 +1157,9 @@ void CSentry :: SentryDeath( void ) SetActivity( (Activity)ACT_TURRET_CLOSE ); SetSolid( SOLID_NOT ); - QAngle angles = GetAngles(); - angles.y = UTIL_AngleMod( GetAngles().y + random->RandomInt( 0, 2 ) * 120 ); - SetAngles( angles ); + QAngle angles = GetAbsAngles(); + angles.y = UTIL_AngleMod( angles.y + random->RandomInt( 0, 2 ) * 120 ); + SetAbsAngles( angles ); EyeOn( ); } diff --git a/game/server/hl2/npc_turret_ceiling.cpp b/game/server/hl2/npc_turret_ceiling.cpp index d5667a66..8c0c0f78 100644 --- a/game/server/hl2/npc_turret_ceiling.cpp +++ b/game/server/hl2/npc_turret_ceiling.cpp @@ -1124,4 +1124,4 @@ bool CNPC_CeilingTurret::CanBeAnEnemyOf( CBaseEntity *pEnemy ) } return BaseClass::CanBeAnEnemyOf( pEnemy ); -} \ No newline at end of file +} diff --git a/game/server/hl2/npc_turret_floor.cpp b/game/server/hl2/npc_turret_floor.cpp index ae8134c3..c40579fd 100644 --- a/game/server/hl2/npc_turret_floor.cpp +++ b/game/server/hl2/npc_turret_floor.cpp @@ -152,23 +152,23 @@ LINK_ENTITY_TO_CLASS( npc_turret_floor, CNPC_FloorTurret ); // Constructor //----------------------------------------------------------------------------- CNPC_FloorTurret::CNPC_FloorTurret( void ) : - m_bActive( false ), - m_hEyeGlow( NULL ), - m_hLaser( NULL ), m_iAmmoType( -1 ), m_bAutoStart( false ), + m_bActive( false ), + m_bBlinkState( false ), + m_bEnabled( false ), + m_bSelfDestructing( false ), + m_flShotTime( 0.0f ), + m_flLastSight( 0.0f ), + m_flThrashTime( 0.0f ), m_flPingTime( 0.0f ), m_flNextActivateSoundTime( 0.0f ), m_bCarriedByPlayer( false ), m_bUseCarryAngles( false ), m_flPlayerDropTime( 0.0f ), - m_flShotTime( 0.0f ), - m_flLastSight( 0.0f ), - m_bBlinkState( false ), - m_flThrashTime( 0.0f ), - m_pMotionController( NULL ), - m_bEnabled( false ), - m_bSelfDestructing( false ) + m_hEyeGlow( NULL ), + m_hLaser( NULL ), + m_pMotionController( NULL ) { m_vecGoalAngles.Init(); @@ -2097,7 +2097,7 @@ void CNPC_FloorTurret::SelfDestructThink( void ) CPASAttenuationFilter filter( this, "NPC_FloorTurret.AlarmPing" ); EmitSound_t params; params.m_pSoundName = "NPC_FloorTurret.AlarmPing"; - params.m_nPitch = floor( flBeepPitch ); + params.m_nPitch = (int)floor( flBeepPitch ); params.m_nFlags = SND_CHANGE_PITCH; EmitSound( filter, entindex(), params ); diff --git a/game/server/hl2/npc_vortigaunt_episodic.cpp b/game/server/hl2/npc_vortigaunt_episodic.cpp index 6ddbc3b1..0d05c02a 100644 --- a/game/server/hl2/npc_vortigaunt_episodic.cpp +++ b/game/server/hl2/npc_vortigaunt_episodic.cpp @@ -52,16 +52,16 @@ class CVortigauntChargeToken; static const char *VORTIGAUNT_LEFT_CLAW = "leftclaw"; static const char *VORTIGAUNT_RIGHT_CLAW = "rightclaw"; -static const char *VORT_CURE = "VORT_CURE"; +//static const char *VORT_CURE = "VORT_CURE"; static const char *VORT_CURESTOP = "VORT_CURESTOP"; -static const char *VORT_CURE_INTERRUPT = "VORT_CURE_INTERRUPT"; +//static const char *VORT_CURE_INTERRUPT = "VORT_CURE_INTERRUPT"; static const char *VORT_ATTACK = "VORT_ATTACK"; -static const char *VORT_MAD = "VORT_MAD"; -static const char *VORT_SHOT = "VORT_SHOT"; +//static const char *VORT_MAD = "VORT_MAD"; +//static const char *VORT_SHOT = "VORT_SHOT"; static const char *VORT_PAIN = "VORT_PAIN"; static const char *VORT_DIE = "VORT_DIE"; -static const char *VORT_KILL = "VORT_KILL"; -static const char *VORT_LINE_FIRE = "VORT_LINE_FIRE"; +//static const char *VORT_KILL = "VORT_KILL"; +//static const char *VORT_LINE_FIRE = "VORT_LINE_FIRE"; static const char *VORT_POK = "VORT_POK"; static const char *VORT_EXTRACT_START = "VORT_EXTRACT_START"; static const char *VORT_EXTRACT_FINISH = "VORT_EXTRACT_FINISH"; @@ -219,11 +219,11 @@ static bool IsRoller( CBaseEntity *pRoller ) // Purpose: //----------------------------------------------------------------------------- CNPC_Vortigaunt::CNPC_Vortigaunt( void ) : -m_bPlayerRequestedHeal( false ), m_flNextHealTime( 3.0f ), // Let the player settle before we decide to do this +m_bPlayerRequestedHeal( false ), +m_eHealState( HEAL_STATE_NONE ), m_nNumTokensToSpawn( 0 ), -m_flAimDelay( 0.0f ), -m_eHealState( HEAL_STATE_NONE ) +m_flAimDelay( 0.0f ) { } @@ -336,7 +336,7 @@ void CNPC_Vortigaunt::StartTask( const Task_t *pTask ) { // Start the layer up and give it a higher priority than normal int nLayer = AddGesture( (Activity) ACT_VORTIGAUNT_HEAL ); - SetLayerPriority( nLayer, 1.0f ); + SetLayerPriority( nLayer, 1 ); m_eHealState = HEAL_STATE_WARMUP; @@ -349,7 +349,7 @@ void CNPC_Vortigaunt::StartTask( const Task_t *pTask ) // Figure out how many tokens to spawn float flArmorDelta = (float) sk_vortigaunt_armor_charge.GetInt() - pPlayer->ArmorValue(); - m_nNumTokensToSpawn = ceil( flArmorDelta / sk_vortigaunt_armor_charge_per_token.GetInt() ); + m_nNumTokensToSpawn = (int)ceil( flArmorDelta / sk_vortigaunt_armor_charge_per_token.GetInt() ); // If we're forced to recharge, then at least send one if ( m_bForceArmorRecharge && m_nNumTokensToSpawn <= 0 ) @@ -1086,7 +1086,7 @@ void CNPC_Vortigaunt::Spawn( void ) #endif // HL2_EPISODIC // Allow multiple models (for slaves), but default to vortigaunt.mdl - char *szModel = (char *)STRING( GetModelName() ); + const char *szModel = (char *)STRING( GetModelName() ); if (!szModel || !*szModel) { szModel = "models/vortigaunt.mdl"; @@ -1949,7 +1949,7 @@ void CNPC_Vortigaunt::StartHandGlow( int beamType, int nHand ) case VORTIGAUNT_BEAM_ZAP: { // Validate the hand's range - if ( nHand >= ARRAYSIZE( m_hHandEffect ) ) + if ( nHand >= (int)ARRAYSIZE( m_hHandEffect ) ) return; // Start up diff --git a/game/server/hl2/prop_combine_ball.cpp b/game/server/hl2/prop_combine_ball.cpp index 1c62257e..2bc0b27a 100644 --- a/game/server/hl2/prop_combine_ball.cpp +++ b/game/server/hl2/prop_combine_ball.cpp @@ -25,7 +25,7 @@ #include "hl2_player.h" #include "eventqueue.h" #include "physics_collisionevent.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" @@ -1100,7 +1100,7 @@ void CPropCombineBall::DoExplosion( ) if( hl2_episodic.GetBool() ) { - CSoundEnt::InsertSound( SOUND_COMBAT | SOUND_CONTEXT_EXPLOSION, WorldSpaceCenter(), 180.0f, 0.25, this ); + CSoundEnt::InsertSound( SOUND_COMBAT | SOUND_CONTEXT_EXPLOSION, WorldSpaceCenter(), 180, 0.25, this ); } // Turn us off and wait because we need our trails to finish up properly diff --git a/game/server/hl2/prop_thumper.cpp b/game/server/hl2/prop_thumper.cpp index 820f33cd..5c5384b5 100644 --- a/game/server/hl2/prop_thumper.cpp +++ b/game/server/hl2/prop_thumper.cpp @@ -88,7 +88,7 @@ END_DATADESC() void CPropThumper::Spawn( void ) { - char *szModel = (char *)STRING( GetModelName() ); + const char *szModel = (char *)STRING( GetModelName() ); if (!szModel || !*szModel) { szModel = THUMPER_MODEL_NAME; @@ -210,7 +210,7 @@ void CPropThumper::Thump ( void ) } EmitSound( "coast.thumper_dust" ); - CSoundEnt::InsertSound ( SOUND_THUMPER, GetAbsOrigin(), THUMPER_RADIUS * m_flPlaybackRate, THUMPER_SOUND_DURATION, this ); + CSoundEnt::InsertSound ( SOUND_THUMPER, GetAbsOrigin(), (int)(THUMPER_RADIUS * m_flPlaybackRate), THUMPER_SOUND_DURATION, this ); if ( thumper_show_radius.GetBool() ) { diff --git a/game/server/hl2/proto_sniper.cpp b/game/server/hl2/proto_sniper.cpp index ba2eaf0f..0c1ff532 100644 --- a/game/server/hl2/proto_sniper.cpp +++ b/game/server/hl2/proto_sniper.cpp @@ -1158,7 +1158,7 @@ int CProtoSniper::IRelationPriority( CBaseEntity *pTarget ) if ( flDistance <= SNIPER_PROTECTION_MINDIST ) { float flBonus = (1.0 - (flDistance / SNIPER_PROTECTION_MINDIST)) * SNIPER_PROTECTION_PRIORITYCAP; - priority += flBonus; + priority += (int)flBonus; if ( m_debugOverlays & OVERLAY_NPC_SELECTED_BIT ) { diff --git a/game/server/hl2/rotorwash.cpp b/game/server/hl2/rotorwash.cpp index 76702fc6..5bd904b9 100644 --- a/game/server/hl2/rotorwash.cpp +++ b/game/server/hl2/rotorwash.cpp @@ -100,4 +100,4 @@ CBaseEntity *CreateRotorWashEmitter( const Vector &localOrigin, const QAngle &lo pEmitter->SetEmit( false ); return pEmitter; -} \ No newline at end of file +} diff --git a/game/server/hl2/trigger_super_armor.cpp b/game/server/hl2/trigger_super_armor.cpp index 007d4cc1..a8405c54 100644 --- a/game/server/hl2/trigger_super_armor.cpp +++ b/game/server/hl2/trigger_super_armor.cpp @@ -57,7 +57,7 @@ END_DATADESC() static const char *s_pRechargeThinkContext = "RechargeThink"; -void CTriggerSuperAmmor::Precache() +void CTriggerSuperArmor::Precache() { BaseClass::Precache(); @@ -120,7 +120,7 @@ void CTriggerSuperArmor::StartTouch( CBaseEntity *pOther ) if ( m_hTouchingEntities.Count() == 1 ) { - SetContextThink( RechargeThink, gpGlobals->curtime + 0.01f, s_pRechargeThinkContext ); + SetContextThink( &CTriggerSuperArmor::RechargeThink, gpGlobals->curtime + 0.01f, s_pRechargeThinkContext ); pOther->EmitSound( "TriggerSuperArmor.StartCharging" ); m_flLoopingSoundTime = 0.56f + gpGlobals->curtime; } @@ -175,5 +175,5 @@ void CTriggerSuperArmor::RechargeThink() } } - SetContextThink( RechargeThink, gpGlobals->curtime + 0.1f, s_pRechargeThinkContext ); -} \ No newline at end of file + SetContextThink( &CTriggerSuperArmor::RechargeThink, gpGlobals->curtime + 0.1f, s_pRechargeThinkContext ); +} diff --git a/game/server/hl2/vehicle_airboat.cpp b/game/server/hl2/vehicle_airboat.cpp index e9cdc05c..0dff5125 100644 --- a/game/server/hl2/vehicle_airboat.cpp +++ b/game/server/hl2/vehicle_airboat.cpp @@ -733,7 +733,7 @@ void CPropAirboat::ExitVehicle( int nRole ) ep.m_pSoundName = "Airboat_engine_stop"; ep.m_flVolume = controller.SoundGetVolume( m_pEngineSound ); ep.m_SoundLevel = SNDLVL_NORM; - ep.m_nPitch = controller.SoundGetPitch( m_pEngineSound ); + ep.m_nPitch = (int)controller.SoundGetPitch( m_pEngineSound ); EmitSound( filter, entindex(), ep ); m_VehiclePhysics.TurnOff(); @@ -931,7 +931,9 @@ void CPropAirboat::VPhysicsFriction( IPhysicsObject *pObject, float energy, int //----------------------------------------------------------------------------- // This fixes an optimizer bug that was causing targetYaw and targetPitch to // always be reported as clamped, thus disabling the gun. Ack! +#ifdef _MSC_VER #pragma optimize("", off) +#endif void CPropAirboat::AimGunAt( const Vector &aimPos, float flInterval ) { matrix3x4_t gunMatrix; @@ -981,8 +983,9 @@ void CPropAirboat::AimGunAt( const Vector &aimPos, float flInterval ) m_aimPitch = GetPoseParameter( AIRBOAT_GUN_PITCH ); m_aimYaw = GetPoseParameter( AIRBOAT_GUN_YAW ); } +#ifdef _MSC_VER #pragma optimize("", on) - +#endif //----------------------------------------------------------------------------- // Removes the ammo... @@ -1860,8 +1863,8 @@ void CPropAirboat::CreateDangerSounds( void ) // 0.7 seconds ahead vecSpot = vecStart + vecDir * (speed * 0.7f); - CSoundEnt::InsertSound( SOUND_DANGER, vecSpot, radius, soundDuration, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); - CSoundEnt::InsertSound( SOUND_PHYSICS_DANGER, vecSpot, radius, soundDuration, this, SOUNDENT_CHANNEL_REPEATED_PHYSICS_DANGER ); + CSoundEnt::InsertSound( SOUND_DANGER, vecSpot, (int)radius, soundDuration, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); + CSoundEnt::InsertSound( SOUND_PHYSICS_DANGER, vecSpot, (int)radius, soundDuration, this, SOUNDENT_CHANNEL_REPEATED_PHYSICS_DANGER ); //NDebugOverlay::Box(vecSpot, Vector(-radius,-radius,-radius),Vector(radius,radius,radius), 255, 0, 255, 0, soundDuration); #if 0 @@ -2079,7 +2082,7 @@ float CPropAirboat::CalculatePhysicsStressDamage( vphysics_objectstress_t *pStre //----------------------------------------------------------------------------- void CPropAirboat::ApplyStressDamage( IPhysicsObject *pPhysics ) { - vphysics_objectstress_t stressOut; + vphysics_objectstress_t stressOut = {0.0f, 0.0f, false, false}; float damage = CalculatePhysicsStressDamage( &stressOut, pPhysics ); if ( ( damage > 0 ) && ( m_hPlayer != NULL ) ) { diff --git a/game/server/hl2/vehicle_apc.cpp b/game/server/hl2/vehicle_apc.cpp index 7191353b..72540596 100644 --- a/game/server/hl2/vehicle_apc.cpp +++ b/game/server/hl2/vehicle_apc.cpp @@ -291,7 +291,7 @@ Vector CPropAPC::BodyTarget( const Vector &posSrc, bool bNoisy ) void CPropAPC::AddSmokeTrail( const Vector &vecPos ) { // Start this trail out with a bang! - ExplosionCreate( vecPos, vec3_angle, this, 1000, 500.0f, SF_ENVEXPLOSION_NODAMAGE | + ExplosionCreate( vecPos, vec3_angle, this, 1000, 500, SF_ENVEXPLOSION_NODAMAGE | SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE | SF_ENVEXPLOSION_NOFIREBALLSMOKE, 0 ); UTIL_ScreenShake( vecPos, 25.0, 150.0, 1.0, 750.0f, SHAKE_START ); @@ -349,7 +349,7 @@ void CPropAPC::AddSmokeTrail( const Vector &vecPos ) //------------------------------------------------------------------------------ void CPropAPC::ExplodeAndThrowChunk( const Vector &vecExplosionPos ) { - ExplosionCreate( vecExplosionPos, vec3_angle, this, 1000, 500.0f, + ExplosionCreate( vecExplosionPos, vec3_angle, this, 1000, 500, SF_ENVEXPLOSION_NODAMAGE | SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE | SF_ENVEXPLOSION_NOFIREBALLSMOKE, 0 ); UTIL_ScreenShake( vecExplosionPos, 25.0, 150.0, 1.0, 750.0f, SHAKE_START ); diff --git a/game/server/hl2/vehicle_jeep.cpp b/game/server/hl2/vehicle_jeep.cpp index 44520f4d..b095fc8f 100644 --- a/game/server/hl2/vehicle_jeep.cpp +++ b/game/server/hl2/vehicle_jeep.cpp @@ -1417,8 +1417,8 @@ void CPropJeep::CreateDangerSounds( void ) // 0.3 seconds ahead of the jeep vecSpot = vecStart + vecDir * (speed * 1.1f); - CSoundEnt::InsertSound( SOUND_DANGER | SOUND_CONTEXT_PLAYER_VEHICLE, vecSpot, radius, soundDuration, this, 0 ); - CSoundEnt::InsertSound( SOUND_PHYSICS_DANGER | SOUND_CONTEXT_PLAYER_VEHICLE, vecSpot, radius, soundDuration, this, 1 ); + CSoundEnt::InsertSound( SOUND_DANGER | SOUND_CONTEXT_PLAYER_VEHICLE, vecSpot, (int)radius, soundDuration, this, 0 ); + CSoundEnt::InsertSound( SOUND_PHYSICS_DANGER | SOUND_CONTEXT_PLAYER_VEHICLE, vecSpot, (int)radius, soundDuration, this, 1 ); //NDebugOverlay::Box(vecSpot, Vector(-radius,-radius,-radius),Vector(radius,radius,radius), 255, 0, 255, 0, soundDuration); #if 0 diff --git a/game/server/hl2/vehicle_jeep.h b/game/server/hl2/vehicle_jeep.h index aefe276f..2220d210 100644 --- a/game/server/hl2/vehicle_jeep.h +++ b/game/server/hl2/vehicle_jeep.h @@ -31,6 +31,7 @@ struct JeepWaterData_t //----------------------------------------------------------------------------- class CPropJeep : public CPropVehicleDriveable { +protected: DECLARE_CLASS( CPropJeep, CPropVehicleDriveable ); public: diff --git a/game/server/hl2/vehicle_jetski.cpp b/game/server/hl2/vehicle_jetski.cpp index db1f76a2..44f6b80e 100644 --- a/game/server/hl2/vehicle_jetski.cpp +++ b/game/server/hl2/vehicle_jetski.cpp @@ -232,7 +232,7 @@ void CPropJetski::Think(void) int iSequence = SelectWeightedSequence( ACT_IDLE ); if ( iSequence > ACTIVITY_NOT_AVAILABLE ) { - m_flCycle = 0; + SetCycle(0); m_flAnimTime = gpGlobals->curtime; ResetSequence( iSequence ); ResetClientsideFrame(); @@ -549,4 +549,4 @@ void CPropJetski::CreateSplash( int nSplashType ) return; } } -} \ No newline at end of file +} diff --git a/game/server/hl2/vehicle_prisoner_pod.cpp b/game/server/hl2/vehicle_prisoner_pod.cpp index f8fdfa8d..64445e99 100644 --- a/game/server/hl2/vehicle_prisoner_pod.cpp +++ b/game/server/hl2/vehicle_prisoner_pod.cpp @@ -41,10 +41,10 @@ class CPropVehiclePrisonerPod; // Pod bones that have physics followers -static const char *pPodFollowerBoneNames[] = +/*static const char *pPodFollowerBoneNames[] = { "base", -}; +};*/ //----------------------------------------------------------------------------- diff --git a/game/server/hl2/weapon_357.cpp b/game/server/hl2/weapon_357.cpp index b3465db1..e1966e21 100644 --- a/game/server/hl2/weapon_357.cpp +++ b/game/server/hl2/weapon_357.cpp @@ -6,10 +6,10 @@ //=============================================================================// #include "cbase.h" -#include "NPCEvent.h" +#include "npcevent.h" #include "basehlcombatweapon.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "gamerules.h" #include "in_buttons.h" @@ -18,7 +18,7 @@ #include "vstdlib/random.h" #include "engine/IEngineSound.h" #include "te_effect_dispatch.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" diff --git a/game/server/hl2/weapon_ar1.cpp b/game/server/hl2/weapon_ar1.cpp index 628f02b4..c909028b 100644 --- a/game/server/hl2/weapon_ar1.cpp +++ b/game/server/hl2/weapon_ar1.cpp @@ -6,9 +6,9 @@ #include "cbase.h" #include "basehlcombatweapon.h" -#include "NPCevent.h" +#include "npcevent.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "in_buttons.h" diff --git a/game/server/hl2/weapon_ar2.cpp b/game/server/hl2/weapon_ar2.cpp index 06f62daf..706613ea 100644 --- a/game/server/hl2/weapon_ar2.cpp +++ b/game/server/hl2/weapon_ar2.cpp @@ -7,16 +7,16 @@ #include "cbase.h" #include "basecombatweapon.h" -#include "NPCevent.h" +#include "npcevent.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "weapon_ar2.h" #include "grenade_ar2.h" #include "gamerules.h" #include "game.h" #include "in_buttons.h" -#include "AI_Memory.h" +#include "ai_memory.h" #include "soundent.h" #include "hl2_player.h" #include "EntityFlame.h" @@ -26,7 +26,7 @@ #include "beam_shared.h" #include "npc_combine.h" #include "rumble_shared.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" diff --git a/game/server/hl2/weapon_brickbat.cpp b/game/server/hl2/weapon_brickbat.cpp index 88c01238..4def02ff 100644 --- a/game/server/hl2/weapon_brickbat.cpp +++ b/game/server/hl2/weapon_brickbat.cpp @@ -8,11 +8,11 @@ //=============================================================================// #include "cbase.h" -#include "NPCEvent.h" +#include "npcevent.h" #include "basehlcombatweapon.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" -#include "AI_Memory.h" +#include "ai_basenpc.h" +#include "ai_memory.h" #include "player.h" #include "gamerules.h" // For g_pGameRules #include "weapon_brickbat.h" @@ -82,7 +82,7 @@ END_DATADESC() //------------------------------------------------------------------------------ void CWeaponBrickbat::Precache( void ) { - for (int i=0;im_flSpawnRate = 16.0f; pSporeExplosion->m_flParticleLifetime = 0.5f; - pSporeExplosion->SetRenderColor( 0.0f, 0.5f, 0.25f, 0.15f ); + pSporeExplosion->SetRenderColor( 0, (int)0.5f, (int)0.25f, (int)0.15f ); pSporeExplosion->m_flStartSize = 32; pSporeExplosion->m_flEndSize = 48; diff --git a/game/server/hl2/weapon_cguard.cpp b/game/server/hl2/weapon_cguard.cpp index 0b014e1d..5872d5fb 100644 --- a/game/server/hl2/weapon_cguard.cpp +++ b/game/server/hl2/weapon_cguard.cpp @@ -122,8 +122,8 @@ public: TE_ConcussiveExplosion( filter, 0.0, &GetAbsOrigin(),//position 1.0f, //scale - 256*magnitude, //radius - 175*magnitude, //magnitude + (int)(256*magnitude), //radius + (int)(175*magnitude), //magnitude &vecForward ); //normal int colorRamp = random->RandomInt( 128, 255 ); diff --git a/game/server/hl2/weapon_citizenpackage.h b/game/server/hl2/weapon_citizenpackage.h index 51a24418..5797dd30 100644 --- a/game/server/hl2/weapon_citizenpackage.h +++ b/game/server/hl2/weapon_citizenpackage.h @@ -28,4 +28,4 @@ public: void Drop( const Vector &vecVelocity ); }; -#endif // WEAPON_CITIZENPACKAGE_H \ No newline at end of file +#endif // WEAPON_CITIZENPACKAGE_H diff --git a/game/server/hl2/weapon_crossbow.cpp b/game/server/hl2/weapon_crossbow.cpp index 6b8f5068..1d0bbdee 100644 --- a/game/server/hl2/weapon_crossbow.cpp +++ b/game/server/hl2/weapon_crossbow.cpp @@ -5,10 +5,10 @@ //=============================================================================// #include "cbase.h" -#include "NPCEvent.h" +#include "npcevent.h" #include "basehlcombatweapon_shared.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "gamerules.h" #include "in_buttons.h" @@ -18,11 +18,11 @@ #include "engine/IEngineSound.h" #include "IEffects.h" #include "te_effect_dispatch.h" -#include "sprite.h" -#include "spritetrail.h" +#include "Sprite.h" +#include "SpriteTrail.h" #include "beam_shared.h" #include "rumble_shared.h" -#include "gamestats.h" +#include "GameStats.h" #include "decals.h" #ifdef PORTAL @@ -407,7 +407,7 @@ void CCrossbowBolt::BubbleThink( void ) SetNextThink( gpGlobals->curtime + 0.1f ); // Make danger sounds out in front of me, to scare snipers back into their hole - CSoundEnt::InsertSound( SOUND_DANGER_SNIPERONLY, GetAbsOrigin() + GetAbsVelocity() * 0.2, 120.0f, 0.5f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); + CSoundEnt::InsertSound( SOUND_DANGER_SNIPERONLY, GetAbsOrigin() + GetAbsVelocity() * 0.2, 120, 0.5f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); if ( GetWaterLevel() == 0 ) return; diff --git a/game/server/hl2/weapon_crowbar.cpp b/game/server/hl2/weapon_crowbar.cpp index 4b58a2b3..1b2cc866 100644 --- a/game/server/hl2/weapon_crowbar.cpp +++ b/game/server/hl2/weapon_crowbar.cpp @@ -165,7 +165,7 @@ void CWeaponCrowbar::HandleAnimEventMeleeHit( animevent_t *pEvent, CBaseCombatCh Vector vecEnd; VectorMA( pOperator->Weapon_ShootPosition(), 50, vecDirection, vecEnd ); CBaseEntity *pHurt = pOperator->CheckTraceHullAttack( pOperator->Weapon_ShootPosition(), vecEnd, - Vector(-16,-16,-16), Vector(36,36,36), sk_npc_dmg_crowbar.GetFloat(), DMG_CLUB, 0.75 ); + Vector(-16,-16,-16), Vector(36,36,36), sk_npc_dmg_crowbar.GetInt(), DMG_CLUB, 0.75 ); // did I hit someone? if ( pHurt ) diff --git a/game/server/hl2/weapon_extinguisher.cpp b/game/server/hl2/weapon_extinguisher.cpp index 7ba43eaf..3df1c43d 100644 --- a/game/server/hl2/weapon_extinguisher.cpp +++ b/game/server/hl2/weapon_extinguisher.cpp @@ -141,7 +141,7 @@ void CWeaponExtinguisher::Event_Killed( const CTakeDamageInfo &info ) //Put out fire in a radius FireSystem_ExtinguishInRadius( GetAbsOrigin(), fire_extinguisher_explode_radius.GetInt(), fire_extinguisher_explode_strength.GetFloat() ); - SetThink( SUB_Remove ); + SetThink( &CBaseEntity::SUB_Remove ); SetNextThink( gpGlobals->curtime + 0.1f ); } @@ -355,7 +355,7 @@ void CExtinguisherCharger::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, U SetNextThink( gpGlobals->curtime + 0.25 ); - SetThink( TurnOff ); + SetThink( &CExtinguisherCharger::TurnOff ); CBasePlayer *pPlayer = ToBasePlayer( pActivator ); diff --git a/game/server/hl2/weapon_frag.cpp b/game/server/hl2/weapon_frag.cpp index b3277e73..4a5a5327 100644 --- a/game/server/hl2/weapon_frag.cpp +++ b/game/server/hl2/weapon_frag.cpp @@ -14,7 +14,7 @@ #include "items.h" #include "in_buttons.h" #include "soundent.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" @@ -98,7 +98,7 @@ CWeaponFrag::CWeaponFrag() : CBaseHLCombatWeapon(), m_bRedraw( false ) { - NULL; + } //----------------------------------------------------------------------------- diff --git a/game/server/hl2/weapon_immolator.cpp b/game/server/hl2/weapon_immolator.cpp index 9d8e3526..9e172a07 100644 --- a/game/server/hl2/weapon_immolator.cpp +++ b/game/server/hl2/weapon_immolator.cpp @@ -104,7 +104,7 @@ void CWeaponImmolator::StartImmolating() // determine whether the immolator is operating or not. m_flBurnRadius = 0.1; m_flTimeLastUpdatedRadius = gpGlobals->curtime; - SetThink( UpdateThink ); + SetThink( &CWeaponImmolator::UpdateThink ); SetNextThink( gpGlobals->curtime ); CSoundEnt::InsertSound( SOUND_DANGER, m_vecImmolatorTarget, 256, 5.0, GetOwner() ); @@ -251,13 +251,13 @@ void CWeaponImmolator::Update() UTIL_TraceLine( vecSrc, vecSrc + vecAiming * MAX_TRACE_LENGTH, MASK_SHOT, pOwner, COLLISION_GROUP_NONE, &tr ); int brightness; - brightness = 255 * (m_flBurnRadius/MAX_BURN_RADIUS); + brightness = (int)(255 * (m_flBurnRadius / MAX_BURN_RADIUS)); UTIL_Beam( vecSrc, tr.endpos, m_beamIndex, 0, //halo index 0, //frame start - 2.0f, //framerate + 2, //framerate 0.1f, //life 20, // width 1, // endwidth @@ -294,11 +294,11 @@ void CWeaponImmolator::Update() m_beamIndex, 0, //halo index 0, //frame start - 2.0f, //framerate + 2, //framerate 0.15f, //life 20, // width - 1.75, // endwidth - 0.75, // fadelength, + 1, // endwidth + 0, // fadelength, 15, // noise 0, // red @@ -348,7 +348,7 @@ void CWeaponImmolator::ImmolationDamage( const CTakeDamageInfo &info, const Vect Vector vecSrc = vecSrcIn; // iterate on all entities in the vicinity. - for ( CEntitySphereQuery sphere( vecSrc, flRadius ); pEntity = sphere.GetCurrentEntity(); sphere.NextEntity() ) + for ( CEntitySphereQuery sphere( vecSrc, flRadius ); (pEntity = sphere.GetCurrentEntity()) != NULL; sphere.NextEntity() ) { CBaseCombatCharacter *pBCC; diff --git a/game/server/hl2/weapon_irifle.cpp b/game/server/hl2/weapon_irifle.cpp index d59f7288..8ffed79c 100644 --- a/game/server/hl2/weapon_irifle.cpp +++ b/game/server/hl2/weapon_irifle.cpp @@ -13,12 +13,12 @@ #include "cbase.h" -#include "NPCEvent.h" +#include "npcevent.h" #include "basehlcombatweapon.h" #include "basecombatcharacter.h" #include "soundent.h" #include "player.h" -#include "ieffects.h" +#include "IEffects.h" #include "vstdlib/random.h" #include "engine/IEngineSound.h" #include "weapon_flaregun.h" diff --git a/game/server/hl2/weapon_manhack.cpp b/game/server/hl2/weapon_manhack.cpp index 43c8489d..2e7319ec 100644 --- a/game/server/hl2/weapon_manhack.cpp +++ b/game/server/hl2/weapon_manhack.cpp @@ -61,7 +61,7 @@ void CWeapon_Manhack::Spawn( ) FallInit();// get ready to fall down. - m_flBladeYaw = NULL; + m_flBladeYaw = 0.0f; AddSolidFlags( FSOLID_NOT_SOLID ); } diff --git a/game/server/hl2/weapon_molotov.cpp b/game/server/hl2/weapon_molotov.cpp index b61fa7ee..a23aeec8 100644 --- a/game/server/hl2/weapon_molotov.cpp +++ b/game/server/hl2/weapon_molotov.cpp @@ -8,11 +8,11 @@ //=============================================================================// #include "cbase.h" -#include "NPCEvent.h" +#include "npcevent.h" #include "basehlcombatweapon.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" -#include "AI_Memory.h" +#include "ai_basenpc.h" +#include "ai_memory.h" #include "player.h" #include "gamerules.h" // For g_pGameRules #include "weapon_molotov.h" @@ -76,7 +76,7 @@ void CWeaponMolotov::Spawn( void ) //------------------------------------------------------------------------------ void CWeaponMolotov::SetPickupTouch( void ) { - SetTouch(MolotovTouch); + SetTouch(&CWeaponMolotov::MolotovTouch); } //----------------------------------------------------------------------------- @@ -450,4 +450,4 @@ CWeaponMolotov::CWeaponMolotov( void ) m_fMinRange1 = 200; m_fMaxRange1 = 1000; -} \ No newline at end of file +} diff --git a/game/server/hl2/weapon_physcannon.cpp b/game/server/hl2/weapon_physcannon.cpp index 9090e292..673092c4 100644 --- a/game/server/hl2/weapon_physcannon.cpp +++ b/game/server/hl2/weapon_physcannon.cpp @@ -17,7 +17,7 @@ #include "shake.h" #include "hl2_player.h" #include "beam_shared.h" -#include "sprite.h" +#include "Sprite.h" #include "util.h" #include "weapon_physcannon.h" #include "physics_saverestore.h" @@ -39,7 +39,7 @@ #include "model_types.h" #include "ai_interactions.h" #include "rumble_shared.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" @@ -329,7 +329,7 @@ static QAngle AlignAngles( const QAngle &angles, float cosineAlignAngle ) } -static void TraceCollideAgainstBBox( const CPhysCollide *pCollide, const Vector &start, const Vector &end, const QAngle &angles, const Vector &boxOrigin, const Vector &mins, const Vector &maxs, trace_t *ptr ) +/*static void TraceCollideAgainstBBox( const CPhysCollide *pCollide, const Vector &start, const Vector &end, const QAngle &angles, const Vector &boxOrigin, const Vector &mins, const Vector &maxs, trace_t *ptr ) { physcollision->TraceBox( boxOrigin, boxOrigin + (start-end), mins, maxs, pCollide, start, angles, ptr ); @@ -340,7 +340,7 @@ static void TraceCollideAgainstBBox( const CPhysCollide *pCollide, const Vector ptr->plane.dist = -ptr->plane.dist; ptr->plane.normal *= -1; } -} +}*/ //----------------------------------------------------------------------------- // Purpose: Finds the nearest ragdoll sub-piece to a location and returns it @@ -3352,7 +3352,7 @@ void CWeaponPhysCannon::LaunchObject( const Vector &vecDir, float flForce ) int i; UTIL_TraceLine( vecStart, vecStart + vecDir * flForce, MASK_SHOT, pObject, COLLISION_GROUP_NONE, &tr ); - iLength = ( tr.startpos - tr.endpos ).Length(); + iLength = (int)((tr.startpos - tr.endpos).Length()); vecSpot = vecStart + vecDir * PHYSCANNON_DANGER_SOUND_RADIUS; for( i = PHYSCANNON_DANGER_SOUND_RADIUS ; i < iLength ; i += PHYSCANNON_DANGER_SOUND_RADIUS ) @@ -3832,7 +3832,7 @@ void CWeaponPhysCannon::DoEffectClosed( void ) // Turn off the center sprite if ( m_hCenterSprite != NULL ) { - m_hCenterSprite->SetBrightness( 0.0, 0.1f ); + m_hCenterSprite->SetBrightness( 0, 0.1f ); m_hCenterSprite->SetScale( 0.0f, 0.1f ); m_hCenterSprite->TurnOff(); } @@ -3861,7 +3861,7 @@ void CWeaponPhysCannon::DoEffectClosed( void ) if ( m_hGlowSprites[i] != NULL ) { m_hGlowSprites[i]->TurnOn(); - m_hGlowSprites[i]->SetBrightness( 16.0f, 0.2f ); + m_hGlowSprites[i]->SetBrightness( 16, 0.2f ); m_hGlowSprites[i]->SetScale( 0.3f * flScaleFactor, 0.2f ); } } @@ -3885,7 +3885,7 @@ void CWeaponPhysCannon::DoMegaEffectClosed( void ) // Turn off the center sprite if ( m_hCenterSprite != NULL ) { - m_hCenterSprite->SetBrightness( 0.0, 0.1f ); + m_hCenterSprite->SetBrightness( 0, 0.1f ); m_hCenterSprite->SetScale( 0.0f, 0.1f ); m_hCenterSprite->TurnOff(); } @@ -3914,7 +3914,7 @@ void CWeaponPhysCannon::DoMegaEffectClosed( void ) if ( m_hGlowSprites[i] != NULL ) { m_hGlowSprites[i]->TurnOn(); - m_hGlowSprites[i]->SetBrightness( 16.0f, 0.2f ); + m_hGlowSprites[i]->SetBrightness( 16, 0.2f ); m_hGlowSprites[i]->SetScale( 0.3f * flScaleFactor, 0.2f ); } } @@ -3967,7 +3967,7 @@ void CWeaponPhysCannon::DoEffectReady( ) if ( m_hGlowSprites[i] != NULL ) { m_hGlowSprites[i]->TurnOn(); - m_hGlowSprites[i]->SetBrightness( 32.0f, 0.2f ); + m_hGlowSprites[i]->SetBrightness( 32, 0.2f ); m_hGlowSprites[i]->SetScale( 0.4f * flScaleFactor, 0.2f ); } } @@ -4021,7 +4021,7 @@ void CWeaponPhysCannon::DoEffectHolding( ) if ( m_hGlowSprites[i] != NULL ) { m_hGlowSprites[i]->TurnOn(); - m_hGlowSprites[i]->SetBrightness( 64.0f, 0.2f ); + m_hGlowSprites[i]->SetBrightness( 64, 0.2f ); m_hGlowSprites[i]->SetScale( 0.5f * flScaleFactor, 0.2f ); } } @@ -4079,7 +4079,7 @@ void CWeaponPhysCannon::DoEffectLaunch( Vector *pos ) { m_hBlastSprite->TurnOn(); m_hBlastSprite->SetScale( 2.0f, 0.1f ); - m_hBlastSprite->SetBrightness( 0.0f, 0.1f ); + m_hBlastSprite->SetBrightness( 0, 0.1f ); } } @@ -4185,7 +4185,7 @@ void CWeaponPhysCannon::DoMegaEffectHolding( void ) if ( m_hGlowSprites[i] != NULL ) { m_hGlowSprites[i]->TurnOn(); - m_hGlowSprites[i]->SetBrightness( 32.0f, 0.2f ); + m_hGlowSprites[i]->SetBrightness( 32, 0.2f ); m_hGlowSprites[i]->SetScale( 0.25f * flScaleFactor, 0.2f ); } } @@ -4233,7 +4233,7 @@ void CWeaponPhysCannon::DoMegaEffectReady( void ) if ( m_hGlowSprites[i] != NULL ) { m_hGlowSprites[i]->TurnOn(); - m_hGlowSprites[i]->SetBrightness( 24.0f, 0.2f ); + m_hGlowSprites[i]->SetBrightness( 24, 0.2f ); m_hGlowSprites[i]->SetScale( 0.2f * flScaleFactor, 0.2f ); } } diff --git a/game/server/hl2/weapon_pistol.cpp b/game/server/hl2/weapon_pistol.cpp index 9add624e..65bf0981 100644 --- a/game/server/hl2/weapon_pistol.cpp +++ b/game/server/hl2/weapon_pistol.cpp @@ -6,17 +6,17 @@ //=============================================================================// #include "cbase.h" -#include "NPCEvent.h" +#include "npcevent.h" #include "basehlcombatweapon.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "gamerules.h" #include "in_buttons.h" #include "soundent.h" #include "game.h" #include "vstdlib/random.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" diff --git a/game/server/hl2/weapon_rpg.cpp b/game/server/hl2/weapon_rpg.cpp index 70a647c1..42bf6a41 100644 --- a/game/server/hl2/weapon_rpg.cpp +++ b/game/server/hl2/weapon_rpg.cpp @@ -18,15 +18,15 @@ #include "in_buttons.h" #include "weapon_rpg.h" #include "shake.h" -#include "AI_BaseNPC.h" -#include "AI_Squad.h" +#include "ai_basenpc.h" +#include "ai_squad.h" #include "te_effect_dispatch.h" #include "triggers.h" #include "smoke_trail.h" #include "collisionutils.h" #include "hl2_shareddefs.h" #include "rumble_shared.h" -#include "gamestats.h" +#include "GameStats.h" #ifdef PORTAL #include "portal_util_shared.h" @@ -44,7 +44,7 @@ static ConVar sk_apc_missile_damage("sk_apc_missile_damage", "15"); ConVar rpg_missle_use_custom_detonators( "rpg_missle_use_custom_detonators", "1" ); -#define APC_MISSILE_DAMAGE sk_apc_missile_damage.GetFloat() +#define APC_MISSILE_DAMAGE sk_apc_missile_damage.GetInt() const char *g_pLaserDotThink = "LaserThinkContext"; @@ -91,7 +91,7 @@ public: // a list of laser dots to search quickly CEntityClassList g_LaserDotList; -CLaserDot *CEntityClassList::m_pClassList = NULL; +template <> CLaserDot *CEntityClassList::m_pClassList = NULL; CLaserDot *GetLaserDotList() { return g_LaserDotList.m_pClassList; @@ -341,7 +341,7 @@ void CMissile::ShotDown( void ) void CMissile::DoExplosion( void ) { // Explode - ExplosionCreate( GetAbsOrigin(), GetAbsAngles(), GetOwnerEntity(), GetDamage(), CMissile::EXPLOSION_RADIUS, + ExplosionCreate( GetAbsOrigin(), GetAbsAngles(), GetOwnerEntity(), (int)GetDamage(), CMissile::EXPLOSION_RADIUS, SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0.0f, this); } @@ -891,7 +891,7 @@ CBaseEntity *CInfoAPCMissileHint::FindAimTarget( CBaseEntity *pMissile, const ch // a list of missiles to search quickly //----------------------------------------------------------------------------- CEntityClassList g_APCMissileList; -CAPCMissile *CEntityClassList::m_pClassList = NULL; +template <> CAPCMissile *CEntityClassList::m_pClassList = NULL; CAPCMissile *GetAPCMissileList() { return g_APCMissileList.m_pClassList; @@ -1250,7 +1250,7 @@ void CAPCMissile::ComputeActualDotPosition( CLaserDot *pLaserDot, Vector *pActua m_hSpecificTarget = CInfoAPCMissileHint::FindAimTarget( this, STRING( m_strHint ), vecOrigin, vecVelocity ); } - CBaseEntity *pLaserTarget = m_hSpecificTarget ? m_hSpecificTarget : pLaserDot->GetTargetEntity(); + CBaseEntity *pLaserTarget = m_hSpecificTarget ? m_hSpecificTarget.Get() : pLaserDot->GetTargetEntity(); if ( !pLaserTarget ) { BaseClass::ComputeActualDotPosition( pLaserDot, pActualDotPosition, pHomingSpeed ); diff --git a/game/server/hl2/weapon_shotgun.cpp b/game/server/hl2/weapon_shotgun.cpp index 75831592..ac1eecce 100644 --- a/game/server/hl2/weapon_shotgun.cpp +++ b/game/server/hl2/weapon_shotgun.cpp @@ -8,16 +8,16 @@ //=============================================================================// #include "cbase.h" -#include "NPCEvent.h" +#include "npcevent.h" #include "basehlcombatweapon_shared.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "gamerules.h" // For g_pGameRules #include "in_buttons.h" #include "soundent.h" #include "vstdlib/random.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" diff --git a/game/server/hl2/weapon_slam.cpp b/game/server/hl2/weapon_slam.cpp index 8965fce5..ed085d13 100644 --- a/game/server/hl2/weapon_slam.cpp +++ b/game/server/hl2/weapon_slam.cpp @@ -97,7 +97,7 @@ void CWeapon_SLAM::Precache( void ) //------------------------------------------------------------------------------ void CWeapon_SLAM::SetPickupTouch( void ) { - SetTouch(SlamTouch); + SetTouch(&CWeapon_SLAM::SlamTouch); } //----------------------------------------------------------------------------- @@ -934,7 +934,7 @@ bool CWeapon_SLAM::Deploy( void ) m_bDetonatorArmed = AnyUndetonatedCharges(); - SetThink( SLAMThink ); + SetThink( &CWeapon_SLAM::SLAMThink ); SetNextThink( gpGlobals->curtime + 0.1f ); SetModel( GetViewModel() ); diff --git a/game/server/hl2/weapon_smg1.cpp b/game/server/hl2/weapon_smg1.cpp index 81a0b716..2e87820a 100644 --- a/game/server/hl2/weapon_smg1.cpp +++ b/game/server/hl2/weapon_smg1.cpp @@ -6,17 +6,17 @@ #include "cbase.h" #include "basehlcombatweapon.h" -#include "NPCevent.h" +#include "npcevent.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "game.h" #include "in_buttons.h" #include "grenade_ar2.h" -#include "AI_Memory.h" +#include "ai_memory.h" #include "soundent.h" #include "rumble_shared.h" -#include "gamestats.h" +#include "GameStats.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" diff --git a/game/server/hl2/weapon_smg2.cpp b/game/server/hl2/weapon_smg2.cpp index 8ea308af..7b6c636a 100644 --- a/game/server/hl2/weapon_smg2.cpp +++ b/game/server/hl2/weapon_smg2.cpp @@ -6,9 +6,9 @@ #include "cbase.h" #include "basehlcombatweapon.h" -#include "NPCevent.h" +#include "npcevent.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "game.h" #include "in_buttons.h" diff --git a/game/server/hl2/weapon_sniperrifle.cpp b/game/server/hl2/weapon_sniperrifle.cpp index d0d32dda..392556d1 100644 --- a/game/server/hl2/weapon_sniperrifle.cpp +++ b/game/server/hl2/weapon_sniperrifle.cpp @@ -13,10 +13,10 @@ //=============================================================================// #include "cbase.h" -#include "NPCEvent.h" +#include "npcevent.h" #include "basehlcombatweapon.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "gamerules.h" // For g_pGameRules #include "in_buttons.h" @@ -364,7 +364,7 @@ void CWeaponSniperRifle::Zoom( void ) return; } - if (m_nZoomLevel >= sizeof(g_nZoomFOV) / sizeof(g_nZoomFOV[0])) + if (m_nZoomLevel >= (int)(sizeof(g_nZoomFOV) / sizeof(g_nZoomFOV[0]))) { if ( pPlayer->SetFOV( this, 0 ) ) { diff --git a/game/server/hl2/weapon_stunstick.cpp b/game/server/hl2/weapon_stunstick.cpp index bd5b2ec4..c8e1fddf 100644 --- a/game/server/hl2/weapon_stunstick.cpp +++ b/game/server/hl2/weapon_stunstick.cpp @@ -211,7 +211,7 @@ void CWeaponStunStick::Operator_HandleAnimEvent( animevent_t *pEvent, CBaseComba VectorMA( pOperator->Weapon_ShootPosition(), 32, vecDirection, vecEnd ); // Stretch the swing box down to catch low level physics objects CBaseEntity *pHurt = pOperator->CheckTraceHullAttack( pOperator->Weapon_ShootPosition(), vecEnd, - Vector(-16,-16,-40), Vector(16,16,16), GetDamageForActivity( GetActivity() ), DMG_CLUB, 0.5f, false ); + Vector(-16,-16,-40), Vector(16,16,16), (int)GetDamageForActivity( GetActivity() ), DMG_CLUB, 0.5f, false ); // did I hit someone? if ( pHurt ) diff --git a/game/server/hl2/weapon_thumper.cpp b/game/server/hl2/weapon_thumper.cpp index 8825b372..8d27dae0 100644 --- a/game/server/hl2/weapon_thumper.cpp +++ b/game/server/hl2/weapon_thumper.cpp @@ -8,9 +8,9 @@ #include "cbase.h" #include "basehlcombatweapon.h" -#include "NPCevent.h" +#include "npcevent.h" #include "basecombatcharacter.h" -#include "AI_BaseNPC.h" +#include "ai_basenpc.h" #include "player.h" #include "entitylist.h" #include "ndebugoverlay.h" @@ -70,8 +70,8 @@ void CPortableThumper::Spawn( void ) SetSolid( SOLID_BBOX ); UTIL_SetSize( this, vecBBMin, vecBBMax ); - SetThink( ThumpThink ); - SetUse( ThumperUse ); + SetThink( &CPortableThumper::ThumpThink ); + SetUse( &CPortableThumper::ThumperUse ); SetNextThink( gpGlobals->curtime + thumpFrequency.GetFloat() ); } @@ -292,4 +292,4 @@ void CWeaponThumper::SecondaryAttack( void ) { m_flNextSecondaryAttack = gpGlobals->curtime + 0.5; } -*/ \ No newline at end of file +*/ diff --git a/game/server/hl2/weapon_tripwire.cpp b/game/server/hl2/weapon_tripwire.cpp index a725370d..791be343 100644 --- a/game/server/hl2/weapon_tripwire.cpp +++ b/game/server/hl2/weapon_tripwire.cpp @@ -86,7 +86,7 @@ void CWeapon_Tripwire::Precache( void ) //------------------------------------------------------------------------------ void CWeapon_Tripwire::SetPickupTouch( void ) { - SetTouch(TripwireTouch); + SetTouch(&CWeapon_Tripwire::TripwireTouch); } //----------------------------------------------------------------------------- diff --git a/game/server/hl2mp/grenade_satchel.cpp b/game/server/hl2mp/grenade_satchel.cpp index 31d016af..5d7ae3d7 100644 --- a/game/server/hl2mp/grenade_satchel.cpp +++ b/game/server/hl2mp/grenade_satchel.cpp @@ -118,7 +118,7 @@ void CSatchelCharge::CreateEffects( void ) //----------------------------------------------------------------------------- void CSatchelCharge::InputExplode( inputdata_t &inputdata ) { - ExplosionCreate( GetAbsOrigin() + Vector( 0, 0, 16 ), GetAbsAngles(), GetThrower(), GetDamage(), 200, + ExplosionCreate( GetAbsOrigin() + Vector( 0, 0, 16 ), GetAbsAngles(), GetThrower(), (int)GetDamage(), 200, SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0.0f, this); UTIL_Remove( this ); diff --git a/game/server/hl2mp/grenade_tripmine.cpp b/game/server/hl2mp/grenade_tripmine.cpp index 6b4dd86d..38845cbf 100644 --- a/game/server/hl2mp/grenade_tripmine.cpp +++ b/game/server/hl2mp/grenade_tripmine.cpp @@ -176,7 +176,7 @@ void CTripmineGrenade::MakeBeam( void ) m_pBeam = CBeam::BeamCreate( g_pModelNameLaser, 0.35 ); m_pBeam->PointEntInit( vecTmpEnd, this ); m_pBeam->SetColor( 255, 55, 52 ); - m_pBeam->SetScrollRate( 25.6 ); + m_pBeam->SetScrollRate( (int)25.6 ); m_pBeam->SetBrightness( 64 ); int beamAttach = LookupAttachment("beam_attach"); @@ -266,7 +266,7 @@ void CTripmineGrenade::DelayDeathThink( void ) UTIL_TraceLine ( GetAbsOrigin() + m_vecDir * 8, GetAbsOrigin() - m_vecDir * 64, MASK_SOLID, this, COLLISION_GROUP_NONE, & tr); UTIL_ScreenShake( GetAbsOrigin(), 25.0, 150.0, 1.0, 750, SHAKE_START ); - ExplosionCreate( GetAbsOrigin() + m_vecDir * 8, GetAbsAngles(), m_hOwner, GetDamage(), 200, + ExplosionCreate( GetAbsOrigin() + m_vecDir * 8, GetAbsAngles(), m_hOwner, (int)GetDamage(), 200, SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0.0f, this); UTIL_Remove( this ); diff --git a/game/server/hl2mp/hl2mp_bot_temp.cpp b/game/server/hl2mp/hl2mp_bot_temp.cpp index b9c2cb25..de6851b7 100644 --- a/game/server/hl2mp/hl2mp_bot_temp.cpp +++ b/game/server/hl2mp/hl2mp_bot_temp.cpp @@ -40,7 +40,7 @@ ConVar bot_crouch( "bot_crouch", "0", 0, "Bot crouches" ); static int BotNumber = 1; static int g_iNextBotTeam = -1; -static int g_iNextBotClass = -1; +//static int g_iNextBotClass = -1; typedef struct { @@ -250,7 +250,7 @@ void Bot_Think( CHL2MP_Player *pBot ) QAngle angle; float angledelta = 15.0; - int maxtries = (int)360.0/angledelta; + int maxtries = (int)(360.0 / angledelta); if ( botdata->lastturntoright ) { diff --git a/game/server/hl2mp/hl2mp_cvars.cpp b/game/server/hl2mp/hl2mp_cvars.cpp index 964f7141..cbd5a788 100644 --- a/game/server/hl2mp/hl2mp_cvars.cpp +++ b/game/server/hl2mp/hl2mp_cvars.cpp @@ -22,4 +22,4 @@ ConVar mp_ready_signal( "mp_ready_signal", "ready", FCVAR_GAMEDLL, - "Text that each player must speak for the match to begin" ); \ No newline at end of file + "Text that each player must speak for the match to begin" ); diff --git a/game/server/hl2mp/hl2mp_cvars.h b/game/server/hl2mp/hl2mp_cvars.h index 3602ac60..51daeea9 100644 --- a/game/server/hl2mp/hl2mp_cvars.h +++ b/game/server/hl2mp/hl2mp_cvars.h @@ -17,4 +17,4 @@ extern ConVar mp_restartround; extern ConVar mp_readyrestart; extern ConVar mp_ready_signal; -#endif //HL2MP_CVARS_H \ No newline at end of file +#endif //HL2MP_CVARS_H diff --git a/game/server/hl2mp/hl2mp_gameinterface.h b/game/server/hl2mp/hl2mp_gameinterface.h index a240dbe8..1aa29dc6 100644 --- a/game/server/hl2mp/hl2mp_gameinterface.h +++ b/game/server/hl2mp/hl2mp_gameinterface.h @@ -6,4 +6,4 @@ #include "gameinterface.h" -#endif \ No newline at end of file +#endif diff --git a/game/server/hl2mp/hl2mp_player.cpp b/game/server/hl2mp/hl2mp_player.cpp index a86279ae..6715536e 100644 --- a/game/server/hl2mp/hl2mp_player.cpp +++ b/game/server/hl2mp/hl2mp_player.cpp @@ -20,7 +20,7 @@ #include "weapon_hl2mpbase.h" #include "grenade_satchel.h" #include "eventqueue.h" -#include "gamestats.h" +#include "GameStats.h" #include "engine/IEngineSound.h" #include "SoundEmitterSystem/isoundemittersystembase.h" @@ -44,8 +44,8 @@ LINK_ENTITY_TO_CLASS( info_player_combine, CPointEntity ); LINK_ENTITY_TO_CLASS( info_player_rebel, CPointEntity ); IMPLEMENT_SERVERCLASS_ST(CHL2MP_Player, DT_HL2MP_Player) - SendPropAngle( SENDINFO_VECTORELEM(m_angEyeAngles, 0), 11, SPROP_CHANGES_OFTEN ), - SendPropAngle( SENDINFO_VECTORELEM(m_angEyeAngles, 1), 11, SPROP_CHANGES_OFTEN ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angEyeAngles, 0, x), 11, SPROP_CHANGES_OFTEN ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angEyeAngles, 1, y), 11, SPROP_CHANGES_OFTEN ), SendPropEHandle( SENDINFO( m_hRagdoll ) ), SendPropInt( SENDINFO( m_iSpawnInterpCounter), 4 ), SendPropInt( SENDINFO( m_iPlayerSoundType), 3 ), @@ -95,7 +95,9 @@ const char *g_ppszRandomCombineModels[] = #define HL2MPPLAYER_PHYSDAMAGE_SCALE 4.0f +#ifdef _MSC_VER #pragma warning( disable : 4355 ) +#endif CHL2MP_Player::CHL2MP_Player() : m_PlayerAnimState( this ) { @@ -1542,7 +1544,7 @@ CHL2MPPlayerStateInfo *CHL2MP_Player::State_LookupInfo( HL2MPPlayerState state ) { STATE_OBSERVER_MODE, "STATE_OBSERVER_MODE", &CHL2MP_Player::State_Enter_OBSERVER_MODE, NULL, &CHL2MP_Player::State_PreThink_OBSERVER_MODE } }; - for ( int i=0; i < ARRAYSIZE( playerStateInfos ); i++ ) + for ( size_t i=0; i < ARRAYSIZE( playerStateInfos ); i++ ) { if ( playerStateInfos[i].m_iPlayerState == state ) return &playerStateInfos[i]; diff --git a/game/server/hltvdirector.cpp b/game/server/hltvdirector.cpp index fc61d771..5dc82db2 100644 --- a/game/server/hltvdirector.cpp +++ b/game/server/hltvdirector.cpp @@ -400,7 +400,7 @@ void CHLTVDirector::StartBestPlayerCameraShot() if ( iBestCamera != -1 ) { // view over shoulder, randomly left or right - StartChaseCameraShot( iBestCamera, iBestTarget, 112.0f, 20, (RandomFloat()>0.5)?20:-20, false ); + StartChaseCameraShot( iBestCamera, iBestTarget, 112, 20, (RandomFloat()>0.5)?20:-20, false ); } else { @@ -423,11 +423,11 @@ void CHLTVDirector::StartFixedCameraShot(int iCamera, int iTarget) if ( shot ) { - shot->SetInt("posx", vCamPos.x ); - shot->SetInt("posy", vCamPos.y ); - shot->SetInt("posz", vCamPos.z ); - shot->SetInt("theta", aViewAngle.x ); - shot->SetInt("phi", aViewAngle.y ); + shot->SetInt("posx", (int)vCamPos.x ); + shot->SetInt("posy", (int)vCamPos.y ); + shot->SetInt("posz", (int)vCamPos.z ); + shot->SetInt("theta", (int)aViewAngle.x ); + shot->SetInt("phi", (int)aViewAngle.y ); shot->SetInt("target", iTarget ); shot->SetFloat("fov", RandomFloat(50,110) ); diff --git a/game/server/hltvdirector.h b/game/server/hltvdirector.h index f6b0f5ab..ae12c9c8 100644 --- a/game/server/hltvdirector.h +++ b/game/server/hltvdirector.h @@ -67,7 +67,7 @@ public: // CBaseGameSystem overrides virtual void Shutdown(); virtual void FrameUpdatePostEntityThink(); virtual void LevelInitPostEntity(); - virtual char *GetFixedCameraEntityName( void ) { return "point_viewcontrol"; } + virtual const char* GetFixedCameraEntityName( void ) { return "point_viewcontrol"; } bool SetCameraMan( int iPlayerIndex ); int GetCameraMan() { return m_iCameraManIndex; } diff --git a/game/server/item_world.cpp b/game/server/item_world.cpp index 1d15d4a8..51497ea5 100644 --- a/game/server/item_world.cpp +++ b/game/server/item_world.cpp @@ -249,6 +249,8 @@ void CItem::OnEntityEvent( EntityEvent_t event, void *pEventData ) SetNextThink( gpGlobals->curtime + 0.1f ); } break; + default: + break; } } diff --git a/game/server/lights.cpp b/game/server/lights.cpp index a19da9c8..49bfea0c 100644 --- a/game/server/lights.cpp +++ b/game/server/lights.cpp @@ -218,7 +218,7 @@ void CLight::FadeThink(void) { char sCurString[2]; sCurString[0] = m_iCurrentFade; - sCurString[1] = NULL; + sCurString[1] = '\0'; engine->LightStyle(m_iStyle, sCurString); // UNDONE: Consider making this settable war to control fade speed diff --git a/game/server/logic_achievement.cpp b/game/server/logic_achievement.cpp index 3984d3be..c038ef61 100644 --- a/game/server/logic_achievement.cpp +++ b/game/server/logic_achievement.cpp @@ -179,4 +179,4 @@ void CLogicAchievement::InputDisable( inputdata_t &inputdata ) void CLogicAchievement::InputToggle( inputdata_t &inputdata ) { m_bDisabled = !m_bDisabled; -} \ No newline at end of file +} diff --git a/game/server/logic_mirror_movement.cpp b/game/server/logic_mirror_movement.cpp index 6fcadd48..e89d3a18 100644 --- a/game/server/logic_mirror_movement.cpp +++ b/game/server/logic_mirror_movement.cpp @@ -157,7 +157,7 @@ void CLogicMirrorMovement::Think() { // If we will never find a target, we don't have a use... shutdown if ( m_strMirrorTarget == NULL_STRING ) - SetNextThink ( NULL ); + SetNextThink ( 0.0f ); //BUGBUG: If m_strSetMirrorTarget doesn't exist in ent list, we get per-think searches with no results ever... SetMirrorTarget ( STRING(m_strMirrorTarget) ); diff --git a/game/server/logicentities.cpp b/game/server/logicentities.cpp index 004614f3..4372a319 100644 --- a/game/server/logicentities.cpp +++ b/game/server/logicentities.cpp @@ -804,10 +804,10 @@ void CMathColorBlend::InputValue( inputdata_t &inputdata ) // Remap the input value to the desired output color and update the output. // color32 Color; - Color.r = m_OutColor1.r + (((flClampValue - m_flInMin) * (m_OutColor2.r - m_OutColor1.r)) / (m_flInMax - m_flInMin)); - Color.g = m_OutColor1.g + (((flClampValue - m_flInMin) * (m_OutColor2.g - m_OutColor1.g)) / (m_flInMax - m_flInMin)); - Color.b = m_OutColor1.b + (((flClampValue - m_flInMin) * (m_OutColor2.b - m_OutColor1.b)) / (m_flInMax - m_flInMin)); - Color.a = m_OutColor1.a + (((flClampValue - m_flInMin) * (m_OutColor2.a - m_OutColor1.a)) / (m_flInMax - m_flInMin)); + Color.r = (byte)(m_OutColor1.r + (((flClampValue - m_flInMin) * (m_OutColor2.r - m_OutColor1.r)) / (m_flInMax - m_flInMin))); + Color.g = (byte)(m_OutColor1.g + (((flClampValue - m_flInMin) * (m_OutColor2.g - m_OutColor1.g)) / (m_flInMax - m_flInMin))); + Color.b = (byte)(m_OutColor1.b + (((flClampValue - m_flInMin) * (m_OutColor2.b - m_OutColor1.b)) / (m_flInMax - m_flInMin))); + Color.a = (byte)(m_OutColor1.a + (((flClampValue - m_flInMin) * (m_OutColor2.a - m_OutColor1.a)) / (m_flInMax - m_flInMin))); m_OutValue.Set(Color, inputdata.pActivator, this); } @@ -2737,7 +2737,7 @@ int CLogicBranchList::DrawDebugTextOverlays( void ) CLogicBranch *pBranch = (CLogicBranch *)m_LogicBranchList.Element( i ).Get(); if ( pBranch ) { - Q_snprintf( tempstr, sizeof(tempstr), "Branch (%s): %s", pBranch->GetEntityName(), (pBranch->GetLogicBranchState()) ? "TRUE" : "FALSE" ); + Q_snprintf( tempstr, sizeof(tempstr), "Branch (%s): %s", STRING(pBranch->GetEntityName()), (pBranch->GetLogicBranchState()) ? "TRUE" : "FALSE" ); EntityText( text_offset, tempstr, 0 ); text_offset++; } diff --git a/game/server/movement.cpp b/game/server/movement.cpp index 94ca94d5..0cc02b7a 100644 --- a/game/server/movement.cpp +++ b/game/server/movement.cpp @@ -146,9 +146,9 @@ void CPathKeyFrame::CalculateFrameDuration( void ) float x = 0; for ( int i = 0; i < 3; i++ ) { - if ( abs(ang[i]) > x ) + if ( fabs(ang[i]) > x ) { - x = abs(ang[i]); + x = fabs(ang[i]); } } diff --git a/game/server/nav.h b/game/server/nav.h index d4a42616..bf3c7757 100644 --- a/game/server/nav.h +++ b/game/server/nav.h @@ -174,6 +174,7 @@ inline NavDirType OppositeDirection( NavDirType dir ) case SOUTH: return NORTH; case EAST: return WEST; case WEST: return EAST; + default: break; } return NORTH; @@ -188,6 +189,7 @@ inline NavDirType DirectionLeft( NavDirType dir ) case SOUTH: return EAST; case EAST: return NORTH; case WEST: return SOUTH; + default: break; } return NORTH; @@ -202,6 +204,7 @@ inline NavDirType DirectionRight( NavDirType dir ) case SOUTH: return WEST; case EAST: return SOUTH; case WEST: return NORTH; + default: break; } return NORTH; @@ -216,6 +219,7 @@ inline void AddDirectionVector( Vector *v, NavDirType dir, float amount ) case SOUTH: v->y += amount; return; case EAST: v->x += amount; return; case WEST: v->x -= amount; return; + default: break; } } @@ -228,6 +232,7 @@ inline float DirectionToAngle( NavDirType dir ) case SOUTH: return 90.0f; case EAST: return 0.0f; case WEST: return 180.0f; + default: break; } return 0.0f; @@ -263,6 +268,7 @@ inline void DirectionToVector2D( NavDirType dir, Vector2D *v ) case SOUTH: v->x = 0.0f; v->y = 1.0f; break; case EAST: v->x = 1.0f; v->y = 0.0f; break; case WEST: v->x = -1.0f; v->y = 0.0f; break; + default: break; } } @@ -276,6 +282,7 @@ inline void CornerToVector2D( NavCornerType dir, Vector2D *v ) case NORTH_EAST: v->x = 1.0f; v->y = -1.0f; break; case SOUTH_EAST: v->x = 1.0f; v->y = 1.0f; break; case SOUTH_WEST: v->x = -1.0f; v->y = 1.0f; break; + default: break; } v->NormalizeInPlace(); diff --git a/game/server/nav_area.cpp b/game/server/nav_area.cpp index be046ae9..20f99791 100644 --- a/game/server/nav_area.cpp +++ b/game/server/nav_area.cpp @@ -882,6 +882,8 @@ void CNavArea::FinishSplitEdit( CNavArea *newArea, NavDirType ignoreEdge ) corner[0] = NORTH_WEST; corner[1] = SOUTH_WEST; break; + default: + break; } while ( !newArea->IsOverlapping( *newArea->m_node[ corner[0] ]->GetPosition(), GenerationStepSize/2 ) ) @@ -2202,8 +2204,8 @@ void CNavArea::DrawConnectedAreas( void ) const { adj->DrawHidingSpots(); - Vector from, to; - Vector hookPos; + Vector from = Vector(0.0f, 0.0f, 0.0f), to = Vector(0.0f, 0.0f, 0.0f); + Vector hookPos = Vector(0.0f, 0.0f, 0.0f); float halfWidth; float size = 5.0f; ComputePortal( adj, dir, &hookPos, &halfWidth ); @@ -2226,6 +2228,8 @@ void CNavArea::DrawConnectedAreas( void ) const from = hookPos + Vector( size, 0.0f, 0.0f ); to = hookPos + Vector( -size, 0.0f, 0.0f ); break; + default: + break; } from.z = GetZ( from ); @@ -2509,6 +2513,8 @@ static Vector FindPositionInArea( CNavArea *area, NavCornerType corner ) multX = -1; multY = -1; break; + default: + break; } const float offset = 12.5f; @@ -3032,6 +3038,8 @@ void CNavArea::RaiseCorner( NavCornerType corner, int amount, bool raiseAdjacent case SOUTH_EAST: m_extent.hi.z += amount; break; + default: + break; } // Recompute the center @@ -3088,7 +3096,7 @@ void CNavArea::RaiseCorner( NavCornerType corner, int amount, bool raiseAdjacent if ( areaPos.DistTo( cornerPos ) < tolerance ) { float heightDiff = (cornerPos.z + amount ) - areaPos.z; - area->RaiseCorner( NavCornerType(i), heightDiff, false ); + area->RaiseCorner( NavCornerType(i), (int)heightDiff, false ); } } } @@ -3205,25 +3213,25 @@ void CNavArea::PlaceOnGround( NavCornerType corner, float inset ) if ( corner == NORTH_WEST || corner == NUM_CORNERS ) { float newZ = FindGroundZ( nw, ne, sw ); - RaiseCorner( NORTH_WEST, newZ - nw.z ); + RaiseCorner( NORTH_WEST, static_cast(newZ - nw.z) ); } if ( corner == NORTH_EAST || corner == NUM_CORNERS ) { float newZ = FindGroundZ( ne, nw, se ); - RaiseCorner( NORTH_EAST, newZ - ne.z ); + RaiseCorner( NORTH_EAST, static_cast(newZ - ne.z) ); } if ( corner == SOUTH_WEST || corner == NUM_CORNERS ) { float newZ = FindGroundZ( sw, nw, se ); - RaiseCorner( SOUTH_WEST, newZ - sw.z ); + RaiseCorner( SOUTH_WEST, static_cast(newZ - sw.z) ); } if ( corner == SOUTH_EAST || corner == NUM_CORNERS ) { float newZ = FindGroundZ( se, ne, sw ); - RaiseCorner( SOUTH_EAST, newZ - se.z ); + RaiseCorner( SOUTH_EAST, static_cast(newZ - se.z) ); } } @@ -3356,7 +3364,7 @@ public: //----------------------------------------------------------------------------------------------------- -static int GetPushawayEntsInVolume( const Vector& origin, const Vector& mins, const Vector& maxs, CBaseEntity **ents, int nMaxEnts, int PartitionMask, CNavBlockerEnumerator *enumerator ) +/*static int GetPushawayEntsInVolume( const Vector& origin, const Vector& mins, const Vector& maxs, CBaseEntity **ents, int nMaxEnts, int PartitionMask, CNavBlockerEnumerator *enumerator ) { Ray_t ray; ray.Init( origin, origin, mins, maxs ); @@ -3376,7 +3384,7 @@ static int GetPushawayEntsInVolume( const Vector& origin, const Vector& mins, co delete physPropEnum; return numHit; -} +}*/ //-------------------------------------------------------------------------------------------------------------- diff --git a/game/server/nav_colors.h b/game/server/nav_colors.h index 8b0bd643..213b7def 100644 --- a/game/server/nav_colors.h +++ b/game/server/nav_colors.h @@ -66,4 +66,4 @@ void NavDrawDashedLine( const Vector& from, const Vector& to, NavEditColor navCo //-------------------------------------------------------------------------------------------------------------- -#endif // NAV_COLORS_H \ No newline at end of file +#endif // NAV_COLORS_H diff --git a/game/server/nav_file.cpp b/game/server/nav_file.cpp index 27342b58..9f640855 100644 --- a/game/server/nav_file.cpp +++ b/game/server/nav_file.cpp @@ -20,7 +20,7 @@ //-------------------------------------------------------------------------------------------------------------- /// The current version of the nav file format -const int NavCurrentVersion = 9; +const unsigned int NavCurrentVersion = 9; //-------------------------------------------------------------------------------------------------------------- // @@ -1166,6 +1166,8 @@ void CommandNavCheckFileConsistency( void ) case NAV_OK: Msg( "The nav file for %s is up-to-date\n", bspFilename ); break; + default: + break; } bspFilename = filesystem->FindNext( findHandle ); diff --git a/game/server/nav_generate.cpp b/game/server/nav_generate.cpp index d86b03da..cdeddb18 100644 --- a/game/server/nav_generate.cpp +++ b/game/server/nav_generate.cpp @@ -1895,6 +1895,9 @@ bool CNavMesh::UpdateGeneration( float maxTime ) return false; } + + default: + break; } return false; @@ -2073,16 +2076,16 @@ bool CNavMesh::SampleStep( void ) Vector pos = *m_currentNode->GetPosition(); // snap to grid - int cx = SnapToGrid( pos.x ); - int cy = SnapToGrid( pos.y ); + int cx = (int)SnapToGrid( pos.x ); + int cy = (int)SnapToGrid( pos.y ); // attempt to move to adjacent node switch( dir ) { - case NORTH: cy -= GenerationStepSize; break; - case SOUTH: cy += GenerationStepSize; break; - case EAST: cx += GenerationStepSize; break; - case WEST: cx -= GenerationStepSize; break; + case NORTH: cy = (int)(cy - GenerationStepSize); break; + case SOUTH: cy = (int)(cy + GenerationStepSize); break; + case EAST: cx = (int)(cx + GenerationStepSize); break; + case WEST: cx = (int)(cx - GenerationStepSize); break; } pos.x = cx; diff --git a/game/server/nav_ladder.cpp b/game/server/nav_ladder.cpp index 70296a5a..0217e63c 100644 --- a/game/server/nav_ladder.cpp +++ b/game/server/nav_ladder.cpp @@ -100,6 +100,8 @@ CNavArea ** CNavLadder::GetConnection( LadderConnectionType dir ) return &m_topBehindArea; case LADDER_BOTTOM: return &m_bottomArea; + default: + break; } return NULL; diff --git a/game/server/nav_mesh.cpp b/game/server/nav_mesh.cpp index f857c94f..538c6e83 100644 --- a/game/server/nav_mesh.cpp +++ b/game/server/nav_mesh.cpp @@ -508,7 +508,7 @@ CNavArea *CNavMesh::GetNearestNavArea( const Vector &pos, bool anyZ, float maxDi int originX = WorldToGridX( pos.x ); int originY = WorldToGridY( pos.y ); - int shiftLimit = maxDist / m_gridCellSize; + int shiftLimit = static_cast(maxDist / m_gridCellSize); // // Search in increasing rings out from origin, starting with cell diff --git a/game/server/nav_node.cpp b/game/server/nav_node.cpp index f761bef2..d76073e3 100644 --- a/game/server/nav_node.cpp +++ b/game/server/nav_node.cpp @@ -244,7 +244,7 @@ void CNavNode::CheckCrouch( void ) #endif // DEBUG_NAV_NODES NavCornerType corner = (NavCornerType)i; - Vector2D cornerVec; + Vector2D cornerVec = Vector2D(0.0f, 0.0f); CornerToVector2D( corner, &cornerVec ); Vector actualGroundPos = groundPos; // we might need to adjust this if the tracehull failed above and we fell back to m_pos.z diff --git a/game/server/npc_talker.cpp b/game/server/npc_talker.cpp index 5220fdcc..e4b56ab5 100644 --- a/game/server/npc_talker.cpp +++ b/game/server/npc_talker.cpp @@ -5,6 +5,7 @@ // $NoKeywords: $ // //=============================================================================// + #include "cbase.h" #include "npc_talker.h" @@ -37,7 +38,7 @@ BEGIN_DATADESC( CNPCSimpleTalker ) END_DATADESC() // array of friend names -char *CNPCSimpleTalker::m_szFriends[TLK_CFRIENDS] = +const char *CNPCSimpleTalker::m_szFriends[TLK_CFRIENDS] = { "NPC_barney", "NPC_scientist", @@ -312,7 +313,7 @@ void CNPCSimpleTalker::Event_Killed( const CTakeDamageInfo &info ) CBaseEntity *CNPCSimpleTalker::EnumFriends( CBaseEntity *pPrevious, int listNumber, bool bTrace ) { CBaseEntity *pFriend = pPrevious; - char *pszFriend; + const char *pszFriend; trace_t tr; Vector vecCheck; @@ -765,7 +766,7 @@ int CNPCSimpleTalker::PlayScriptedSentence( const char *pszSentence, float delay m_useTime = gpGlobals->curtime + delay; // Stop all idle speech until after the sentence has completed - DeferAllIdleSpeech( delay + random->RandomInt( 3.0f, 5.0f ) ); + DeferAllIdleSpeech( delay + random->RandomFloat( 3.0f, 5.0f ) ); return sentenceIndex; } @@ -1126,7 +1127,7 @@ bool CNPCSimpleTalker::ShouldSpeakRandom( int iChance, float flModifier ) if ( !flModifier ) return false; - iChance = floor( (float)iChance / flModifier ); + iChance = (int)floor( (float)iChance / flModifier ); } return (random->RandomInt(0,iChance) == 0); diff --git a/game/server/npc_talker.h b/game/server/npc_talker.h index fc0f1db0..9f30c657 100644 --- a/game/server/npc_talker.h +++ b/game/server/npc_talker.h @@ -15,7 +15,7 @@ #include #endif -#ifndef _XBOX +#if !defined _XBOX && defined _MSC_VER #pragma warning(push) #include #pragma warning(pop) @@ -223,7 +223,7 @@ public: int m_nSpeak; // number of times initiated talking float m_flNextIdleSpeechTime; - static char *m_szFriends[TLK_CFRIENDS]; // array of friend names + static const char *m_szFriends[TLK_CFRIENDS]; // array of friend names CBaseEntity *EnumFriends( CBaseEntity *pentPrevious, int listNumber, bool bTrace ); virtual int FriendNumber( int arrayNumber ) { return arrayNumber; } diff --git a/game/server/npc_vehicledriver.cpp b/game/server/npc_vehicledriver.cpp index bdda2ecd..35776ce7 100644 --- a/game/server/npc_vehicledriver.cpp +++ b/game/server/npc_vehicledriver.cpp @@ -297,6 +297,9 @@ int CNPC_VehicleDriver::SelectSchedule( void ) return SCHED_VEHICLEDRIVER_COMBAT_WAIT; } break; + + default: + break; } return BaseClass::SelectSchedule(); diff --git a/game/server/particle_system.cpp b/game/server/particle_system.cpp index 04b770e3..a9b59eb7 100644 --- a/game/server/particle_system.cpp +++ b/game/server/particle_system.cpp @@ -102,6 +102,7 @@ BEGIN_DATADESC( CParticleSystem ) DEFINE_KEYFIELD( m_iszControlPointNames[61], FIELD_STRING, "cpoint62" ), DEFINE_KEYFIELD( m_iszControlPointNames[62], FIELD_STRING, "cpoint63" ), + /* This causes a cannot apply ‘offsetof’ when ‘operator[]’ is overloaded error in GCC 4.2 DEFINE_KEYFIELD( m_iControlPointParents[0], FIELD_CHARACTER, "cpoint1_parent" ), DEFINE_KEYFIELD( m_iControlPointParents[1], FIELD_CHARACTER, "cpoint2_parent" ), DEFINE_KEYFIELD( m_iControlPointParents[2], FIELD_CHARACTER, "cpoint3_parent" ), @@ -109,6 +110,15 @@ BEGIN_DATADESC( CParticleSystem ) DEFINE_KEYFIELD( m_iControlPointParents[4], FIELD_CHARACTER, "cpoint5_parent" ), DEFINE_KEYFIELD( m_iControlPointParents[5], FIELD_CHARACTER, "cpoint6_parent" ), DEFINE_KEYFIELD( m_iControlPointParents[6], FIELD_CHARACTER, "cpoint7_parent" ), + */ + + DEFINE_KEYFIELD_NETARRAY( m_iControlPointParents, 0, FIELD_CHARACTER, "cpoint1_parent" ), + DEFINE_KEYFIELD_NETARRAY( m_iControlPointParents, 1, FIELD_CHARACTER, "cpoint2_parent" ), + DEFINE_KEYFIELD_NETARRAY( m_iControlPointParents, 2, FIELD_CHARACTER, "cpoint3_parent" ), + DEFINE_KEYFIELD_NETARRAY( m_iControlPointParents, 3, FIELD_CHARACTER, "cpoint4_parent" ), + DEFINE_KEYFIELD_NETARRAY( m_iControlPointParents, 4, FIELD_CHARACTER, "cpoint5_parent" ), + DEFINE_KEYFIELD_NETARRAY( m_iControlPointParents, 5, FIELD_CHARACTER, "cpoint6_parent" ), + DEFINE_KEYFIELD_NETARRAY( m_iControlPointParents, 6, FIELD_CHARACTER, "cpoint7_parent" ), DEFINE_AUTO_ARRAY( m_hControlPointEnts, FIELD_EHANDLE ), @@ -128,7 +138,7 @@ LINK_ENTITY_TO_CLASS( info_particle_system, CParticleSystem ); void CParticleSystem::Precache( void ) { const char *pParticleSystemName = STRING( m_iszEffectName ); - if ( pParticleSystemName == NULL || pParticleSystemName[0] == NULL ) + if ( pParticleSystemName == NULL || pParticleSystemName[0] == 0 ) { Warning( "info_particle_system (%s) has no particle system name specified!\n", GetEntityName().ToCStr() ); } diff --git a/game/server/physgun.cpp b/game/server/physgun.cpp index 49c46d11..7110bd22 100644 --- a/game/server/physgun.cpp +++ b/game/server/physgun.cpp @@ -19,7 +19,7 @@ #include "ndebugoverlay.h" #include "physics_saverestore.h" #include "player_pickup.h" -#include "soundemittersystem/isoundemittersystembase.h" +#include "SoundEmitterSystem/isoundemittersystembase.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" @@ -726,8 +726,9 @@ void CWeaponGravityGun::EffectUpdate( void ) // Add the incremental player yaw to the target transform matrix3x4_t curMatrix, incMatrix, nextMatrix; + QAngle ang(0.0f, pOwner->EyeAngles().y - m_lastYaw, 0.0f); AngleMatrix( m_gravCallback.m_targetRotation, curMatrix ); - AngleMatrix( QAngle(0,pOwner->EyeAngles().y - m_lastYaw,0), incMatrix ); + AngleMatrix( ang, incMatrix ); ConcatTransforms( incMatrix, curMatrix, nextMatrix ); MatrixAngles( nextMatrix, m_gravCallback.m_targetRotation ); m_lastYaw = pOwner->EyeAngles().y; diff --git a/game/server/physics.cpp b/game/server/physics.cpp index ec9414cd..d386b1ae 100644 --- a/game/server/physics.cpp +++ b/game/server/physics.cpp @@ -779,7 +779,7 @@ static void ReportPenetration( CBaseEntity *pEntity, float duration ) pEntity->m_debugOverlays |= OVERLAY_ABSBOX_BIT; } - pEntity->AddTimedOverlay( UTIL_VarArgs("VPhysics Penetration Error (%s)!", pEntity->GetDebugName()), duration ); + pEntity->AddTimedOverlay( UTIL_VarArgs("VPhysics Penetration Error (%s)!", pEntity->GetDebugName()), (int)duration ); } } @@ -1317,7 +1317,7 @@ CON_COMMAND_F(surfaceprop, "Reports the surface properties at the cursor", FCVAR // Calculate distance to surface that was hit Vector vecVelocity = tr.startpos - tr.endpos; - int length = vecVelocity.Length(); + int length = (int)vecVelocity.Length(); Msg("Hit surface \"%s\" (entity %s, model \"%s\" %s), texture \"%s\"\n", physprops->GetPropName( tr.surface.surfaceProps ), tr.m_pEnt->GetClassname(), pModelName, modelStuff.Access(), tr.surface.name); Msg("Distance to surface: %d\n", length ); @@ -1950,7 +1950,7 @@ friction_t *CCollisionEvent::FindFriction( CBaseEntity *pObject ) { friction_t *pFree = NULL; - for ( int i = 0; i < ARRAYSIZE(m_current); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(m_current); i++ ) { if ( !m_current[i].pObject && !pFree ) pFree = &m_current[i]; @@ -2061,7 +2061,7 @@ float CCollisionEvent::DeltaTimeSinceLastFluid( CBaseEntity *pEntity ) void CCollisionEvent::UpdateFrictionSounds( void ) { - for ( int i = 0; i < ARRAYSIZE(m_current); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(m_current); i++ ) { if ( m_current[i].patch ) { @@ -2393,7 +2393,7 @@ int CCollisionEvent::AddDamageInflictor( IPhysicsObject *pInflictorPhysics, floa void CCollisionEvent::LevelShutdown( void ) { - for ( int i = 0; i < ARRAYSIZE(m_current); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(m_current); i++ ) { if ( m_current[i].patch ) { diff --git a/game/server/physics_cannister.cpp b/game/server/physics_cannister.cpp index 2cd2165c..a975b5a1 100644 --- a/game/server/physics_cannister.cpp +++ b/game/server/physics_cannister.cpp @@ -364,7 +364,7 @@ void CPhysicsCannister::Explode( CBaseEntity *pAttacker ) pPhysics->GetVelocity( &velocity, &angVelocity ); PropBreakableCreateAll( GetModelIndex(), pPhysics, GetAbsOrigin(), GetAbsAngles(), velocity, angVelocity, 1.0, 20, COLLISION_GROUP_DEBRIS ); - ExplosionCreate( GetAbsOrigin(), GetAbsAngles(), pAttacker, m_damage, 0, true ); + ExplosionCreate( GetAbsOrigin(), GetAbsAngles(), pAttacker, (int)m_damage, 0, true ); UTIL_Remove( this ); } @@ -480,4 +480,4 @@ void CPhysicsCannister::VPhysicsUpdate( IPhysicsObject *pPhysics ) RemoveSpawnFlags( SF_CANNISTER_ASLEEP ); } } -} \ No newline at end of file +} diff --git a/game/server/physics_impact_damage.cpp b/game/server/physics_impact_damage.cpp index 90e92ec5..9b16d205 100644 --- a/game/server/physics_impact_damage.cpp +++ b/game/server/physics_impact_damage.cpp @@ -508,7 +508,7 @@ float CalculateDefaultPhysicsDamage( int index, gamevcollisionevent_t *pEvent, f // If we have a specified damage table, find it and use it instead if ( iszDamageTableName != NULL_STRING ) { - for ( int i = 0; i < ARRAYSIZE(gDamageTableRegistry); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(gDamageTableRegistry); i++ ) { if ( !Q_strcmp( gDamageTableRegistry[i].pszTableName, STRING(iszDamageTableName) ) ) return CalculatePhysicsImpactDamage( index, pEvent, *(gDamageTableRegistry[i].pTable), energyScale, allowStaticDamage, damageType, bDamageFromHeldObjects ); diff --git a/game/server/physics_main.cpp b/game/server/physics_main.cpp index dba1349d..5f76cf7c 100644 --- a/game/server/physics_main.cpp +++ b/game/server/physics_main.cpp @@ -447,8 +447,8 @@ void CPhysicsPushedEntities::StoreMovedEntities( physicspushlist_t &list ) list.localOrigin = m_rootPusherStartLocalOrigin; list.localAngles = m_rootPusherStartLocalAngles; list.pushedCount = CountMovedEntities(); - Assert(list.pushedCount < ARRAYSIZE(list.pushedEnts)); - if ( list.pushedCount > ARRAYSIZE(list.pushedEnts) ) + Assert(list.pushedCount < (int)ARRAYSIZE(list.pushedEnts)); + if ( list.pushedCount > (int)ARRAYSIZE(list.pushedEnts) ) { list.pushedCount = ARRAYSIZE(list.pushedEnts); } @@ -573,7 +573,7 @@ private: if ( m_collisionGroups[i] == collisionGroup ) return; } - if ( m_collisionGroupCount < ARRAYSIZE(m_collisionGroups) ) + if ( m_collisionGroupCount < (int)ARRAYSIZE(m_collisionGroups) ) { m_collisionGroups[m_collisionGroupCount] = collisionGroup; m_collisionGroupCount++; @@ -1377,7 +1377,7 @@ void CBaseEntity::PerformPush( float movetime ) m_pBlocker = pBlocker; if (m_pBlocker.ToInt() != hPrevBlocker) { - if (hPrevBlocker != INVALID_EHANDLE_INDEX) + if (hPrevBlocker != (int)INVALID_EHANDLE_INDEX) { EndBlocked(); } diff --git a/game/server/physics_prop_ragdoll.cpp b/game/server/physics_prop_ragdoll.cpp index b9a4b7f7..2cbff1a4 100644 --- a/game/server/physics_prop_ragdoll.cpp +++ b/game/server/physics_prop_ragdoll.cpp @@ -367,7 +367,7 @@ void CRagdollProp::OnPhysGunPickup( CBasePlayer *pPhysGunUser, PhysGunPickup_t r } else { - CRagdollBoogie::Create( this, 150, gpGlobals->curtime, 2.0f, 0.0f ); + CRagdollBoogie::Create( this, 150, gpGlobals->curtime, 2.0f, 0 ); } } diff --git a/game/server/physobj.cpp b/game/server/physobj.cpp index 2d9ad4af..21a5913a 100644 --- a/game/server/physobj.cpp +++ b/game/server/physobj.cpp @@ -1072,7 +1072,7 @@ int CPhysExplosion::DrawDebugTextOverlays( void ) text_offset++; // print target entity - Q_snprintf(tempstr,sizeof(tempstr)," limit to: %s", m_targetEntityName); + Q_snprintf(tempstr,sizeof(tempstr)," limit to: %s", STRING(m_targetEntityName)); EntityText(text_offset,tempstr,0); text_offset++; } @@ -1392,7 +1392,7 @@ void CPhysConvert::InputConvertTarget( inputdata_t &inputdata ) while ( (pEntity = gEntList.FindEntityByName( pEntity, m_target, NULL, inputdata.pActivator, inputdata.pCaller )) != NULL ) { entlist[count++] = pEntity; - if ( count >= ARRAYSIZE(entlist) ) + if ( count >= (int)ARRAYSIZE(entlist) ) break; } diff --git a/game/server/player.cpp b/game/server/player.cpp index ac9c95fe..9084762a 100644 --- a/game/server/player.cpp +++ b/game/server/player.cpp @@ -944,7 +944,7 @@ void CBasePlayer::DamageEffect(float flDamage, int fDamageType) UTIL_ScreenFade( this, blue, 0.2, 0.4, FFADE_MODULATE ); // Very small screen shake - ViewPunch(QAngle(random->RandomInt(-0.1,0.1), random->RandomInt(-0.1,0.1), random->RandomInt(-0.1,0.1))); + ViewPunch(QAngle(random->RandomFloat(-0.1f,0.1f), random->RandomFloat(-0.1f,0.1f), random->RandomFloat(-0.1f,0.1f))); // Burn sound EmitSound( "Player.PlasmaDamage" ); @@ -1102,7 +1102,7 @@ int CBasePlayer::OnTakeDamage( const CTakeDamageInfo &inputInfo ) } // keep track of amount of damage last sustained - m_lastDamageAmount = info.GetDamage(); + m_lastDamageAmount = (int)info.GetDamage(); // Armor. if (m_ArmorValue && !(info.GetDamageType() & (DMG_FALL | DMG_DROWN | DMG_POISON | DMG_RADIATION)) )// armor doesn't protect against fall or drown damage! @@ -1252,7 +1252,7 @@ int CBasePlayer::OnTakeDamage( const CTakeDamageInfo &inputInfo ) { if (bitsDamage & DMG_POISON) { - m_nPoisonDmg += info.GetDamage(); + m_nPoisonDmg += (int)info.GetDamage(); m_tbdPrev = gpGlobals->curtime; m_rgbTimeBasedDamage[itbd_PoisonRecover] = 0; } @@ -1402,7 +1402,7 @@ void CBasePlayer::PackDeadPlayerItems( void ) int iPW = 0;// index into packweapons array int iPA = 0;// index into packammo array - memset(rgpPackWeapons, NULL, sizeof(rgpPackWeapons) ); + memset(rgpPackWeapons, 0, sizeof(rgpPackWeapons) ); memset(iPackAmmo, -1, sizeof(iPackAmmo) ); // get the game rules @@ -3636,7 +3636,7 @@ void CBasePlayer::HandleFuncTrain(void) if (vel) { - m_iTrain = TrainSpeed(pTrain->m_flSpeed, ((CFuncTrackTrain*)pTrain)->GetMaxSpeed()); + m_iTrain = TrainSpeed((int)pTrain->m_flSpeed, (int)((CFuncTrackTrain*)pTrain)->GetMaxSpeed()); m_iTrain |= TRAIN_ACTIVE|TRAIN_NEW; } } @@ -3812,14 +3812,12 @@ void CBasePlayer::CheckTimeBasedDamage() int i; byte bDuration = 0; - static float gtbdPrev = 0.0; - // If we don't have any time based damage return. if ( !g_pGameRules->Damage_IsTimeBased( m_bitsDamageType ) ) return; // only check for time based damage approx. every 2 seconds - if ( abs( gpGlobals->curtime - m_tbdPrev ) < 2.0 ) + if ( fabs( gpGlobals->curtime - m_tbdPrev ) < 2.0f ) return; m_tbdPrev = gpGlobals->curtime; @@ -4094,7 +4092,7 @@ void CBasePlayer::CheckSuitUpdate() // seconds, then we won't repeat playback of this word or sentence // for at least that number of seconds. -void CBasePlayer::SetSuitUpdate(char *name, int fgroup, int iNoRepeatTime) +void CBasePlayer::SetSuitUpdate(const char *name, int fgroup, int iNoRepeatTime) { int i; int isentence; @@ -4214,7 +4212,7 @@ void CBasePlayer::UpdatePlayerSound ( void ) // now figure out how loud the player's movement is. if ( GetFlags() & FL_ONGROUND ) { - iBodyVolume = GetAbsVelocity().Length(); + iBodyVolume = (int)GetAbsVelocity().Length(); // clamp the noise that can be made by the body, in case a push trigger, // weapon recoil, or anything shoves the player abnormally fast. @@ -4250,7 +4248,7 @@ void CBasePlayer::UpdatePlayerSound ( void ) } else if ( iVolume > m_iTargetVolume ) { - iVolume -= 250 * gpGlobals->frametime; + iVolume = static_cast(iVolume - 250 * gpGlobals->frametime); if ( iVolume < m_iTargetVolume ) { @@ -7669,9 +7667,9 @@ void SendProxy_CropFlagsToPlayerFlagBitsLength( const SendProp *pProp, const voi // If HL2_DLL is defined, then baseflex.cpp already sends these. #ifndef HL2_DLL - SendPropFloat ( SENDINFO_VECTORELEM(m_vecViewOffset, 0), 8, SPROP_ROUNDDOWN, -32.0, 32.0f), - SendPropFloat ( SENDINFO_VECTORELEM(m_vecViewOffset, 1), 8, SPROP_ROUNDDOWN, -32.0, 32.0f), - SendPropFloat ( SENDINFO_VECTORELEM(m_vecViewOffset, 2), 10, SPROP_CHANGES_OFTEN, 0.0f, 128.0f), + SendPropFloat ( SENDINFO_VECTORELEM2(m_vecViewOffset, 0, x), 8, SPROP_ROUNDDOWN, -32.0, 32.0f), + SendPropFloat ( SENDINFO_VECTORELEM2(m_vecViewOffset, 1, y), 8, SPROP_ROUNDDOWN, -32.0, 32.0f), + SendPropFloat ( SENDINFO_VECTORELEM2(m_vecViewOffset, 2, z), 10, SPROP_CHANGES_OFTEN, 0.0f, 128.0f), #endif SendPropFloat ( SENDINFO(m_flFriction), 8, SPROP_ROUNDDOWN, 0.0f, 4.0f), @@ -7686,9 +7684,9 @@ void SendProxy_CropFlagsToPlayerFlagBitsLength( const SendProp *pProp, const voi SendPropEHandle ( SENDINFO( m_hLastWeapon ) ), SendPropEHandle ( SENDINFO( m_hGroundEntity ), SPROP_CHANGES_OFTEN ), - SendPropFloat ( SENDINFO_VECTORELEM(m_vecVelocity, 0), 32, SPROP_NOSCALE|SPROP_CHANGES_OFTEN ), - SendPropFloat ( SENDINFO_VECTORELEM(m_vecVelocity, 1), 32, SPROP_NOSCALE|SPROP_CHANGES_OFTEN ), - SendPropFloat ( SENDINFO_VECTORELEM(m_vecVelocity, 2), 32, SPROP_NOSCALE|SPROP_CHANGES_OFTEN ), + SendPropFloat ( SENDINFO_VECTORELEM2(m_vecVelocity, 0, x), 32, SPROP_NOSCALE|SPROP_CHANGES_OFTEN ), + SendPropFloat ( SENDINFO_VECTORELEM2(m_vecVelocity, 1, y), 32, SPROP_NOSCALE|SPROP_CHANGES_OFTEN ), + SendPropFloat ( SENDINFO_VECTORELEM2(m_vecVelocity, 2, z), 32, SPROP_NOSCALE|SPROP_CHANGES_OFTEN ), #if PREDICTION_ERROR_CHECK_LEVEL > 1 SendPropVector ( SENDINFO( m_vecBaseVelocity ), -1, SPROP_COORD ), @@ -8140,7 +8138,7 @@ int CBasePlayer::GetFOV( void ) } else { - fFOV = SimpleSplineRemapValClamped( deltaTime, 0.0f, 1.0f, m_iFOVStart, fFOV ); + fFOV = (int)SimpleSplineRemapValClamped( deltaTime, 0.0f, 1.0f, m_iFOVStart, fFOV ); } return fFOV; diff --git a/game/server/player.h b/game/server/player.h index 7e449e86..87cd8e3c 100644 --- a/game/server/player.h +++ b/game/server/player.h @@ -532,7 +532,7 @@ public: virtual CBaseEntity *GetHeldObject( void ); void CheckSuitUpdate(); - void SetSuitUpdate(char *name, int fgroup, int iNoRepeat); + void SetSuitUpdate(const char *name, int fgroup, int iNoRepeat); virtual void UpdateGeigerCounter( void ); void CheckTimeBasedDamage( void ); diff --git a/game/server/player_lagcompensation.cpp b/game/server/player_lagcompensation.cpp index f5768ad9..3b4d90c7 100644 --- a/game/server/player_lagcompensation.cpp +++ b/game/server/player_lagcompensation.cpp @@ -234,7 +234,7 @@ void CLagCompensationManager::FrameUpdatePostEntityThink() VPROF_BUDGET( "FrameUpdatePostEntityThink", "CLagCompensationManager" ); // remove all records before that time: - int flDeadtime = gpGlobals->curtime - sv_maxunlag.GetFloat(); + int flDeadtime = static_cast(gpGlobals->curtime - sv_maxunlag.GetFloat()); // Iterate all active players for ( int i = 1; i <= gpGlobals->maxClients; i++ ) diff --git a/game/server/player_resource.cpp b/game/server/player_resource.cpp index 27b75616..97c26528 100644 --- a/game/server/player_resource.cpp +++ b/game/server/player_resource.cpp @@ -115,7 +115,7 @@ void CPlayerResource::UpdatePlayerData( void ) UTIL_GetPlayerConnectionInfo( i, ping, packetloss ); // calc avg for scoreboard so it's not so jittery - ping = 0.8f * m_iPing.Get(i) + 0.2f * ping; + ping = (int)(0.8f * m_iPing.Get(i) + 0.2f * ping); m_iPing.Set( i, ping ); diff --git a/game/server/playerinfomanager.h b/game/server/playerinfomanager.h index f07a0680..0cb2063d 100644 --- a/game/server/playerinfomanager.h +++ b/game/server/playerinfomanager.h @@ -29,4 +29,4 @@ public: virtual edict_t *CreateBot( const char *botname ); }; -#endif \ No newline at end of file +#endif diff --git a/game/server/point_spotlight.cpp b/game/server/point_spotlight.cpp index d1b4ba0e..dd30e240 100644 --- a/game/server/point_spotlight.cpp +++ b/game/server/point_spotlight.cpp @@ -194,12 +194,12 @@ void CPointSpotlight::ComputeRenderInfo() } else if ( m_flSpotlightCurLength > m_flSpotlightMaxLength ) { - m_hSpotlightTarget->SetRenderColorA( (1-((m_flSpotlightCurLength-m_flSpotlightMaxLength)/m_flSpotlightMaxLength)) ); + m_hSpotlightTarget->SetRenderColorA( (byte)(1-((m_flSpotlightCurLength-m_flSpotlightMaxLength)/m_flSpotlightMaxLength)) ); m_hSpotlight->SetFadeLength( m_flSpotlightMaxLength ); } else { - m_hSpotlightTarget->SetRenderColorA( 1.0 ); + m_hSpotlightTarget->SetRenderColorA( 1 ); m_hSpotlight->SetFadeLength( m_flSpotlightCurLength ); } diff --git a/game/server/props.cpp b/game/server/props.cpp index f35e5ade..246249cd 100644 --- a/game/server/props.cpp +++ b/game/server/props.cpp @@ -263,7 +263,7 @@ void CBaseProp::Activate( void ) // Make sure mapmakers haven't used the wrong prop type. if ( m_takedamage == DAMAGE_NO && m_iHealth != 0 ) { - Warning("%s has a health specified in model '%s'. Use prop_physics or prop_dynamic instead.\n", GetClassname(), GetModelName() ); + Warning("%s has a health specified in model '%s'. Use prop_physics or prop_dynamic instead.\n", GetClassname(), STRING(GetModelName()) ); } } @@ -368,7 +368,7 @@ void CBaseProp::DrawDebugGeometryOverlays( void ) // Remap health to green brightness float flG = RemapVal( m_iHealth, 0, 100, 64, 255 ); flG = clamp( flG, 0, 255 ); - NDebugOverlay::EntityBounds(this, 0, flG, 0, 0, 0 ); + NDebugOverlay::EntityBounds(this, 0, (int)flG, 0, 0, 0 ); } } } @@ -446,7 +446,7 @@ void CBreakableProp::Ignite( float flFlameLifetime, bool bNPCOnly, float flSize, } // Frighten AIs, just in case this is an exploding thing. - CSoundEnt::InsertSound( SOUND_DANGER, GetAbsOrigin(), 128.0f, 1.0f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); + CSoundEnt::InsertSound( SOUND_DANGER, GetAbsOrigin(), 128, 1.0f, this, SOUNDENT_CHANNEL_REPEATED_DANGER ); } //----------------------------------------------------------------------------- @@ -1515,7 +1515,7 @@ void CBreakableProp::OnPhysGunDrop( CBasePlayer *pPhysGunUser, PhysGunDrop_t Rea SetPhysicsAttacker( pPhysGunUser, gpGlobals->curtime ); - if( Reason == PUNTED_BY_CANNON ) + if( Reason == static_cast(PUNTED_BY_CANNON) ) { PlayPuntSound(); } @@ -1691,14 +1691,14 @@ void CBreakableProp::Break( CBaseEntity *pBreaker, const CTakeDamageInfo &info ) { if( HasInteraction( PROPINTER_PHYSGUN_BREAK_EXPLODE ) ) { - ExplosionCreate( WorldSpaceCenter(), angles, pAttacker, m_explodeDamage, m_explodeRadius, + ExplosionCreate( WorldSpaceCenter(), angles, pAttacker, (int)m_explodeDamage, (int)m_explodeRadius, SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE | SF_ENVEXPLOSION_SURFACEONLY | SF_ENVEXPLOSION_NOSOUND, 0.0f, this ); EmitSound("PropaneTank.Burst"); } else { - ExplosionCreate( WorldSpaceCenter(), angles, pAttacker, m_explodeDamage, m_explodeRadius, + ExplosionCreate( WorldSpaceCenter(), angles, pAttacker, (int)m_explodeDamage, (int)m_explodeRadius, SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE | SF_ENVEXPLOSION_SURFACEONLY, 0.0f, this ); } @@ -1761,7 +1761,7 @@ void CBreakableProp::Break( CBaseEntity *pBreaker, const CTakeDamageInfo &info ) { if ( bExploded == false ) { - ExplosionCreate( origin, angles, pAttacker, 1, m_explodeRadius, + ExplosionCreate( origin, angles, pAttacker, 1, (int)m_explodeRadius, SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0.0f, this ); } @@ -5222,7 +5222,7 @@ void CPropDoorRotating::BeginOpening(CBaseEntity *pOpenAwayFrom) // Make respectful entities move away from our path if( !HasSpawnFlags(SF_DOOR_SILENT_TO_NPCS) ) { - CSoundEnt::InsertSound( SOUND_MOVE_AWAY, volumeCenter, volumeRadius, 0.5f, pOpenAwayFrom ); + CSoundEnt::InsertSound( SOUND_MOVE_AWAY, volumeCenter, (int)volumeRadius, 0.5f, pOpenAwayFrom ); } // Do final setup @@ -5487,7 +5487,7 @@ class CPhysicsPropMultiplayer : public CPhysicsProp, public IMultiplayerPhysics DECLARE_SERVERCLASS(); DECLARE_DATADESC(); - CPhysicsPropMultiplayer::CPhysicsPropMultiplayer() + CPhysicsPropMultiplayer() { m_iPhysicsMode = PHYSICS_MULTIPLAYER_AUTODETECT; m_usingCustomCollisionBounds = false; diff --git a/game/server/pushentity.h b/game/server/pushentity.h index e53bc372..7302ab92 100644 --- a/game/server/pushentity.h +++ b/game/server/pushentity.h @@ -1,160 +1,160 @@ -//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= -// -// Purpose: -// -//============================================================================= -#ifndef PUSHENTITY_H -#define PUSHENTITY_H -#ifdef _WIN32 -#pragma once -#endif - -#include "movetype_push.h" - -//----------------------------------------------------------------------------- -// Purpose: Keeps track of original positions of any entities that are being possibly pushed -// and handles restoring positions for those objects if the push is aborted -//----------------------------------------------------------------------------- -class CPhysicsPushedEntities -{ -public: - - DECLARE_CLASS_NOBASE( CPhysicsPushedEntities ); - - CPhysicsPushedEntities( void ); - - // Purpose: Tries to rotate an entity hierarchy, returns the blocker if any - CBaseEntity *PerformRotatePush( CBaseEntity *pRoot, float movetime ); - - // Purpose: Tries to linearly push an entity hierarchy, returns the blocker if any - CBaseEntity *PerformLinearPush( CBaseEntity *pRoot, float movetime ); - - int CountMovedEntities() { return m_rgMoved.Count(); } - void StoreMovedEntities( physicspushlist_t &list ); - void BeginPush( CBaseEntity *pRootEntity ); - -protected: - - // describes the per-frame incremental motion of a rotating MOVETYPE_PUSH - struct RotatingPushMove_t - { - Vector origin; - matrix3x4_t startLocalToWorld; - matrix3x4_t endLocalToWorld; - QAngle amove; // delta orientation - }; - - // Pushers + their original positions also (for touching triggers) - struct PhysicsPusherInfo_t - { - CBaseEntity *m_pEntity; - Vector m_vecStartAbsOrigin; - }; - - // Pushed entities + various state related to them being pushed - struct PhysicsPushedInfo_t - { - CBaseEntity *m_pEntity; - Vector m_vecStartAbsOrigin; - trace_t m_Trace; - bool m_bBlocked; - bool m_bPusherIsGround; - }; - - // Adds the specified entity to the list - void AddEntity( CBaseEntity *ent ); - - // If a move fails, restores all entities to their original positions - void RestoreEntities( ); - - // Compute the direction to move the rotation blocker - void ComputeRotationalPushDirection( CBaseEntity *pBlocker, const RotatingPushMove_t &rotPushMove, Vector *pMove, CBaseEntity *pRoot ); - - // Speculatively checks to see if all entities in this list can be pushed - bool SpeculativelyCheckPush( PhysicsPushedInfo_t &info, const Vector &vecAbsPush, bool bRotationalPush ); - - // Speculatively checks to see if all entities in this list can be pushed - virtual bool SpeculativelyCheckRotPush( const RotatingPushMove_t &rotPushMove, CBaseEntity *pRoot ); - - // Speculatively checks to see if all entities in this list can be pushed - virtual bool SpeculativelyCheckLinearPush( const Vector &vecAbsPush ); - - // Registers a blockage - CBaseEntity *RegisterBlockage(); - - // Some fixup for objects pushed by rotating objects - virtual void FinishRotPushedEntity( CBaseEntity *pPushedEntity, const RotatingPushMove_t &rotPushMove ); - - // Commits the speculative movement - void FinishPush( bool bIsRotPush = false, const RotatingPushMove_t *pRotPushMove = NULL ); - - // Generates a list of all entities potentially blocking all pushers - void GenerateBlockingEntityList(); - void GenerateBlockingEntityListAddBox( const Vector &vecMoved ); - - // Purpose: Gets a list of all entities hierarchically attached to the root - void SetupAllInHierarchy( CBaseEntity *pParent ); - - // Unlink + relink the pusher list so we can actually do the push - void UnlinkPusherList( int *pPusherHandles ); - void RelinkPusherList( int *pPusherHandles ); - - // Causes all entities in the list to touch triggers from their prev position - void FinishPushers(); - - // Purpose: Rotates the root entity, fills in the pushmove structure - void RotateRootEntity( CBaseEntity *pRoot, float movetime, RotatingPushMove_t &rotation ); - - // Purpose: Linearly moves the root entity - void LinearlyMoveRootEntity( CBaseEntity *pRoot, float movetime, Vector *pAbsPushVector ); - - bool IsPushedPositionValid( CBaseEntity *pBlocker ); - -protected: - - CUtlVector m_rgPusher; - CUtlVector m_rgMoved; - int m_nBlocker; - bool m_bIsUnblockableByPlayer; - Vector m_rootPusherStartLocalOrigin; - QAngle m_rootPusherStartLocalAngles; - float m_rootPusherStartLocaltime; - float m_flMoveTime; - - friend class CPushBlockerEnum; -}; - -class CTraceFilterPushMove : public CTraceFilterSimple -{ - DECLARE_CLASS( CTraceFilterPushMove, CTraceFilterSimple ); - -public: - CTraceFilterPushMove( CBaseEntity *pEntity, int nCollisionGroup ) - : CTraceFilterSimple( pEntity, nCollisionGroup ) - { - m_pRootParent = pEntity->GetRootMoveParent(); - } - - bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) - { - Assert( dynamic_cast(pHandleEntity) ); - CBaseEntity *pTestEntity = static_cast(pHandleEntity); - - if ( UTIL_EntityHasMatchingRootParent( m_pRootParent, pTestEntity ) ) - return false; - - if ( pTestEntity->GetMoveType() == MOVETYPE_VPHYSICS && - pTestEntity->VPhysicsGetObject() && pTestEntity->VPhysicsGetObject()->IsMoveable() ) - return false; - - return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); - } - -private: - - CBaseEntity *m_pRootParent; -}; - -extern CPhysicsPushedEntities *g_pPushedEntities; - -#endif // PUSHENTITY_H \ No newline at end of file +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= +#ifndef PUSHENTITY_H +#define PUSHENTITY_H +#ifdef _WIN32 +#pragma once +#endif + +#include "movetype_push.h" + +//----------------------------------------------------------------------------- +// Purpose: Keeps track of original positions of any entities that are being possibly pushed +// and handles restoring positions for those objects if the push is aborted +//----------------------------------------------------------------------------- +class CPhysicsPushedEntities +{ +public: + + DECLARE_CLASS_NOBASE( CPhysicsPushedEntities ); + + CPhysicsPushedEntities( void ); + + // Purpose: Tries to rotate an entity hierarchy, returns the blocker if any + CBaseEntity *PerformRotatePush( CBaseEntity *pRoot, float movetime ); + + // Purpose: Tries to linearly push an entity hierarchy, returns the blocker if any + CBaseEntity *PerformLinearPush( CBaseEntity *pRoot, float movetime ); + + int CountMovedEntities() { return m_rgMoved.Count(); } + void StoreMovedEntities( physicspushlist_t &list ); + void BeginPush( CBaseEntity *pRootEntity ); + +protected: + + // describes the per-frame incremental motion of a rotating MOVETYPE_PUSH + struct RotatingPushMove_t + { + Vector origin; + matrix3x4_t startLocalToWorld; + matrix3x4_t endLocalToWorld; + QAngle amove; // delta orientation + }; + + // Pushers + their original positions also (for touching triggers) + struct PhysicsPusherInfo_t + { + CBaseEntity *m_pEntity; + Vector m_vecStartAbsOrigin; + }; + + // Pushed entities + various state related to them being pushed + struct PhysicsPushedInfo_t + { + CBaseEntity *m_pEntity; + Vector m_vecStartAbsOrigin; + trace_t m_Trace; + bool m_bBlocked; + bool m_bPusherIsGround; + }; + + // Adds the specified entity to the list + void AddEntity( CBaseEntity *ent ); + + // If a move fails, restores all entities to their original positions + void RestoreEntities( ); + + // Compute the direction to move the rotation blocker + void ComputeRotationalPushDirection( CBaseEntity *pBlocker, const RotatingPushMove_t &rotPushMove, Vector *pMove, CBaseEntity *pRoot ); + + // Speculatively checks to see if all entities in this list can be pushed + bool SpeculativelyCheckPush( PhysicsPushedInfo_t &info, const Vector &vecAbsPush, bool bRotationalPush ); + + // Speculatively checks to see if all entities in this list can be pushed + virtual bool SpeculativelyCheckRotPush( const RotatingPushMove_t &rotPushMove, CBaseEntity *pRoot ); + + // Speculatively checks to see if all entities in this list can be pushed + virtual bool SpeculativelyCheckLinearPush( const Vector &vecAbsPush ); + + // Registers a blockage + CBaseEntity *RegisterBlockage(); + + // Some fixup for objects pushed by rotating objects + virtual void FinishRotPushedEntity( CBaseEntity *pPushedEntity, const RotatingPushMove_t &rotPushMove ); + + // Commits the speculative movement + void FinishPush( bool bIsRotPush = false, const RotatingPushMove_t *pRotPushMove = NULL ); + + // Generates a list of all entities potentially blocking all pushers + void GenerateBlockingEntityList(); + void GenerateBlockingEntityListAddBox( const Vector &vecMoved ); + + // Purpose: Gets a list of all entities hierarchically attached to the root + void SetupAllInHierarchy( CBaseEntity *pParent ); + + // Unlink + relink the pusher list so we can actually do the push + void UnlinkPusherList( int *pPusherHandles ); + void RelinkPusherList( int *pPusherHandles ); + + // Causes all entities in the list to touch triggers from their prev position + void FinishPushers(); + + // Purpose: Rotates the root entity, fills in the pushmove structure + void RotateRootEntity( CBaseEntity *pRoot, float movetime, RotatingPushMove_t &rotation ); + + // Purpose: Linearly moves the root entity + void LinearlyMoveRootEntity( CBaseEntity *pRoot, float movetime, Vector *pAbsPushVector ); + + bool IsPushedPositionValid( CBaseEntity *pBlocker ); + +protected: + + CUtlVector m_rgPusher; + CUtlVector m_rgMoved; + int m_nBlocker; + bool m_bIsUnblockableByPlayer; + Vector m_rootPusherStartLocalOrigin; + QAngle m_rootPusherStartLocalAngles; + float m_rootPusherStartLocaltime; + float m_flMoveTime; + + friend class CPushBlockerEnum; +}; + +class CTraceFilterPushMove : public CTraceFilterSimple +{ + DECLARE_CLASS( CTraceFilterPushMove, CTraceFilterSimple ); + +public: + CTraceFilterPushMove( CBaseEntity *pEntity, int nCollisionGroup ) + : CTraceFilterSimple( pEntity, nCollisionGroup ) + { + m_pRootParent = pEntity->GetRootMoveParent(); + } + + bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) + { + Assert( dynamic_cast(pHandleEntity) ); + CBaseEntity *pTestEntity = static_cast(pHandleEntity); + + if ( UTIL_EntityHasMatchingRootParent( m_pRootParent, pTestEntity ) ) + return false; + + if ( pTestEntity->GetMoveType() == MOVETYPE_VPHYSICS && + pTestEntity->VPhysicsGetObject() && pTestEntity->VPhysicsGetObject()->IsMoveable() ) + return false; + + return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); + } + +private: + + CBaseEntity *m_pRootParent; +}; + +extern CPhysicsPushedEntities *g_pPushedEntities; + +#endif // PUSHENTITY_H diff --git a/game/server/recipientfilter.cpp b/game/server/recipientfilter.cpp index a5a94015..8e735e54 100644 --- a/game/server/recipientfilter.cpp +++ b/game/server/recipientfilter.cpp @@ -409,4 +409,4 @@ void CPASAttenuationFilter::Filter( const Vector& origin, float attenuation /*= RemoveRecipient( player ); } -} \ No newline at end of file +} diff --git a/game/server/saverestore_gamedll.cpp b/game/server/saverestore_gamedll.cpp index d444c8c6..cd87401b 100644 --- a/game/server/saverestore_gamedll.cpp +++ b/game/server/saverestore_gamedll.cpp @@ -188,9 +188,9 @@ bool ExtractKeyvalue( void *pObject, typedescription_t *pFields, int iNumFields, case FIELD_POSITION_VECTOR: case FIELD_VECTOR: Q_snprintf( szValue, iMaxLen, "%f %f %f", - (float *)((char *)pObject + fieldOffset)[0], - (float *)((char *)pObject + fieldOffset)[1], - (float *)((char *)pObject + fieldOffset)[2] ); + ((float *)((char *)pObject + fieldOffset))[0], + ((float *)((char *)pObject + fieldOffset))[1], + ((float *)((char *)pObject + fieldOffset))[2] ); return true; case FIELD_VMATRIX: @@ -204,10 +204,10 @@ bool ExtractKeyvalue( void *pObject, typedescription_t *pFields, int iNumFields, case FIELD_COLOR32: Q_snprintf( szValue, iMaxLen, "%d %d %d %d", - (int *)((char *)pObject + fieldOffset)[0], - (int *)((char *)pObject + fieldOffset)[1], - (int *)((char *)pObject + fieldOffset)[2], - (int *)((char *)pObject + fieldOffset)[3] ); + ((int *)((char *)pObject + fieldOffset))[0], + ((int *)((char *)pObject + fieldOffset))[1], + ((int *)((char *)pObject + fieldOffset))[2], + ((int *)((char *)pObject + fieldOffset))[3] ); return true; case FIELD_CUSTOM: diff --git a/game/server/sceneentity.cpp b/game/server/sceneentity.cpp index 7b680e5a..3c05204b 100644 --- a/game/server/sceneentity.cpp +++ b/game/server/sceneentity.cpp @@ -146,7 +146,7 @@ private: CRestoreSceneSound() { actor = NULL; - soundname[ 0 ] = NULL; + soundname[0] = '\0'; soundlevel = SNDLVL_NORM; time_in_past = 0.0f; } @@ -221,7 +221,7 @@ bool CopySceneFileIntoMemory( char const *pFilename, void **pBuffer, int *pSize //----------------------------------------------------------------------------- void FreeSceneFileMemory( void *buffer ) { - delete[] buffer; + delete[] reinterpret_cast(buffer); } //----------------------------------------------------------------------------- @@ -1756,9 +1756,9 @@ void CSceneEntity::DispatchStartSpeak( CChoreoScene *scene, CBaseFlex *actor, CC if ( m_fPitch != 1.0f ) { if ( es.m_nPitch ) - es.m_nPitch = static_cast( es.m_nPitch ) * m_fPitch; + es.m_nPitch = static_cast(es.m_nPitch * m_fPitch); else - es.m_nPitch = 100.0f * m_fPitch; + es.m_nPitch = static_cast(100.0f * m_fPitch); es.m_nFlags |= SND_CHANGE_PITCH; } @@ -2735,7 +2735,7 @@ void CSceneEntity::PitchShiftPlayback( float fPitch ) CPASAttenuationFilter filter( pTestActor ); EmitSound_t params; params.m_pSoundName = szBuff; - params.m_nPitch = 100.0f * fPitch; + params.m_nPitch = static_cast(100.0f * fPitch); params.m_nFlags = SND_CHANGE_PITCH; pTestActor->EmitSound( filter, pTestActor->entindex(), params ); } @@ -5014,7 +5014,7 @@ void CSceneManager::PauseActorsScenes( CBaseFlex *pActor, bool bInstancedOnly ) if ( pScene->InvolvesActor( pActor ) && pScene->IsPlayingBack() ) { - LocalScene_Printf( "Pausing actor %s scripted scene: %s\n", pActor->GetDebugName(), pScene->m_iszSceneFile ); + LocalScene_Printf( "Pausing actor %s scripted scene: %s\n", pActor->GetDebugName(), STRING(pScene->m_iszSceneFile) ); variant_t emptyVariant; pScene->AcceptInput( "Pause", pScene, pScene, emptyVariant, 0 ); @@ -5071,7 +5071,7 @@ void CSceneManager::ResumeActorsScenes( CBaseFlex *pActor, bool bInstancedOnly if ( pScene->InvolvesActor( pActor ) && pScene->IsPlayingBack() ) { - LocalScene_Printf( "Resuming actor %s scripted scene: %s\n", pActor->GetDebugName(), pScene->m_iszSceneFile ); + LocalScene_Printf( "Resuming actor %s scripted scene: %s\n", pActor->GetDebugName(), STRING(pScene->m_iszSceneFile) ); variant_t emptyVariant; pScene->AcceptInput( "Resume", pScene, pScene, emptyVariant, 0 ); diff --git a/game/server/sceneentity.h b/game/server/sceneentity.h index 051bd5b7..8a59223c 100644 --- a/game/server/sceneentity.h +++ b/game/server/sceneentity.h @@ -44,4 +44,4 @@ char const *GetSceneFilename( CBaseEntity *ent ); void ReloadSceneFromDisk( CBaseEntity *ent ); -#endif // SCENEENTITY_H \ No newline at end of file +#endif // SCENEENTITY_H diff --git a/game/server/scripted.cpp b/game/server/scripted.cpp index 75263f2d..6b5163e5 100644 --- a/game/server/scripted.cpp +++ b/game/server/scripted.cpp @@ -1758,7 +1758,7 @@ void CAI_ScriptedSchedule::StartSchedule( CAI_BaseNPC *pTarget ) pTarget->ForceDecisionThink(); - Assert( m_nForceState >= 0 && m_nForceState < ARRAYSIZE(forcedStatesMap) ); + Assert( m_nForceState >= 0 && m_nForceState < (int)ARRAYSIZE(forcedStatesMap) ); NPC_STATE forcedState = forcedStatesMap[m_nForceState]; @@ -1834,6 +1834,9 @@ void CAI_ScriptedSchedule::StartSchedule( CAI_BaseNPC *pTarget ) bDidSetSchedule = true; break; } + + default: + break; } if ( bDidSetSchedule ) diff --git a/game/server/sdk/sdk_bot_temp.cpp b/game/server/sdk/sdk_bot_temp.cpp index 5cf000cb..42f86897 100644 --- a/game/server/sdk/sdk_bot_temp.cpp +++ b/game/server/sdk/sdk_bot_temp.cpp @@ -116,7 +116,7 @@ CBasePlayer *BotPutInServer( bool bFrozen ) } // Handler for the "bot" command. -CON_COMMAND_F( "bot_add", "Add a bot.", FCVAR_CHEAT ) +CON_COMMAND_F( bot_add, "Add a bot.", FCVAR_CHEAT ) { // Look at -count. int count = args.FindArgInt( "-count", 1 ); @@ -249,7 +249,7 @@ void Bot_UpdateDirection( CSDKBot *pBot ) float angledelta = 15.0; QAngle angle; - int maxtries = (int)360.0/angledelta; + int maxtries = (int)(360.0 / angledelta); if ( pBot->m_bLastTurnToRight ) { @@ -340,7 +340,9 @@ void Bot_HandleSendCmd( CSDKBot *pBot ) if ( strlen( bot_sendcmd.GetString() ) > 0 ) { //send the cmd from this bot - pBot->ClientCommand( bot_sendcmd.GetString() ); + CCommand args; + args.Tokenize( bot_sendcmd.GetString() ); + pBot->ClientCommand( args ); bot_sendcmd.SetValue(""); } diff --git a/game/server/sdk/sdk_env_sparkler.cpp b/game/server/sdk/sdk_env_sparkler.cpp index 9dbbb977..3876e1c0 100644 --- a/game/server/sdk/sdk_env_sparkler.cpp +++ b/game/server/sdk/sdk_env_sparkler.cpp @@ -101,4 +101,4 @@ void MakeSparkle( const Vector &origin, float flScale ) // Send the effect off to the client DispatchEffect( "Sparkle", data ); -} \ No newline at end of file +} diff --git a/game/server/sdk/sdk_logicalentity.cpp b/game/server/sdk/sdk_logicalentity.cpp index aee13ef6..06f193e4 100644 --- a/game/server/sdk/sdk_logicalentity.cpp +++ b/game/server/sdk/sdk_logicalentity.cpp @@ -63,4 +63,4 @@ void CMyLogicalEntity ::InputTick( inputdata_t &inputData ) // Reset our counter m_nCounter = 0; } -} \ No newline at end of file +} diff --git a/game/server/sdk/sdk_player.cpp b/game/server/sdk/sdk_player.cpp index 1a83334a..1eabfe42 100644 --- a/game/server/sdk/sdk_player.cpp +++ b/game/server/sdk/sdk_player.cpp @@ -112,8 +112,8 @@ IMPLEMENT_SERVERCLASS_ST( CSDKPlayer, DT_SDKPlayer ) SendPropDataTable( "sdklocaldata", 0, &REFERENCE_SEND_TABLE(DT_SDKLocalPlayerExclusive), SendProxy_SendLocalDataTable ), SendPropDataTable( "sdknonlocaldata", 0, &REFERENCE_SEND_TABLE(DT_SDKNonLocalPlayerExclusive), SendProxy_SendNonLocalDataTable ), - SendPropAngle( SENDINFO_VECTORELEM(m_angEyeAngles, 0), 11 ), - SendPropAngle( SENDINFO_VECTORELEM(m_angEyeAngles, 1), 11 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angEyeAngles, 0, x), 11 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angEyeAngles, 1, y), 11 ), SendPropEHandle( SENDINFO( m_hRagdoll ) ), SendPropInt( SENDINFO( m_iThrowGrenadeCounter ), THROWGRENADE_COUNTER_BITS, SPROP_UNSIGNED ), diff --git a/game/server/sdk/sdk_vehicle_jeep.cpp b/game/server/sdk/sdk_vehicle_jeep.cpp index dc33438a..8402937d 100644 --- a/game/server/sdk/sdk_vehicle_jeep.cpp +++ b/game/server/sdk/sdk_vehicle_jeep.cpp @@ -1526,8 +1526,8 @@ void CPropJeep::CreateDangerSounds( void ) const float radius = speed * 0.4; // 0.3 seconds ahead of the jeep vecSpot = vecStart + vecDir * (speed * 1.1f); - CSoundEnt::InsertSound( SOUND_DANGER | SOUND_CONTEXT_PLAYER_VEHICLE, vecSpot, radius, soundDuration, this, 0 ); - CSoundEnt::InsertSound( SOUND_PHYSICS_DANGER | SOUND_CONTEXT_PLAYER_VEHICLE, vecSpot, radius, soundDuration, this, 1 ); + CSoundEnt::InsertSound( SOUND_DANGER | SOUND_CONTEXT_PLAYER_VEHICLE, vecSpot, (int)radius, soundDuration, this, 0 ); + CSoundEnt::InsertSound( SOUND_PHYSICS_DANGER | SOUND_CONTEXT_PLAYER_VEHICLE, vecSpot, (int)radius, soundDuration, this, 1 ); //NDebugOverlay::Box(vecSpot, Vector(-radius,-radius,-radius),Vector(radius,radius,radius), 255, 0, 255, 0, soundDuration); #if 0 diff --git a/game/server/sdk/te_firebullets.cpp b/game/server/sdk/te_firebullets.cpp index f339ea60..0e8c060c 100644 --- a/game/server/sdk/te_firebullets.cpp +++ b/game/server/sdk/te_firebullets.cpp @@ -58,8 +58,8 @@ CTEFireBullets::~CTEFireBullets( void ) IMPLEMENT_SERVERCLASS_ST_NOBASE(CTEFireBullets, DT_TEFireBullets) SendPropVector( SENDINFO(m_vecOrigin), -1, SPROP_COORD ), - SendPropAngle( SENDINFO_VECTORELEM( m_vecAngles, 0 ), 13, 0 ), - SendPropAngle( SENDINFO_VECTORELEM( m_vecAngles, 1 ), 13, 0 ), + SendPropAngle( SENDINFO_VECTORELEM2( m_vecAngles, 0, x ), 13, 0 ), + SendPropAngle( SENDINFO_VECTORELEM2( m_vecAngles, 1, y ), 13, 0 ), SendPropInt( SENDINFO( m_iWeaponID ), 5, SPROP_UNSIGNED ), // max 31 weapons SendPropInt( SENDINFO( m_iMode ), 1, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iSeed ), NUM_BULLET_SEED_BITS, SPROP_UNSIGNED ), diff --git a/game/server/sendproxy.cpp b/game/server/sendproxy.cpp index 8b16a7f3..b22a23de 100644 --- a/game/server/sendproxy.cpp +++ b/game/server/sendproxy.cpp @@ -51,7 +51,7 @@ void SendProxy_ShortAddOne( const SendProp *pProp, const void *pStruct, const vo } SendProp SendPropBool( - char *pVarName, + const char *pVarName, int offset, int sizeofVar ) { @@ -61,7 +61,7 @@ SendProp SendPropBool( SendProp SendPropEHandle( - char *pVarName, + const char *pVarName, int offset, int flags, int sizeofVar, @@ -70,7 +70,7 @@ SendProp SendPropEHandle( return SendPropInt( pVarName, offset, sizeofVar, NUM_NETWORKED_EHANDLE_BITS, SPROP_UNSIGNED|flags, proxyFn ); } -SendProp SendPropIntWithMinusOneFlag( char *pVarName, int offset, int sizeofVar, int nBits, SendVarProxyFn proxyFn ) +SendProp SendPropIntWithMinusOneFlag( const char *pVarName, int offset, int sizeofVar, int nBits, SendVarProxyFn proxyFn ) { return SendPropInt( pVarName, offset, sizeofVar, nBits, SPROP_UNSIGNED, proxyFn ); } @@ -106,7 +106,7 @@ REGISTER_SEND_PROXY_NON_MODIFIED_POINTER( SendProxy_OnlyToTeam ); #define TIME_BITS 24 // This table encodes edict data. -static void SendProxy_Time( const SendProp *pProp, const void *pStruct, const void *pVarData, DVariant *pOut, int iElement, int objectID ) +/*static void SendProxy_Time( const SendProp *pProp, const void *pStruct, const void *pVarData, DVariant *pOut, int iElement, int objectID ) { float clock_base = floor( gpGlobals->curtime ); float t = *( float * )pVarData; @@ -118,7 +118,7 @@ static void SendProxy_Time( const SendProp *pProp, const void *pStruct, const vo addt = clamp( addt, -maxoffset, maxoffset ); pOut->m_Int = addt; -} +}*/ //----------------------------------------------------------------------------- // Purpose: @@ -129,7 +129,7 @@ static void SendProxy_Time( const SendProp *pProp, const void *pStruct, const vo // Output : SendProp //----------------------------------------------------------------------------- SendProp SendPropTime( - char *pVarName, + const char *pVarName, int offset, int sizeofVar ) { @@ -172,7 +172,7 @@ static void SendProxy_PredictableIdToInt( const SendProp *pProp, const void *pSt // Output : SendProp //----------------------------------------------------------------------------- SendProp SendPropPredictableId( - char *pVarName, + const char *pVarName, int offset, int sizeofVar ) { @@ -188,7 +188,7 @@ void SendProxy_StringT_To_String( const SendProp *pProp, const void *pStruct, co } -SendProp SendPropStringT( char *pVarName, int offset, int sizeofVar ) +SendProp SendPropStringT( const char *pVarName, int offset, int sizeofVar ) { // Make sure it's the right type. Assert( sizeofVar == sizeof( string_t ) ); diff --git a/game/server/sendproxy.h b/game/server/sendproxy.h index b20b2804..69e8ed3e 100644 --- a/game/server/sendproxy.h +++ b/game/server/sendproxy.h @@ -20,31 +20,31 @@ void SendProxy_IntAddOne( const SendProp *pProp, const void *pStruct, const void void SendProxy_ShortAddOne( const SendProp *pProp, const void *pStruct, const void *pVarData, DVariant *pOut, int iElement, int objectID ); SendProp SendPropBool( - char *pVarName, + const char *pVarName, int offset, int sizeofVar ); SendProp SendPropEHandle( - char *pVarName, + const char *pVarName, int offset, int flags = 0, int sizeofVar=SIZEOF_IGNORE, SendVarProxyFn proxyFn=SendProxy_EHandleToInt ); SendProp SendPropTime( - char *pVarName, + const char *pVarName, int offset, int sizeofVar=SIZEOF_IGNORE ); #if !defined( NO_ENTITY_PREDICTION ) SendProp SendPropPredictableId( - char *pVarName, + const char *pVarName, int offset, int sizeofVar=SIZEOF_IGNORE ); #endif SendProp SendPropIntWithMinusOneFlag( - char *pVarName, + const char *pVarName, int offset, int bits, int sizeofVar=SIZEOF_IGNORE, @@ -52,7 +52,7 @@ SendProp SendPropIntWithMinusOneFlag( // Send a string_t as a string property. -SendProp SendPropStringT( char *pVarName, int offset, int sizeofVar ); +SendProp SendPropStringT( const char *pVarName, int offset, int sizeofVar ); //----------------------------------------------------------------------------- // Purpose: Proxy that only sends data to team members diff --git a/game/server/server_hl2-2005.vcproj b/game/server/server_hl2-2005.vcproj index 2621aab7..c98be7f3 100644 --- a/game/server/server_hl2-2005.vcproj +++ b/game/server/server_hl2-2005.vcproj @@ -4,6 +4,7 @@ Version="8.00" Name="Server (HL2)" ProjectGUID="{EB864878-8530-446B-B8E4-BE97D3F608F7}" + RootNamespace="Server (HL2)" > + + + + + + @@ -3060,6 +3074,10 @@ RelativePath="..\shared\teamplay_gamerules.h" > + + @@ -3124,6 +3142,10 @@ RelativePath=".\trains.h" > + + @@ -4391,6 +4413,7 @@ 0, then it only runs the benchmark for this # of ticks." ); -static ConVar sv_benchmark_autovprofrecord( "sv_benchmark_autovprofrecord", "0", 0, "If running a benchmark and this is set, it will record a vprof file over the duration of the benchmark with filename benchmark.vprof." ); - -static float s_flBenchmarkStartWaitSeconds = 3; // Wait this many seconds after level load before starting the benchmark. - -static int s_nBenchmarkBotsToCreate = 22; // Create this many bots. -static int s_nBenchmarkBotCreateInterval = 50; // Create a bot every N ticks. - -static int s_nBenchmarkPhysicsObjects = 100; // Create this many physics objects. - - -static double Benchmark_ValidTime() -{ - bool bOld = Plat_IsInBenchmarkMode(); - Plat_SetBenchmarkMode( false ); - double flRet = Plat_FloatTime(); - Plat_SetBenchmarkMode( bOld ); - - return flRet; -} - - -// ---------------------------------------------------------------------------------------------- // -// CServerBenchmark implementation. -// ---------------------------------------------------------------------------------------------- // -class CServerBenchmark : public IServerBenchmark -{ -public: - CServerBenchmark() - { - m_BenchmarkState = BENCHMARKSTATE_NOT_RUNNING; - - // The benchmark should always have the same seed and do exactly the same thing on the same ticks. - m_RandomStream.SetSeed( 1111 ); - } - - virtual bool StartBenchmark() - { - bool bBenchmark = (CommandLine()->FindParm( "-sv_benchmark" ) != 0); - - return InternalStartBenchmark( bBenchmark, s_flBenchmarkStartWaitSeconds ); - } - - // nBenchmarkMode: 0 = no benchmark - // 1 = benchmark - // 2 = exit out afterwards and write sv_benchmark.txt - bool InternalStartBenchmark( int nBenchmarkMode, float flCountdown ) - { - bool bWasRunningBenchmark = (m_BenchmarkState != BENCHMARKSTATE_NOT_RUNNING); - - if ( nBenchmarkMode == 0 ) - { - // Tear down the previous benchmark environment if necessary. - if ( bWasRunningBenchmark ) - EndBenchmark(); - return false; - } - - m_nBenchmarkMode = nBenchmarkMode; - - if ( !CServerBenchmarkHook::s_pBenchmarkHook ) - Error( "This game doesn't support server benchmarks (no CServerBenchmarkHook found)." ); - - m_BenchmarkState = BENCHMARKSTATE_START_WAIT; - m_flBenchmarkStartTime = Plat_FloatTime(); - m_flBenchmarkStartWaitTime = flCountdown; - - m_nBotsCreated = 0; - m_nStartWaitCounter = -1; - - // Setup the benchmark environment. - engine->SetDedicatedServerBenchmarkMode( true ); // Run 1 tick per frame and ignore all timing stuff. - - // Tell the game-specific hook that we're starting. - CServerBenchmarkHook::s_pBenchmarkHook->StartBenchmark(); - CServerBenchmarkHook::s_pBenchmarkHook->GetPhysicsModelNames( m_PhysicsModelNames ); - - return true; - } - - virtual void UpdateBenchmark() - { - // No benchmark running? - if ( m_BenchmarkState == BENCHMARKSTATE_NOT_RUNNING ) - return; - - // Wait a certain number of ticks to start the benchmark. - if ( m_BenchmarkState == BENCHMARKSTATE_START_WAIT ) - { - if ( (Plat_FloatTime() - m_flBenchmarkStartTime) < m_flBenchmarkStartWaitTime ) - { - UpdateStartWaitCounter(); - return; - } - else - { - // Ok, now we're officially starting it. - Msg( "Starting benchmark!\n" ); - m_flLastBenchmarkCounterUpdate = m_flBenchmarkStartTime = Plat_FloatTime(); - m_fl_ValidTime_BenchmarkStartTime = Benchmark_ValidTime(); - m_nBenchmarkStartTick = gpGlobals->tickcount; - m_nLastPhysicsObjectTick = m_nLastPhysicsForceTick = 0; - m_BenchmarkState = BENCHMARKSTATE_RUNNING; - - StartVProfRecord(); - - RandomSeed( 0 ); - m_RandomStream.SetSeed( 0 ); - } - } - - int nTicksRunSoFar = gpGlobals->tickcount - m_nBenchmarkStartTick; - UpdateBenchmarkCounter(); - - // Are we finished with the benchmark? - if ( nTicksRunSoFar >= sv_benchmark_numticks.GetInt() ) - { - EndVProfRecord(); - OutputResults(); - EndBenchmark(); - return; - } - - // Ok, update whatever we're doing in the benchmark. - UpdatePlayerCreation(); - UpdateVPhysicsObjects(); - CServerBenchmarkHook::s_pBenchmarkHook->UpdateBenchmark(); - } - - void StartVProfRecord() - { - if ( sv_benchmark_autovprofrecord.GetInt() ) - { - engine->ServerCommand( "vprof_record_start benchmark\n" ); - engine->ServerExecute(); - } - } - - void EndVProfRecord() - { - if ( sv_benchmark_autovprofrecord.GetInt() ) - { - engine->ServerCommand( "vprof_record_stop\n" ); - engine->ServerExecute(); - } - } - - void EndBenchmark() - { - // Write out the results if we're running the build scripts. - float flRunTime = Benchmark_ValidTime() - m_fl_ValidTime_BenchmarkStartTime; - if ( m_nBenchmarkMode == 2 ) - { - FileHandle_t fh = filesystem->Open( "sv_benchmark_results.txt", "wt", "DEFAULT_WRITE_PATH" ); - - // If this file doesn't get written out, then the build script will generate an email that there's a problem somewhere. - if ( fh ) - { - filesystem->FPrintf( fh, "sv_benchmark := %.2f\n", flRunTime ); - } - filesystem->Close( fh ); - - // Quit out. - engine->ServerCommand( "quit\n" ); - } - - m_BenchmarkState = BENCHMARKSTATE_NOT_RUNNING; - engine->SetDedicatedServerBenchmarkMode( false ); - } - - virtual bool IsLocalBenchmarkPlayer( CBasePlayer *pPlayer ) - { - if ( m_BenchmarkState != BENCHMARKSTATE_NOT_RUNNING ) - { - if( !engine->IsDedicatedServer() && pPlayer->entindex() == 1 ) - return true; - } - - return false; - } - - void UpdateVPhysicsObjects() - { - int nPhysicsObjectInterval = sv_benchmark_numticks.GetInt() / s_nBenchmarkPhysicsObjects; - - int nNextSpawnTick = m_nLastPhysicsObjectTick + nPhysicsObjectInterval; - if ( GetTickOffset() >= nNextSpawnTick ) - { - m_nLastPhysicsObjectTick = nNextSpawnTick; - - if ( m_PhysicsObjects.Count() < s_nBenchmarkPhysicsObjects ) - { - // Find a bot to spawn it from. - CUtlVector curPlayers; - for ( int i = 1; i <= gpGlobals->maxClients; i++ ) - { - CBasePlayer *pPlayer = UTIL_PlayerByIndex( i ); - if ( pPlayer && (pPlayer->GetFlags() & FL_FAKECLIENT) ) - { - curPlayers.AddToTail( pPlayer ); - } - } - - if ( curPlayers.Count() > 0 && m_PhysicsModelNames.Count() > 0 ) - { - int iModelName = this->RandomInt( 0, m_PhysicsModelNames.Count() - 1 ); - const char *pModelName = m_PhysicsModelNames[iModelName]; - - int iPlayer = this->RandomInt( 0, curPlayers.Count() - 1 ); - - Vector vSpawnPos = curPlayers[iPlayer]->EyePosition() + Vector( 0, 0, 50 ); - - // We'll try 15 locations around the player to spawn this thing. - for ( int i=0; i < 15; i++ ) - { - Vector vOffset( this->RandomFloat( -2000, 2000 ), this->RandomFloat( -2000, 2000 ), 0 ); - CPhysicsProp *pProp = CreatePhysicsProp( pModelName, vSpawnPos, vSpawnPos+vOffset, curPlayers[iPlayer], false, "prop_physics_multiplayer" ); - if ( pProp ) - { - m_PhysicsObjects.AddToTail( pProp ); - pProp->SetAbsVelocity( Vector( this->RandomFloat(-500,500), this->RandomFloat(-500,500), this->RandomFloat(-500,500) ) ); - break; - } - } - } - } - } - - // Give them all a boost periodically. - int nPhysicsForceInterval = sv_benchmark_numticks.GetInt() / 20; - - int nNextForceTick = m_nLastPhysicsForceTick + nPhysicsForceInterval; - if ( GetTickOffset() >= nNextForceTick ) - { - m_nLastPhysicsForceTick = nNextForceTick; - - for ( int i=0; i < m_PhysicsObjects.Count(); i++ ) - { - CBaseEntity *pEnt = m_PhysicsObjects[i]; - if ( pEnt ) - { - IPhysicsObject *pPhysicsObject = pEnt->VPhysicsGetObject(); - if ( pPhysicsObject ) - { - float flAngImpulse = 300000; - float flForce = 500000; - AngularImpulse vAngularImpulse( this->RandomFloat(-flAngImpulse,flAngImpulse), this->RandomFloat(-flAngImpulse,flAngImpulse), this->RandomFloat(flAngImpulse,flAngImpulse) ); - pPhysicsObject->ApplyForceCenter( Vector( this->RandomFloat(-flForce,flForce), this->RandomFloat(-flForce,flForce), this->RandomFloat(0,flForce) ) ); - } - } - } - } - } - - void UpdateStartWaitCounter() - { - int nSecondsLeft = (int)ceil( m_flBenchmarkStartWaitTime - (Plat_FloatTime() - m_flBenchmarkStartTime) ); - if ( m_nStartWaitCounter != nSecondsLeft ) - { - Msg( "Starting benchmark in %d seconds...\n", nSecondsLeft ); - m_nStartWaitCounter = nSecondsLeft; - } - } - - void UpdateBenchmarkCounter() - { - float flCurTime = Plat_FloatTime(); - if ( (flCurTime - m_flLastBenchmarkCounterUpdate) > 3.0f ) - { - m_flLastBenchmarkCounterUpdate = flCurTime; - Msg( "Benchmark: %d%% complete.\n", ((gpGlobals->tickcount - m_nBenchmarkStartTick) * 100) / sv_benchmark_numticks.GetInt() ); - } - } - - virtual bool IsBenchmarkRunning() - { - return (m_BenchmarkState == BENCHMARKSTATE_RUNNING); - } - - virtual int GetTickOffset() - { - if ( m_BenchmarkState == BENCHMARKSTATE_RUNNING ) - { - Assert( gpGlobals->tickcount >= m_nBenchmarkStartTick ); - return gpGlobals->tickcount - m_nBenchmarkStartTick; - } - else - { - return gpGlobals->tickcount; - } - } - - - void UpdatePlayerCreation() - { - if ( m_nBotsCreated >= s_nBenchmarkBotsToCreate ) - return; - - // Spawn the player. - int nTicksRunSoFar = gpGlobals->tickcount - m_nBenchmarkStartTick; - - if ( (nTicksRunSoFar % s_nBenchmarkBotCreateInterval) == 0 ) - { - CServerBenchmarkHook::s_pBenchmarkHook->CreateBot(); - ++m_nBotsCreated; - } - } - - void OutputResults() - { - float flRunTime = Benchmark_ValidTime() - m_fl_ValidTime_BenchmarkStartTime; - - Warning( "------------------ SERVER BENCHMARK RESULTS ------------------\n" ); - Warning( "Total time : %.2f seconds\n", flRunTime ); - Warning( "Num ticks simulated : %d\n", sv_benchmark_numticks.GetInt() ); - Warning( "Ticks per second : %.2f\n", sv_benchmark_numticks.GetInt() / flRunTime ); - Warning( "Benchmark CRC : %d\n", CalculateBenchmarkCRC() ); - Warning( "--------------------------------------------------------------\n" ); - } - - int CalculateBenchmarkCRC() - { - int crc = 0; - - for ( int i = 1; i <= gpGlobals->maxClients; i++ ) - { - CBasePlayer *pPlayer = UTIL_PlayerByIndex( i ); - if ( pPlayer && (pPlayer->GetFlags() & FL_FAKECLIENT) ) - { - crc += pPlayer->GetTeamNumber(); - crc += (int)pPlayer->GetAbsOrigin().x; - crc += (int)pPlayer->GetAbsOrigin().y; - } - } - - return crc; - } - - virtual int RandomInt( int nMin, int nMax ) - { - return m_RandomStream.RandomInt( nMin, nMax ); - } - - virtual float RandomFloat( float nMin, float nMax ) - { - return m_RandomStream.RandomInt( nMin, nMax ); - } - - -private: - - typedef enum EBenchmarkState - { - BENCHMARKSTATE_NOT_RUNNING, - BENCHMARKSTATE_START_WAIT, - BENCHMARKSTATE_RUNNING - }; - EBenchmarkState m_BenchmarkState; - - float m_fl_ValidTime_BenchmarkStartTime; - - float m_flBenchmarkStartTime; - float m_flLastBenchmarkCounterUpdate; - float m_flBenchmarkStartWaitTime; - - int m_nBenchmarkStartTick; - int m_nStartWaitCounter; - int m_nLastPhysicsObjectTick; - int m_nLastPhysicsForceTick; - - int m_nBotsCreated; - CUtlVector< EHANDLE > m_PhysicsObjects; - - CUtlVector m_PhysicsModelNames; - int m_nBenchmarkMode; - - CUniformRandomStream m_RandomStream; -}; - -static CServerBenchmark g_ServerBenchmark; -IServerBenchmark *g_pServerBenchmark = &g_ServerBenchmark; - -CON_COMMAND( sv_benchmark_force_start, "Force start the benchmark. This is only for debugging. It's better to set sv_benchmark to 1 and restart the level." ) -{ - if ( !UTIL_IsCommandIssuedByServerAdmin() ) - return; - - g_ServerBenchmark.InternalStartBenchmark( 1, 1 ); -} - - -// ---------------------------------------------------------------------------------------------- // -// CServerBenchmarkHook implementation. -// ---------------------------------------------------------------------------------------------- // - -CServerBenchmarkHook *CServerBenchmarkHook::s_pBenchmarkHook = NULL; - -CServerBenchmarkHook::CServerBenchmarkHook() -{ - if ( s_pBenchmarkHook ) - Error( "There can only be one CServerBenchmarkHook" ); - - s_pBenchmarkHook = this; -} +//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#include "cbase.h" +#include "serverbenchmark_base.h" +#include "props.h" +#include "filesystem.h" +#include "tier0/icommandline.h" + + +// Server benchmark. Only works on specified maps. +// Lasts for N ticks. +// Enable sv_stressbots. +// Create 20 players and move them around and have them shoot. +// At the end, report the # seconds it took to complete the test. +// Don't start measuring for the first N ticks to account for HD load. + +static ConVar sv_benchmark_numticks( "sv_benchmark_numticks", "3300", 0, "If > 0, then it only runs the benchmark for this # of ticks." ); +static ConVar sv_benchmark_autovprofrecord( "sv_benchmark_autovprofrecord", "0", 0, "If running a benchmark and this is set, it will record a vprof file over the duration of the benchmark with filename benchmark.vprof." ); + +static float s_flBenchmarkStartWaitSeconds = 3; // Wait this many seconds after level load before starting the benchmark. + +static int s_nBenchmarkBotsToCreate = 22; // Create this many bots. +static int s_nBenchmarkBotCreateInterval = 50; // Create a bot every N ticks. + +static int s_nBenchmarkPhysicsObjects = 100; // Create this many physics objects. + + +static double Benchmark_ValidTime() +{ + bool bOld = Plat_IsInBenchmarkMode(); + Plat_SetBenchmarkMode( false ); + double flRet = Plat_FloatTime(); + Plat_SetBenchmarkMode( bOld ); + + return flRet; +} + + +// ---------------------------------------------------------------------------------------------- // +// CServerBenchmark implementation. +// ---------------------------------------------------------------------------------------------- // +class CServerBenchmark : public IServerBenchmark +{ +public: + CServerBenchmark() + { + m_BenchmarkState = BENCHMARKSTATE_NOT_RUNNING; + + // The benchmark should always have the same seed and do exactly the same thing on the same ticks. + m_RandomStream.SetSeed( 1111 ); + } + + virtual bool StartBenchmark() + { + bool bBenchmark = (CommandLine()->FindParm( "-sv_benchmark" ) != 0); + + return InternalStartBenchmark( bBenchmark, s_flBenchmarkStartWaitSeconds ); + } + + // nBenchmarkMode: 0 = no benchmark + // 1 = benchmark + // 2 = exit out afterwards and write sv_benchmark.txt + bool InternalStartBenchmark( int nBenchmarkMode, float flCountdown ) + { + bool bWasRunningBenchmark = (m_BenchmarkState != BENCHMARKSTATE_NOT_RUNNING); + + if ( nBenchmarkMode == 0 ) + { + // Tear down the previous benchmark environment if necessary. + if ( bWasRunningBenchmark ) + EndBenchmark(); + return false; + } + + m_nBenchmarkMode = nBenchmarkMode; + + if ( !CServerBenchmarkHook::s_pBenchmarkHook ) + Error( "This game doesn't support server benchmarks (no CServerBenchmarkHook found)." ); + + m_BenchmarkState = BENCHMARKSTATE_START_WAIT; + m_flBenchmarkStartTime = Plat_FloatTime(); + m_flBenchmarkStartWaitTime = flCountdown; + + m_nBotsCreated = 0; + m_nStartWaitCounter = -1; + + // Setup the benchmark environment. + engine->SetDedicatedServerBenchmarkMode( true ); // Run 1 tick per frame and ignore all timing stuff. + + // Tell the game-specific hook that we're starting. + CServerBenchmarkHook::s_pBenchmarkHook->StartBenchmark(); + CServerBenchmarkHook::s_pBenchmarkHook->GetPhysicsModelNames( m_PhysicsModelNames ); + + return true; + } + + virtual void UpdateBenchmark() + { + // No benchmark running? + if ( m_BenchmarkState == BENCHMARKSTATE_NOT_RUNNING ) + return; + + // Wait a certain number of ticks to start the benchmark. + if ( m_BenchmarkState == BENCHMARKSTATE_START_WAIT ) + { + if ( (Plat_FloatTime() - m_flBenchmarkStartTime) < m_flBenchmarkStartWaitTime ) + { + UpdateStartWaitCounter(); + return; + } + else + { + // Ok, now we're officially starting it. + Msg( "Starting benchmark!\n" ); + m_flLastBenchmarkCounterUpdate = m_flBenchmarkStartTime = Plat_FloatTime(); + m_fl_ValidTime_BenchmarkStartTime = Benchmark_ValidTime(); + m_nBenchmarkStartTick = gpGlobals->tickcount; + m_nLastPhysicsObjectTick = m_nLastPhysicsForceTick = 0; + m_BenchmarkState = BENCHMARKSTATE_RUNNING; + + StartVProfRecord(); + + RandomSeed( 0 ); + m_RandomStream.SetSeed( 0 ); + } + } + + int nTicksRunSoFar = gpGlobals->tickcount - m_nBenchmarkStartTick; + UpdateBenchmarkCounter(); + + // Are we finished with the benchmark? + if ( nTicksRunSoFar >= sv_benchmark_numticks.GetInt() ) + { + EndVProfRecord(); + OutputResults(); + EndBenchmark(); + return; + } + + // Ok, update whatever we're doing in the benchmark. + UpdatePlayerCreation(); + UpdateVPhysicsObjects(); + CServerBenchmarkHook::s_pBenchmarkHook->UpdateBenchmark(); + } + + void StartVProfRecord() + { + if ( sv_benchmark_autovprofrecord.GetInt() ) + { + engine->ServerCommand( "vprof_record_start benchmark\n" ); + engine->ServerExecute(); + } + } + + void EndVProfRecord() + { + if ( sv_benchmark_autovprofrecord.GetInt() ) + { + engine->ServerCommand( "vprof_record_stop\n" ); + engine->ServerExecute(); + } + } + + void EndBenchmark() + { + // Write out the results if we're running the build scripts. + float flRunTime = Benchmark_ValidTime() - m_fl_ValidTime_BenchmarkStartTime; + if ( m_nBenchmarkMode == 2 ) + { + FileHandle_t fh = filesystem->Open( "sv_benchmark_results.txt", "wt", "DEFAULT_WRITE_PATH" ); + + // If this file doesn't get written out, then the build script will generate an email that there's a problem somewhere. + if ( fh ) + { + filesystem->FPrintf( fh, "sv_benchmark := %.2f\n", flRunTime ); + } + filesystem->Close( fh ); + + // Quit out. + engine->ServerCommand( "quit\n" ); + } + + m_BenchmarkState = BENCHMARKSTATE_NOT_RUNNING; + engine->SetDedicatedServerBenchmarkMode( false ); + } + + virtual bool IsLocalBenchmarkPlayer( CBasePlayer *pPlayer ) + { + if ( m_BenchmarkState != BENCHMARKSTATE_NOT_RUNNING ) + { + if( !engine->IsDedicatedServer() && pPlayer->entindex() == 1 ) + return true; + } + + return false; + } + + void UpdateVPhysicsObjects() + { + int nPhysicsObjectInterval = sv_benchmark_numticks.GetInt() / s_nBenchmarkPhysicsObjects; + + int nNextSpawnTick = m_nLastPhysicsObjectTick + nPhysicsObjectInterval; + if ( GetTickOffset() >= nNextSpawnTick ) + { + m_nLastPhysicsObjectTick = nNextSpawnTick; + + if ( m_PhysicsObjects.Count() < s_nBenchmarkPhysicsObjects ) + { + // Find a bot to spawn it from. + CUtlVector curPlayers; + for ( int i = 1; i <= gpGlobals->maxClients; i++ ) + { + CBasePlayer *pPlayer = UTIL_PlayerByIndex( i ); + if ( pPlayer && (pPlayer->GetFlags() & FL_FAKECLIENT) ) + { + curPlayers.AddToTail( pPlayer ); + } + } + + if ( curPlayers.Count() > 0 && m_PhysicsModelNames.Count() > 0 ) + { + int iModelName = this->RandomInt( 0, m_PhysicsModelNames.Count() - 1 ); + const char *pModelName = m_PhysicsModelNames[iModelName]; + + int iPlayer = this->RandomInt( 0, curPlayers.Count() - 1 ); + + Vector vSpawnPos = curPlayers[iPlayer]->EyePosition() + Vector( 0, 0, 50 ); + + // We'll try 15 locations around the player to spawn this thing. + for ( int i=0; i < 15; i++ ) + { + Vector vOffset( this->RandomFloat( -2000, 2000 ), this->RandomFloat( -2000, 2000 ), 0 ); + CPhysicsProp *pProp = CreatePhysicsProp( pModelName, vSpawnPos, vSpawnPos+vOffset, curPlayers[iPlayer], false, "prop_physics_multiplayer" ); + if ( pProp ) + { + m_PhysicsObjects.AddToTail( pProp ); + pProp->SetAbsVelocity( Vector( this->RandomFloat(-500,500), this->RandomFloat(-500,500), this->RandomFloat(-500,500) ) ); + break; + } + } + } + } + } + + // Give them all a boost periodically. + int nPhysicsForceInterval = sv_benchmark_numticks.GetInt() / 20; + + int nNextForceTick = m_nLastPhysicsForceTick + nPhysicsForceInterval; + if ( GetTickOffset() >= nNextForceTick ) + { + m_nLastPhysicsForceTick = nNextForceTick; + + for ( int i=0; i < m_PhysicsObjects.Count(); i++ ) + { + CBaseEntity *pEnt = m_PhysicsObjects[i]; + if ( pEnt ) + { + IPhysicsObject *pPhysicsObject = pEnt->VPhysicsGetObject(); + if ( pPhysicsObject ) + { + float flAngImpulse = 300000; + float flForce = 500000; + AngularImpulse vAngularImpulse( this->RandomFloat(-flAngImpulse,flAngImpulse), this->RandomFloat(-flAngImpulse,flAngImpulse), this->RandomFloat(flAngImpulse,flAngImpulse) ); + pPhysicsObject->ApplyForceCenter( Vector( this->RandomFloat(-flForce,flForce), this->RandomFloat(-flForce,flForce), this->RandomFloat(0,flForce) ) ); + } + } + } + } + } + + void UpdateStartWaitCounter() + { + int nSecondsLeft = (int)ceil( m_flBenchmarkStartWaitTime - (Plat_FloatTime() - m_flBenchmarkStartTime) ); + if ( m_nStartWaitCounter != nSecondsLeft ) + { + Msg( "Starting benchmark in %d seconds...\n", nSecondsLeft ); + m_nStartWaitCounter = nSecondsLeft; + } + } + + void UpdateBenchmarkCounter() + { + float flCurTime = Plat_FloatTime(); + if ( (flCurTime - m_flLastBenchmarkCounterUpdate) > 3.0f ) + { + m_flLastBenchmarkCounterUpdate = flCurTime; + Msg( "Benchmark: %d%% complete.\n", ((gpGlobals->tickcount - m_nBenchmarkStartTick) * 100) / sv_benchmark_numticks.GetInt() ); + } + } + + virtual bool IsBenchmarkRunning() + { + return (m_BenchmarkState == BENCHMARKSTATE_RUNNING); + } + + virtual int GetTickOffset() + { + if ( m_BenchmarkState == BENCHMARKSTATE_RUNNING ) + { + Assert( gpGlobals->tickcount >= m_nBenchmarkStartTick ); + return gpGlobals->tickcount - m_nBenchmarkStartTick; + } + else + { + return gpGlobals->tickcount; + } + } + + + void UpdatePlayerCreation() + { + if ( m_nBotsCreated >= s_nBenchmarkBotsToCreate ) + return; + + // Spawn the player. + int nTicksRunSoFar = gpGlobals->tickcount - m_nBenchmarkStartTick; + + if ( (nTicksRunSoFar % s_nBenchmarkBotCreateInterval) == 0 ) + { + CServerBenchmarkHook::s_pBenchmarkHook->CreateBot(); + ++m_nBotsCreated; + } + } + + void OutputResults() + { + float flRunTime = Benchmark_ValidTime() - m_fl_ValidTime_BenchmarkStartTime; + + Warning( "------------------ SERVER BENCHMARK RESULTS ------------------\n" ); + Warning( "Total time : %.2f seconds\n", flRunTime ); + Warning( "Num ticks simulated : %d\n", sv_benchmark_numticks.GetInt() ); + Warning( "Ticks per second : %.2f\n", sv_benchmark_numticks.GetInt() / flRunTime ); + Warning( "Benchmark CRC : %d\n", CalculateBenchmarkCRC() ); + Warning( "--------------------------------------------------------------\n" ); + } + + int CalculateBenchmarkCRC() + { + int crc = 0; + + for ( int i = 1; i <= gpGlobals->maxClients; i++ ) + { + CBasePlayer *pPlayer = UTIL_PlayerByIndex( i ); + if ( pPlayer && (pPlayer->GetFlags() & FL_FAKECLIENT) ) + { + crc += pPlayer->GetTeamNumber(); + crc += (int)pPlayer->GetAbsOrigin().x; + crc += (int)pPlayer->GetAbsOrigin().y; + } + } + + return crc; + } + + virtual int RandomInt( int nMin, int nMax ) + { + return m_RandomStream.RandomInt( nMin, nMax ); + } + + virtual float RandomFloat( float nMin, float nMax ) + { + return m_RandomStream.RandomFloat( nMin, nMax ); + } + + +private: + + typedef enum EBenchmarkState + { + BENCHMARKSTATE_NOT_RUNNING, + BENCHMARKSTATE_START_WAIT, + BENCHMARKSTATE_RUNNING + }; + EBenchmarkState m_BenchmarkState; + + float m_fl_ValidTime_BenchmarkStartTime; + + float m_flBenchmarkStartTime; + float m_flLastBenchmarkCounterUpdate; + float m_flBenchmarkStartWaitTime; + + int m_nBenchmarkStartTick; + int m_nStartWaitCounter; + int m_nLastPhysicsObjectTick; + int m_nLastPhysicsForceTick; + + int m_nBotsCreated; + CUtlVector< EHANDLE > m_PhysicsObjects; + + CUtlVector m_PhysicsModelNames; + int m_nBenchmarkMode; + + CUniformRandomStream m_RandomStream; +}; + +static CServerBenchmark g_ServerBenchmark; +IServerBenchmark *g_pServerBenchmark = &g_ServerBenchmark; + +CON_COMMAND( sv_benchmark_force_start, "Force start the benchmark. This is only for debugging. It's better to set sv_benchmark to 1 and restart the level." ) +{ + if ( !UTIL_IsCommandIssuedByServerAdmin() ) + return; + + g_ServerBenchmark.InternalStartBenchmark( 1, 1 ); +} + + +// ---------------------------------------------------------------------------------------------- // +// CServerBenchmarkHook implementation. +// ---------------------------------------------------------------------------------------------- // + +CServerBenchmarkHook *CServerBenchmarkHook::s_pBenchmarkHook = NULL; + +CServerBenchmarkHook::CServerBenchmarkHook() +{ + if ( s_pBenchmarkHook ) + Error( "There can only be one CServerBenchmarkHook" ); + + s_pBenchmarkHook = this; +} diff --git a/game/server/serverbenchmark_base.h b/game/server/serverbenchmark_base.h index fc5775bd..0572c6a7 100644 --- a/game/server/serverbenchmark_base.h +++ b/game/server/serverbenchmark_base.h @@ -1,63 +1,63 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= -// -// Purpose: -// -//============================================================================= - -#ifndef SERVERBENCHMARK_BASE_H -#define SERVERBENCHMARK_BASE_H -#ifdef _WIN32 -#pragma once -#endif - - -// The base server code calls into this. -class IServerBenchmark -{ -public: - virtual bool StartBenchmark() = 0; - virtual void UpdateBenchmark() = 0; - - virtual bool IsBenchmarkRunning() = 0; - virtual bool IsLocalBenchmarkPlayer( CBasePlayer *pPlayer ) = 0; - - // Game-specific benchmark code should use this. - virtual int RandomInt( int nMin, int nMax ) = 0; - virtual float RandomFloat( float flMin, float flMax ) = 0; - virtual int GetTickOffset() = 0; -}; - -extern IServerBenchmark *g_pServerBenchmark; - - -// -// Each game can derive from this to hook into the server benchmark. -// -// Hooks should always use g_pServerBenchmark->RandomInt/Float to get random numbers -// so the benchmark is deterministic. -// -// If they use an absolute tick number for anything, then they should also call g_pServerBenchmark->GetTickOffset() -// to get a tick count since the start of the benchmark instead of looking at gpGlobals->tickcount. -// -class CServerBenchmarkHook -{ -public: - CServerBenchmarkHook(); - - virtual void StartBenchmark() {} - virtual void UpdateBenchmark() {} - - // Give a list of model names that can be spawned in for physics props during the simulation. - virtual void GetPhysicsModelNames( CUtlVector &modelNames ) = 0; - - // The benchmark will call this to create a bot each time it wants to create a player. - // If you want to manage the bots yourself, you can return NULL here. - virtual CBasePlayer* CreateBot() = 0; - -private: - friend class CServerBenchmark; - static CServerBenchmarkHook *s_pBenchmarkHook; // There can be only one!! -}; - - -#endif // SERVERBENCHMARK_BASE_H +//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef SERVERBENCHMARK_BASE_H +#define SERVERBENCHMARK_BASE_H +#ifdef _WIN32 +#pragma once +#endif + + +// The base server code calls into this. +class IServerBenchmark +{ +public: + virtual bool StartBenchmark() = 0; + virtual void UpdateBenchmark() = 0; + + virtual bool IsBenchmarkRunning() = 0; + virtual bool IsLocalBenchmarkPlayer( CBasePlayer *pPlayer ) = 0; + + // Game-specific benchmark code should use this. + virtual int RandomInt( int nMin, int nMax ) = 0; + virtual float RandomFloat( float flMin, float flMax ) = 0; + virtual int GetTickOffset() = 0; +}; + +extern IServerBenchmark *g_pServerBenchmark; + + +// +// Each game can derive from this to hook into the server benchmark. +// +// Hooks should always use g_pServerBenchmark->RandomInt/Float to get random numbers +// so the benchmark is deterministic. +// +// If they use an absolute tick number for anything, then they should also call g_pServerBenchmark->GetTickOffset() +// to get a tick count since the start of the benchmark instead of looking at gpGlobals->tickcount. +// +class CServerBenchmarkHook +{ +public: + CServerBenchmarkHook(); + + virtual void StartBenchmark() {} + virtual void UpdateBenchmark() {} + + // Give a list of model names that can be spawned in for physics props during the simulation. + virtual void GetPhysicsModelNames( CUtlVector &modelNames ) = 0; + + // The benchmark will call this to create a bot each time it wants to create a player. + // If you want to manage the bots yourself, you can return NULL here. + virtual CBasePlayer* CreateBot() = 0; + +private: + friend class CServerBenchmark; + static CServerBenchmarkHook *s_pBenchmarkHook; // There can be only one!! +}; + + +#endif // SERVERBENCHMARK_BASE_H diff --git a/game/server/slideshow_display.cpp b/game/server/slideshow_display.cpp index 37ffe6a8..18a86f6e 100644 --- a/game/server/slideshow_display.cpp +++ b/game/server/slideshow_display.cpp @@ -622,4 +622,4 @@ void CSlideshowDisplay::BuildSlideShowImagesList( void ) { g_pFullFileSystem->FindClose( matHandle ); } -} \ No newline at end of file +} diff --git a/game/server/sound.cpp b/game/server/sound.cpp index 9bcd5c0a..e6dac876 100644 --- a/game/server/sound.cpp +++ b/game/server/sound.cpp @@ -353,7 +353,7 @@ void CAmbientGeneric::ComputeMaxAudibleDistance( ) //----------------------------------------------------------------------------- void CAmbientGeneric::InputPitch( inputdata_t &inputdata ) { - m_dpv.pitch = clamp( inputdata.value.Float(), 0, 255 ); + m_dpv.pitch = (int)clamp( inputdata.value.Float(), 0, 255 ); SendSound( SND_CHANGE_PITCH ); } @@ -368,7 +368,7 @@ void CAmbientGeneric::InputVolume( inputdata_t &inputdata ) // // Multiply the input value by ten since volumes are expected to be from 0 - 100. // - m_dpv.vol = clamp( inputdata.value.Float(), 0, 10 ) * 10; + m_dpv.vol = (int)clamp( inputdata.value.Float(), 0, 10 ) * 10; m_dpv.volfrac = m_dpv.vol << 8; SendSound( SND_CHANGE_VOL ); @@ -384,7 +384,7 @@ void CAmbientGeneric::InputFadeIn( inputdata_t &inputdata ) // cancel any fade out that might be happening m_dpv.fadeout = 0; - m_dpv.fadein = inputdata.value.Float(); + m_dpv.fadein = inputdata.value.Int(); if (m_dpv.fadein > 100) m_dpv.fadein = 100; if (m_dpv.fadein < 0) m_dpv.fadein = 0; @@ -404,7 +404,7 @@ void CAmbientGeneric::InputFadeOut( inputdata_t &inputdata ) // cancel any fade in that might be happening m_dpv.fadein = 0; - m_dpv.fadeout = inputdata.value.Float(); + m_dpv.fadeout = inputdata.value.Int(); if (m_dpv.fadeout > 100) m_dpv.fadeout = 100; if (m_dpv.fadeout < 0) m_dpv.fadeout = 0; @@ -1166,7 +1166,7 @@ int SENTENCEG_PlayRndI(edict_t *entity, int isentenceg, name[0] = 0; ipick = engine->SentenceGroupPick( isentenceg, name, sizeof( name ) ); - if (ipick > 0 && name) + if (ipick > 0 && name != '\0') { int sentenceIndex = SENTENCEG_Lookup( name ); CPASAttenuationFilter filter( GetContainingEntity( entity ), soundlevel ); diff --git a/game/server/soundent.cpp b/game/server/soundent.cpp index e576cc00..6675ef79 100644 --- a/game/server/soundent.cpp +++ b/game/server/soundent.cpp @@ -517,7 +517,7 @@ void CSoundEnt::Initialize ( void ) int i; int iSound; - m_cLastActiveSounds; + m_cLastActiveSounds = 0; m_iFreeSound = 0; m_iActiveSound = SOUNDLIST_EMPTY; diff --git a/game/server/soundent.h b/game/server/soundent.h index 2220ec45..5bd7f8bd 100644 --- a/game/server/soundent.h +++ b/game/server/soundent.h @@ -85,10 +85,10 @@ enum SOUNDLIST_EMPTY = -1 }; -#define SOUNDENT_VOLUME_MACHINEGUN 1500.0 -#define SOUNDENT_VOLUME_SHOTGUN 1500.0 -#define SOUNDENT_VOLUME_PISTOL 1500.0 -#define SOUNDENT_VOLUME_EMPTY 500.0 // volume of the "CLICK" when you have no bullets +#define SOUNDENT_VOLUME_MACHINEGUN 1500 +#define SOUNDENT_VOLUME_SHOTGUN 1500 +#define SOUNDENT_VOLUME_PISTOL 1500 +#define SOUNDENT_VOLUME_EMPTY 500 // volume of the "CLICK" when you have no bullets enum { diff --git a/game/server/soundscape.cpp b/game/server/soundscape.cpp index 2a8c6ea1..60b967ff 100644 --- a/game/server/soundscape.cpp +++ b/game/server/soundscape.cpp @@ -50,7 +50,7 @@ void CEnvSoundscapeProxy::Activate() { // Copy the relevant parameters from our main soundscape. m_soundscapeIndex = m_hProxySoundscape->m_soundscapeIndex; - for ( int i=0; i < ARRAYSIZE( m_positionNames ); i++ ) + for ( size_t i=0; i < ARRAYSIZE( m_positionNames ); i++ ) m_positionNames[i] = m_hProxySoundscape->m_positionNames[i]; } else @@ -223,7 +223,7 @@ void CEnvSoundscape::WriteAudioParamsTo( audioparams_t &audio ) audio.ent.Set( this ); audio.soundscapeIndex = m_soundscapeIndex; audio.localBits = 0; - for ( int i = 0; i < ARRAYSIZE(m_positionNames); i++ ) + for ( int i = 0; i < (int)ARRAYSIZE(m_positionNames); i++ ) { if ( m_positionNames[i] != NULL_STRING ) { diff --git a/game/server/soundscape_system.cpp b/game/server/soundscape_system.cpp index 43014fc7..68639d69 100644 --- a/game/server/soundscape_system.cpp +++ b/game/server/soundscape_system.cpp @@ -116,7 +116,7 @@ void CSoundscapeSystem::PrintDebugInfo() CEnvSoundscape *currentSoundscape = m_soundscapeEntities[entityIndex]; Msg("- %d: %s x:%.4f y:%.4f z:%.4f\n", entityIndex, - currentSoundscape->GetSoundscapeName(), + STRING(currentSoundscape->GetSoundscapeName()), currentSoundscape->GetAbsOrigin().x, currentSoundscape->GetAbsOrigin().y, currentSoundscape->GetAbsOrigin().z diff --git a/game/server/tanktrain.cpp b/game/server/tanktrain.cpp index 426357d2..1fc5c2d5 100644 --- a/game/server/tanktrain.cpp +++ b/game/server/tanktrain.cpp @@ -263,7 +263,7 @@ int CTankTrainAI::SoundEnginePitch( void ) // we know this isn't NULL here if ( pTrain->GetMaxSpeed() ) { - return 90 + (fabs(pTrain->GetCurrentSpeed()) * (20) / pTrain->GetMaxSpeed()); + return (int)(90 + (fabs(pTrain->GetCurrentSpeed()) * (20) / pTrain->GetMaxSpeed())); } return 100; } diff --git a/game/server/te.h b/game/server/te.h index 1070a665..3b8c9a9f 100644 --- a/game/server/te.h +++ b/game/server/te.h @@ -14,4 +14,4 @@ #include "itempents.h" -#endif // TE_H \ No newline at end of file +#endif // TE_H diff --git a/game/server/te_basebeam.h b/game/server/te_basebeam.h index c08e48fa..599354b4 100644 --- a/game/server/te_basebeam.h +++ b/game/server/te_basebeam.h @@ -56,4 +56,4 @@ public: EXTERN_SEND_TABLE(DT_BaseBeam); -#endif // TE_BASEBEAM_H \ No newline at end of file +#endif // TE_BASEBEAM_H diff --git a/game/server/te_beamentpoint.cpp b/game/server/te_beamentpoint.cpp index 280e9a5d..aabeac36 100644 --- a/game/server/te_beamentpoint.cpp +++ b/game/server/te_beamentpoint.cpp @@ -151,4 +151,4 @@ void TE_BeamEntPoint( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBeamEntPoint.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_beaments.cpp b/game/server/te_beaments.cpp index b17e2464..c5b93d3d 100644 --- a/game/server/te_beaments.cpp +++ b/game/server/te_beaments.cpp @@ -131,4 +131,4 @@ void TE_BeamEnts( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBeamEnts.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_beamfollow.cpp b/game/server/te_beamfollow.cpp index 28b06b3b..dd99351f 100644 --- a/game/server/te_beamfollow.cpp +++ b/game/server/te_beamfollow.cpp @@ -109,4 +109,4 @@ void TE_BeamFollow( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBeamFollow.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_beamlaser.cpp b/game/server/te_beamlaser.cpp index 5cde9912..069b45fb 100644 --- a/game/server/te_beamlaser.cpp +++ b/game/server/te_beamlaser.cpp @@ -124,4 +124,4 @@ void TE_BeamLaser( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBeamLaser.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_beampoints.cpp b/game/server/te_beampoints.cpp index bcf0cbe9..6735061e 100644 --- a/game/server/te_beampoints.cpp +++ b/game/server/te_beampoints.cpp @@ -141,4 +141,4 @@ void TE_BeamPoints( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBeamPoints.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_beamring.cpp b/game/server/te_beamring.cpp index 2308f572..5e6d41a0 100644 --- a/game/server/te_beamring.cpp +++ b/game/server/te_beamring.cpp @@ -132,4 +132,4 @@ void TE_BeamRing( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBeamRing.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_beamringpoint.cpp b/game/server/te_beamringpoint.cpp index 8d4d2f1d..e97ad052 100644 --- a/game/server/te_beamringpoint.cpp +++ b/game/server/te_beamringpoint.cpp @@ -121,4 +121,4 @@ void TE_BeamRingPoint( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBeamRingPoint.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_beamspline.cpp b/game/server/te_beamspline.cpp index 637fce13..fc3c3967 100644 --- a/game/server/te_beamspline.cpp +++ b/game/server/te_beamspline.cpp @@ -131,4 +131,4 @@ void TE_BeamSpline( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBeamSpline.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_bloodsprite.cpp b/game/server/te_bloodsprite.cpp index 5b54c119..2dff2d2e 100644 --- a/game/server/te_bloodsprite.cpp +++ b/game/server/te_bloodsprite.cpp @@ -148,4 +148,4 @@ void TE_BloodSprite( IRecipientFilter& filter, float delay, // Create it g_TEBloodSprite.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_bloodstream.cpp b/game/server/te_bloodstream.cpp index d723c735..eceb1c53 100644 --- a/game/server/te_bloodstream.cpp +++ b/game/server/te_bloodstream.cpp @@ -132,4 +132,4 @@ void TE_BloodStream( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBloodStream.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_breakmodel.cpp b/game/server/te_breakmodel.cpp index 43cfced7..32807f49 100644 --- a/game/server/te_breakmodel.cpp +++ b/game/server/te_breakmodel.cpp @@ -112,9 +112,9 @@ void CTEBreakModel::Test( const Vector& current_origin, const QAngle& current_an IMPLEMENT_SERVERCLASS_ST(CTEBreakModel, DT_TEBreakModel) SendPropVector( SENDINFO(m_vecOrigin), -1, SPROP_COORD), - SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 0), 13 ), - SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 1), 13 ), - SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 2), 13 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angRotation, 0, x), 13 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angRotation, 1, y), 13 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angRotation, 2, z), 13 ), SendPropVector( SENDINFO(m_vecSize), -1, SPROP_COORD), SendPropVector( SENDINFO(m_vecVelocity), -1, SPROP_COORD), SendPropModelIndex( SENDINFO(m_nModelIndex) ), @@ -143,4 +143,4 @@ void TE_BreakModel( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBreakModel.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_bspdecal.cpp b/game/server/te_bspdecal.cpp index fd35901e..4214c842 100644 --- a/game/server/te_bspdecal.cpp +++ b/game/server/te_bspdecal.cpp @@ -122,4 +122,4 @@ void TE_BSPDecal( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBSPDecal.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_bubbles.cpp b/game/server/te_bubbles.cpp index 04495726..257fc563 100644 --- a/game/server/te_bubbles.cpp +++ b/game/server/te_bubbles.cpp @@ -134,4 +134,4 @@ void TE_Bubbles( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBubbles.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_bubbletrail.cpp b/game/server/te_bubbletrail.cpp index da0fbd20..9fe05936 100644 --- a/game/server/te_bubbletrail.cpp +++ b/game/server/te_bubbletrail.cpp @@ -137,4 +137,4 @@ void TE_BubbleTrail( IRecipientFilter& filter, float delay, // Send it over the wire g_TEBubbleTrail.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_clientprojectile.cpp b/game/server/te_clientprojectile.cpp index a31ec80b..17d8d17d 100644 --- a/game/server/te_clientprojectile.cpp +++ b/game/server/te_clientprojectile.cpp @@ -114,4 +114,4 @@ void TE_ClientProjectile( IRecipientFilter& filter, float delay, // Send it over the wire g_TEClientProjectile.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_decal.cpp b/game/server/te_decal.cpp index c784e3e5..be167293 100644 --- a/game/server/te_decal.cpp +++ b/game/server/te_decal.cpp @@ -128,4 +128,4 @@ void TE_Decal( IRecipientFilter& filter, float delay, // Send it over the wire g_TEDecal.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_dynamiclight.cpp b/game/server/te_dynamiclight.cpp index f9639b43..a2a87694 100644 --- a/game/server/te_dynamiclight.cpp +++ b/game/server/te_dynamiclight.cpp @@ -141,4 +141,4 @@ void TE_DynamicLight( IRecipientFilter& filter, float delay, // Create it g_TEDynamicLight.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_explosion.cpp b/game/server/te_explosion.cpp index 49c504fa..da40c71f 100644 --- a/game/server/te_explosion.cpp +++ b/game/server/te_explosion.cpp @@ -129,4 +129,4 @@ void TE_Explosion( IRecipientFilter& filter, float delay, // Send it over the wire g_TEExplosion.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_fizz.cpp b/game/server/te_fizz.cpp index 75e614fb..d0084c79 100644 --- a/game/server/te_fizz.cpp +++ b/game/server/te_fizz.cpp @@ -109,4 +109,4 @@ void TE_Fizz( IRecipientFilter& filter, float delay, // Send it over the wire g_TEFizz.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_footprintdecal.cpp b/game/server/te_footprintdecal.cpp index 6f463ae4..9e3e9e46 100644 --- a/game/server/te_footprintdecal.cpp +++ b/game/server/te_footprintdecal.cpp @@ -88,4 +88,4 @@ void TE_FootprintDecal( IRecipientFilter& filter, float delay, // Send it over the wire g_TEFootprintDecal.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_glassshatter.cpp b/game/server/te_glassshatter.cpp index 032972d5..8ccc1a8c 100644 --- a/game/server/te_glassshatter.cpp +++ b/game/server/te_glassshatter.cpp @@ -108,12 +108,12 @@ IMPLEMENT_SERVERCLASS_ST(CTEShatterSurface, DT_TEShatterSurface) SendPropFloat( SENDINFO(m_flHeight), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flShardSize), 0, SPROP_NOSCALE ), SendPropInt( SENDINFO(m_nSurfaceType), 2, SPROP_UNSIGNED ), - SendPropInt( SENDINFO_ARRAYELEM( m_uchFrontColor, 0 ), 8, SPROP_UNSIGNED ), - SendPropInt( SENDINFO_ARRAYELEM( m_uchFrontColor, 1 ), 8, SPROP_UNSIGNED ), - SendPropInt( SENDINFO_ARRAYELEM( m_uchFrontColor, 2 ), 8, SPROP_UNSIGNED ), - SendPropInt( SENDINFO_ARRAYELEM( m_uchBackColor, 0 ), 8, SPROP_UNSIGNED ), - SendPropInt( SENDINFO_ARRAYELEM( m_uchBackColor, 1 ), 8, SPROP_UNSIGNED ), - SendPropInt( SENDINFO_ARRAYELEM( m_uchBackColor, 2 ), 8, SPROP_UNSIGNED ), + SendPropInt( SENDINFO_ARRAYELEM2( m_uchFrontColor, 0 ), 8, SPROP_UNSIGNED ), + SendPropInt( SENDINFO_ARRAYELEM2( m_uchFrontColor, 1 ), 8, SPROP_UNSIGNED ), + SendPropInt( SENDINFO_ARRAYELEM2( m_uchFrontColor, 2 ), 8, SPROP_UNSIGNED ), + SendPropInt( SENDINFO_ARRAYELEM2( m_uchBackColor, 0 ), 8, SPROP_UNSIGNED ), + SendPropInt( SENDINFO_ARRAYELEM2( m_uchBackColor, 1 ), 8, SPROP_UNSIGNED ), + SendPropInt( SENDINFO_ARRAYELEM2( m_uchBackColor, 2 ), 8, SPROP_UNSIGNED ), END_SEND_TABLE() diff --git a/game/server/te_glowsprite.cpp b/game/server/te_glowsprite.cpp index e604b270..13aae976 100644 --- a/game/server/te_glowsprite.cpp +++ b/game/server/te_glowsprite.cpp @@ -127,4 +127,4 @@ void TE_GlowSprite( IRecipientFilter& filter, float delay, // Send it over the wire g_TEGlowSprite.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_impact.cpp b/game/server/te_impact.cpp index eb34416e..44866d2f 100644 --- a/game/server/te_impact.cpp +++ b/game/server/te_impact.cpp @@ -94,4 +94,4 @@ static CTEImpact g_TEImpact( "Impact" ); void TE_Impact( IRecipientFilter& filter, float delay ) { g_TEImpact.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_killplayerattachments.cpp b/game/server/te_killplayerattachments.cpp index c180b4f1..114ee193 100644 --- a/game/server/te_killplayerattachments.cpp +++ b/game/server/te_killplayerattachments.cpp @@ -89,4 +89,4 @@ void TE_KillPlayerAttachments( IRecipientFilter& filter, float delay, // Send it over the wire g_TEKillPlayerAttachments.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_largefunnel.cpp b/game/server/te_largefunnel.cpp index c0d5427a..4727b7d3 100644 --- a/game/server/te_largefunnel.cpp +++ b/game/server/te_largefunnel.cpp @@ -100,4 +100,4 @@ void TE_LargeFunnel( IRecipientFilter& filter, float delay, // Send it over the wire g_TELargeFunnel.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_muzzleflash.cpp b/game/server/te_muzzleflash.cpp index 9cdda73f..2b211896 100644 --- a/game/server/te_muzzleflash.cpp +++ b/game/server/te_muzzleflash.cpp @@ -96,4 +96,4 @@ void TE_MuzzleFlash( IRecipientFilter& filter, float delay, // Send it over the wire g_TEMuzzleFlash.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_particlesystem.cpp b/game/server/te_particlesystem.cpp index d3179aac..f2fca976 100644 --- a/game/server/te_particlesystem.cpp +++ b/game/server/te_particlesystem.cpp @@ -16,13 +16,13 @@ IMPLEMENT_SERVERCLASS_ST(CTEParticleSystem, DT_TEParticleSystem) #if defined( TF_DLL ) - SendPropFloat( SENDINFO_VECTORELEM( m_vecOrigin, 0 ), -1, SPROP_COORD_MP_INTEGRAL ), - SendPropFloat( SENDINFO_VECTORELEM( m_vecOrigin, 1 ), -1, SPROP_COORD_MP_INTEGRAL ), - SendPropFloat( SENDINFO_VECTORELEM( m_vecOrigin, 2 ), -1, SPROP_COORD_MP_INTEGRAL ), + SendPropFloat( SENDINFO_VECTORELEM2(m_vecOrigin, 0, x), -1, SPROP_COORD_MP_INTEGRAL ), + SendPropFloat( SENDINFO_VECTORELEM2(m_vecOrigin, 1, y), -1, SPROP_COORD_MP_INTEGRAL ), + SendPropFloat( SENDINFO_VECTORELEM2(m_vecOrigin, 2, z), -1, SPROP_COORD_MP_INTEGRAL ), #else - SendPropFloat( SENDINFO_VECTORELEM(m_vecOrigin, 0), -1, SPROP_COORD), - SendPropFloat( SENDINFO_VECTORELEM(m_vecOrigin, 1), -1, SPROP_COORD), - SendPropFloat( SENDINFO_VECTORELEM(m_vecOrigin, 2), -1, SPROP_COORD), + SendPropFloat( SENDINFO_VECTORELEM2(m_vecOrigin, 0, x), -1, SPROP_COORD), + SendPropFloat( SENDINFO_VECTORELEM2(m_vecOrigin, 1, y), -1, SPROP_COORD), + SendPropFloat( SENDINFO_VECTORELEM2(m_vecOrigin, 2, z), -1, SPROP_COORD), #endif END_SEND_TABLE() diff --git a/game/server/te_physicsprop.cpp b/game/server/te_physicsprop.cpp index 3db27ac9..74ec3809 100644 --- a/game/server/te_physicsprop.cpp +++ b/game/server/te_physicsprop.cpp @@ -104,9 +104,9 @@ void CTEPhysicsProp::Test( const Vector& current_origin, const QAngle& current_a IMPLEMENT_SERVERCLASS_ST(CTEPhysicsProp, DT_TEPhysicsProp) SendPropVector( SENDINFO(m_vecOrigin), -1, SPROP_COORD), - SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 0), 13 ), - SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 1), 13 ), - SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 2), 13 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angRotation, 0, x), 13 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angRotation, 1, y), 13 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_angRotation, 2, z), 13 ), SendPropVector( SENDINFO(m_vecVelocity), -1, SPROP_COORD), SendPropModelIndex( SENDINFO(m_nModelIndex) ), SendPropInt( SENDINFO(m_nSkin), ANIMATION_SKIN_BITS), @@ -130,4 +130,4 @@ void TE_PhysicsProp( IRecipientFilter& filter, float delay, // Send it over the wire s_TEPhysicsProp.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_playerdecal.cpp b/game/server/te_playerdecal.cpp index bfa4b5dc..be783e29 100644 --- a/game/server/te_playerdecal.cpp +++ b/game/server/te_playerdecal.cpp @@ -121,4 +121,4 @@ void TE_PlayerDecal( IRecipientFilter& filter, float delay, // Send it over the wire g_TEPlayerDecal.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_projecteddecal.cpp b/game/server/te_projecteddecal.cpp index ac25c810..dead935d 100644 --- a/game/server/te_projecteddecal.cpp +++ b/game/server/te_projecteddecal.cpp @@ -119,4 +119,4 @@ void TE_ProjectDecal( IRecipientFilter& filter, float delay, // Send it over the wire g_TEProjectedDecal.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_showline.cpp b/game/server/te_showline.cpp index 58df9624..2f400d0a 100644 --- a/game/server/te_showline.cpp +++ b/game/server/te_showline.cpp @@ -104,4 +104,4 @@ void TE_ShowLine( IRecipientFilter& filter, float delay, // Send it over the wire g_TEShowLine.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_smoke.cpp b/game/server/te_smoke.cpp index 83b60cd7..947de159 100644 --- a/game/server/te_smoke.cpp +++ b/game/server/te_smoke.cpp @@ -109,4 +109,4 @@ void TE_Smoke( IRecipientFilter& filter, float delay, // Send it over the wire g_TESmoke.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_sprite.cpp b/game/server/te_sprite.cpp index ce9af039..98ae3438 100644 --- a/game/server/te_sprite.cpp +++ b/game/server/te_sprite.cpp @@ -118,4 +118,4 @@ void TE_Sprite( IRecipientFilter& filter, float delay, // Send it over the wire g_TESprite.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_spritespray.cpp b/game/server/te_spritespray.cpp index d1800569..1eeae735 100644 --- a/game/server/te_spritespray.cpp +++ b/game/server/te_spritespray.cpp @@ -133,4 +133,4 @@ void TE_SpriteSpray( IRecipientFilter& filter, float delay, // Send it over the wire g_TESpriteSpray.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/te_worlddecal.cpp b/game/server/te_worlddecal.cpp index 3a424a36..8dc5d76e 100644 --- a/game/server/te_worlddecal.cpp +++ b/game/server/te_worlddecal.cpp @@ -118,4 +118,4 @@ void TE_WorldDecal( IRecipientFilter& filter, float delay, // Send it over the wire g_TEWorldDecal.Create( filter, delay ); -} \ No newline at end of file +} diff --git a/game/server/team.cpp b/game/server/team.cpp index 873f1aac..d02ba927 100644 --- a/game/server/team.cpp +++ b/game/server/team.cpp @@ -326,4 +326,4 @@ void CTeam::AwardAchievement( int iAchievement ) UserMessageBegin( filter, "AchievementEvent" ); WRITE_SHORT( iAchievement ); MessageEnd(); -} \ No newline at end of file +} diff --git a/game/server/team_control_point.cpp b/game/server/team_control_point.cpp index 6400d211..efc53ba5 100644 --- a/game/server/team_control_point.cpp +++ b/game/server/team_control_point.cpp @@ -894,4 +894,4 @@ void CTeamControlPoint::InputRoundActivate( inputdata_t &inputdata ) m_OnRoundStartOwnedByTeam2.FireOutput( this, this ); break; } -} \ No newline at end of file +} diff --git a/game/server/team_control_point_master.cpp b/game/server/team_control_point_master.cpp index a4461cbc..47558db8 100644 --- a/game/server/team_control_point_master.cpp +++ b/game/server/team_control_point_master.cpp @@ -1289,4 +1289,4 @@ void cc_PlayRound( const CCommand& args ) } static ConCommand playround( "playround", cc_PlayRound, "Play the selected round\n\tArgument: {round name given by \"listrounds\" command}", FCVAR_CHEAT ); -*/ \ No newline at end of file +*/ diff --git a/game/server/team_objectiveresource.cpp b/game/server/team_objectiveresource.cpp index 5bf5dbb4..194a8d33 100644 --- a/game/server/team_objectiveresource.cpp +++ b/game/server/team_objectiveresource.cpp @@ -1,472 +1,472 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= -// -// Purpose: An entity that networks the state of the game's objectives. -// May contain data for objectives that aren't used by your mod, but -// the extra data will never be networked as long as it's zeroed out. -// -//============================================================================= -#include "cbase.h" -#include "team_objectiveresource.h" -#include "shareddefs.h" -#include -#include "team.h" - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -#define CAPHUD_PARITY_BITS 6 -#define CAPHUD_PARITY_MASK ((1<curtime + LAZY_UPDATE_TIME ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::ObjectiveThink( void ) -{ - SetNextThink( gpGlobals->curtime + LAZY_UPDATE_TIME ); - - for ( int i = 0; i < m_iNumControlPoints; i++ ) - { - if ( m_iCappingTeam[i] ) - { - m_flLazyCapPerc.Set( i, m_flCapPercentages[i] ); - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: The objective resource is always transmitted to clients -//----------------------------------------------------------------------------- -int CBaseTeamObjectiveResource::UpdateTransmitState() -{ - // ALWAYS transmit to all clients. - return SetTransmitState( FL_EDICT_ALWAYS ); -} - -//----------------------------------------------------------------------------- -// Purpose: Round is starting, reset state -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::ResetControlPoints( void ) -{ - for ( int i=0; i < MAX_CONTROL_POINTS; i++ ) - { - m_iCappingTeam.Set( i, TEAM_UNASSIGNED ); - m_iTeamInZone.Set( i, TEAM_UNASSIGNED ); - m_bInMiniRound.Set( i, true ); - - for ( int team = 0; team < MAX_CONTROL_POINT_TEAMS; team++ ) - { - m_iNumTeamMembers.Set( TEAM_ARRAY( i, team ), 0.0f ); - } - } - - UpdateCapHudElement(); - m_bControlPointsReset = !m_bControlPointsReset; -} - -//----------------------------------------------------------------------------- -// Purpose: Data setting functions -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetNumControlPoints( int num ) -{ - Assert( num <= MAX_CONTROL_POINTS ); - m_iNumControlPoints = num; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetCPIcons( int index, int iTeam, int iIcon ) -{ - AssertValidIndex(index); - m_iTeamIcons.Set( TEAM_ARRAY( index, iTeam ), iIcon ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetCPOverlays( int index, int iTeam, int iIcon ) -{ - AssertValidIndex(index); - m_iTeamOverlays.Set( TEAM_ARRAY( index, iTeam ), iIcon ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetTeamBaseIcons( int iTeam, int iBaseIcon ) -{ - Assert( iTeam >= 0 && iTeam < MAX_TEAMS ); - m_iTeamBaseIcons.Set( iTeam, iBaseIcon ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetCPPosition( int index, const Vector& vPosition ) -{ - AssertValidIndex(index); - m_vCPPositions.Set( index, vPosition ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetCPVisible( int index, bool bVisible ) -{ - AssertValidIndex(index); - m_bCPIsVisible.Set( index, bVisible ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetWarnOnCap( int index, int iWarnLevel ) -{ - AssertValidIndex(index); - m_iWarnOnCap.Set( index, iWarnLevel ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetWarnSound( int index, string_t iszSound ) -{ - AssertValidIndex(index); - m_iszWarnSound.Set( index, iszSound ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetCPRequiredCappers( int index, int iTeam, int iReqPlayers ) -{ - AssertValidIndex(index); - m_iTeamReqCappers.Set( TEAM_ARRAY( index, iTeam ), iReqPlayers ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetCPCapTime( int index, int iTeam, float flTime ) -{ - AssertValidIndex(index); - m_flTeamCapTime.Set( TEAM_ARRAY( index, iTeam ), flTime ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetCPCapPercentage( int index, float flTime ) -{ - AssertValidIndex(index); - m_flCapPercentages[index] = flTime; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -float CBaseTeamObjectiveResource::GetCPCapPercentage( int index ) -{ - AssertValidIndex(index); - return m_flCapPercentages[index]; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetTeamCanCap( int index, int iTeam, bool bCanCap ) -{ - AssertValidIndex(index); - m_bTeamCanCap.Set( TEAM_ARRAY( index, iTeam ), bCanCap ); - UpdateCapHudElement(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetBaseCP( int index, int iTeam ) -{ - Assert( iTeam < MAX_TEAMS ); - m_iBaseControlPoints.Set( iTeam, index ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetPreviousPoint( int index, int iTeam, int iPrevIndex, int iPrevPoint ) -{ - AssertValidIndex(index); - Assert( iPrevIndex >= 0 && iPrevIndex < MAX_PREVIOUS_POINTS ); - int iIntIndex = iPrevIndex + (index * MAX_PREVIOUS_POINTS) + (iTeam * MAX_CONTROL_POINTS * MAX_PREVIOUS_POINTS); - m_iPreviousPoints.Set( iIntIndex, iPrevPoint ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -int CBaseTeamObjectiveResource::GetPreviousPointForPoint( int index, int team, int iPrevIndex ) -{ - AssertValidIndex(index); - Assert( iPrevIndex >= 0 && iPrevIndex < MAX_PREVIOUS_POINTS ); - int iIntIndex = iPrevIndex + (index * MAX_PREVIOUS_POINTS) + (team * MAX_CONTROL_POINTS * MAX_PREVIOUS_POINTS); - return m_iPreviousPoints[ iIntIndex ]; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -bool CBaseTeamObjectiveResource::TeamCanCapPoint( int index, int team ) -{ - AssertValidIndex(index); - return m_bTeamCanCap[ TEAM_ARRAY( index, team ) ]; -} - -//----------------------------------------------------------------------------- -// Purpose: Data setting functions -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetNumPlayers( int index, int team, int iNumPlayers ) -{ - AssertValidIndex(index); - m_iNumTeamMembers.Set( TEAM_ARRAY( index, team ), iNumPlayers ); - UpdateCapHudElement(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::StartCap( int index, int team ) -{ - AssertValidIndex(index); - if ( m_iCappingTeam.Get( index ) != team ) - { - m_iCappingTeam.Set( index, team ); - UpdateCapHudElement(); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetOwningTeam( int index, int team ) -{ - AssertValidIndex(index); - m_iOwner.Set( index, team ); - - // clear the capper - m_iCappingTeam.Set( index, TEAM_UNASSIGNED ); - UpdateCapHudElement(); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetCappingTeam( int index, int team ) -{ - AssertValidIndex(index); - if ( m_iCappingTeam.Get( index ) != team ) - { - m_iCappingTeam.Set( index, team ); - UpdateCapHudElement(); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetTeamInZone( int index, int team ) -{ - AssertValidIndex(index); - if ( m_iTeamInZone.Get( index ) != team ) - { - m_iTeamInZone.Set( index, team ); - UpdateCapHudElement(); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetCapBlocked( int index, bool bBlocked ) -{ - AssertValidIndex(index); - if ( m_bBlocked.Get( index ) != bBlocked ) - { - m_bBlocked.Set( index, bBlocked ); - UpdateCapHudElement(); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -int CBaseTeamObjectiveResource::GetOwningTeam( int index ) -{ - if ( index >= m_iNumControlPoints ) - return TEAM_UNASSIGNED; - - return m_iOwner[index]; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::UpdateCapHudElement( void ) -{ - m_iUpdateCapHudParity = (m_iUpdateCapHudParity + 1) & CAPHUD_PARITY_MASK; -} - - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBaseTeamObjectiveResource::SetTrainPathDistance( int index, float flDistance ) -{ - AssertValidIndex(index); - - m_flPathDistance.Set( index, flDistance ); -} \ No newline at end of file +//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= +// +// Purpose: An entity that networks the state of the game's objectives. +// May contain data for objectives that aren't used by your mod, but +// the extra data will never be networked as long as it's zeroed out. +// +//============================================================================= +#include "cbase.h" +#include "team_objectiveresource.h" +#include "shareddefs.h" +#include +#include "team.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +#define CAPHUD_PARITY_BITS 6 +#define CAPHUD_PARITY_MASK ((1<curtime + LAZY_UPDATE_TIME ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::ObjectiveThink( void ) +{ + SetNextThink( gpGlobals->curtime + LAZY_UPDATE_TIME ); + + for ( int i = 0; i < m_iNumControlPoints; i++ ) + { + if ( m_iCappingTeam[i] ) + { + m_flLazyCapPerc.Set( i, m_flCapPercentages[i] ); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: The objective resource is always transmitted to clients +//----------------------------------------------------------------------------- +int CBaseTeamObjectiveResource::UpdateTransmitState() +{ + // ALWAYS transmit to all clients. + return SetTransmitState( FL_EDICT_ALWAYS ); +} + +//----------------------------------------------------------------------------- +// Purpose: Round is starting, reset state +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::ResetControlPoints( void ) +{ + for ( int i=0; i < MAX_CONTROL_POINTS; i++ ) + { + m_iCappingTeam.Set( i, TEAM_UNASSIGNED ); + m_iTeamInZone.Set( i, TEAM_UNASSIGNED ); + m_bInMiniRound.Set( i, true ); + + for ( int team = 0; team < MAX_CONTROL_POINT_TEAMS; team++ ) + { + m_iNumTeamMembers.Set( TEAM_ARRAY( i, team ), 0 ); + } + } + + UpdateCapHudElement(); + m_bControlPointsReset = !m_bControlPointsReset; +} + +//----------------------------------------------------------------------------- +// Purpose: Data setting functions +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetNumControlPoints( int num ) +{ + Assert( num <= MAX_CONTROL_POINTS ); + m_iNumControlPoints = num; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetCPIcons( int index, int iTeam, int iIcon ) +{ + AssertValidIndex(index); + m_iTeamIcons.Set( TEAM_ARRAY( index, iTeam ), iIcon ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetCPOverlays( int index, int iTeam, int iIcon ) +{ + AssertValidIndex(index); + m_iTeamOverlays.Set( TEAM_ARRAY( index, iTeam ), iIcon ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetTeamBaseIcons( int iTeam, int iBaseIcon ) +{ + Assert( iTeam >= 0 && iTeam < MAX_TEAMS ); + m_iTeamBaseIcons.Set( iTeam, iBaseIcon ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetCPPosition( int index, const Vector& vPosition ) +{ + AssertValidIndex(index); + m_vCPPositions.Set( index, vPosition ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetCPVisible( int index, bool bVisible ) +{ + AssertValidIndex(index); + m_bCPIsVisible.Set( index, bVisible ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetWarnOnCap( int index, int iWarnLevel ) +{ + AssertValidIndex(index); + m_iWarnOnCap.Set( index, iWarnLevel ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetWarnSound( int index, string_t iszSound ) +{ + AssertValidIndex(index); + m_iszWarnSound.Set( index, iszSound ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetCPRequiredCappers( int index, int iTeam, int iReqPlayers ) +{ + AssertValidIndex(index); + m_iTeamReqCappers.Set( TEAM_ARRAY( index, iTeam ), iReqPlayers ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetCPCapTime( int index, int iTeam, float flTime ) +{ + AssertValidIndex(index); + m_flTeamCapTime.Set( TEAM_ARRAY( index, iTeam ), flTime ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetCPCapPercentage( int index, float flTime ) +{ + AssertValidIndex(index); + m_flCapPercentages[index] = flTime; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +float CBaseTeamObjectiveResource::GetCPCapPercentage( int index ) +{ + AssertValidIndex(index); + return m_flCapPercentages[index]; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetTeamCanCap( int index, int iTeam, bool bCanCap ) +{ + AssertValidIndex(index); + m_bTeamCanCap.Set( TEAM_ARRAY( index, iTeam ), bCanCap ); + UpdateCapHudElement(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetBaseCP( int index, int iTeam ) +{ + Assert( iTeam < MAX_TEAMS ); + m_iBaseControlPoints.Set( iTeam, index ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetPreviousPoint( int index, int iTeam, int iPrevIndex, int iPrevPoint ) +{ + AssertValidIndex(index); + Assert( iPrevIndex >= 0 && iPrevIndex < MAX_PREVIOUS_POINTS ); + int iIntIndex = iPrevIndex + (index * MAX_PREVIOUS_POINTS) + (iTeam * MAX_CONTROL_POINTS * MAX_PREVIOUS_POINTS); + m_iPreviousPoints.Set( iIntIndex, iPrevPoint ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +int CBaseTeamObjectiveResource::GetPreviousPointForPoint( int index, int team, int iPrevIndex ) +{ + AssertValidIndex(index); + Assert( iPrevIndex >= 0 && iPrevIndex < MAX_PREVIOUS_POINTS ); + int iIntIndex = iPrevIndex + (index * MAX_PREVIOUS_POINTS) + (team * MAX_CONTROL_POINTS * MAX_PREVIOUS_POINTS); + return m_iPreviousPoints[ iIntIndex ]; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CBaseTeamObjectiveResource::TeamCanCapPoint( int index, int team ) +{ + AssertValidIndex(index); + return m_bTeamCanCap[ TEAM_ARRAY( index, team ) ]; +} + +//----------------------------------------------------------------------------- +// Purpose: Data setting functions +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetNumPlayers( int index, int team, int iNumPlayers ) +{ + AssertValidIndex(index); + m_iNumTeamMembers.Set( TEAM_ARRAY( index, team ), iNumPlayers ); + UpdateCapHudElement(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::StartCap( int index, int team ) +{ + AssertValidIndex(index); + if ( m_iCappingTeam.Get( index ) != team ) + { + m_iCappingTeam.Set( index, team ); + UpdateCapHudElement(); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetOwningTeam( int index, int team ) +{ + AssertValidIndex(index); + m_iOwner.Set( index, team ); + + // clear the capper + m_iCappingTeam.Set( index, TEAM_UNASSIGNED ); + UpdateCapHudElement(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetCappingTeam( int index, int team ) +{ + AssertValidIndex(index); + if ( m_iCappingTeam.Get( index ) != team ) + { + m_iCappingTeam.Set( index, team ); + UpdateCapHudElement(); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetTeamInZone( int index, int team ) +{ + AssertValidIndex(index); + if ( m_iTeamInZone.Get( index ) != team ) + { + m_iTeamInZone.Set( index, team ); + UpdateCapHudElement(); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetCapBlocked( int index, bool bBlocked ) +{ + AssertValidIndex(index); + if ( m_bBlocked.Get( index ) != bBlocked ) + { + m_bBlocked.Set( index, bBlocked ); + UpdateCapHudElement(); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +int CBaseTeamObjectiveResource::GetOwningTeam( int index ) +{ + if ( index >= m_iNumControlPoints ) + return TEAM_UNASSIGNED; + + return m_iOwner[index]; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::UpdateCapHudElement( void ) +{ + m_iUpdateCapHudParity = (m_iUpdateCapHudParity + 1) & CAPHUD_PARITY_MASK; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseTeamObjectiveResource::SetTrainPathDistance( int index, float flDistance ) +{ + AssertValidIndex(index); + + m_flPathDistance.Set( index, flDistance ); +} diff --git a/game/server/team_train_watcher.cpp b/game/server/team_train_watcher.cpp index 7d092db0..bee9679a 100644 --- a/game/server/team_train_watcher.cpp +++ b/game/server/team_train_watcher.cpp @@ -1,562 +1,562 @@ -//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======// -// -// Purpose: -// -//===========================================================================// - -#include "cbase.h" -#include "team_train_watcher.h" -#include "team_control_point.h" -#include "trains.h" -#include "team_objectiveresource.h" -#include "teamplayroundbased_gamerules.h" -#include "team_control_point.h" -#include "team_control_point_master.h" -#include "engine/IEngineSound.h" -#include "soundenvelope.h" -#include "mp_shareddefs.h" - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -static CSoundPatch *g_pAlarm = NULL; - -BEGIN_DATADESC( CTeamTrainWatcher ) - - // Inputs. - DEFINE_INPUTFUNC( FIELD_VOID, "RoundActivate", InputRoundActivate ), - DEFINE_INPUTFUNC( FIELD_INTEGER, "SetNumTrainCappers", InputSetNumTrainCappers ), - DEFINE_INPUTFUNC( FIELD_VOID, "OnStartOvertime", InputOnStartOvertime ), - DEFINE_INPUTFUNC( FIELD_VOID, "Enable", InputEnable ), - DEFINE_INPUTFUNC( FIELD_VOID, "Disable", InputDisable ), - - // Outputs - DEFINE_OUTPUT( m_OnTrainStartRecede, "OnTrainStartRecede" ), - - // key - DEFINE_KEYFIELD( m_iszTrain, FIELD_STRING, "train" ), - DEFINE_KEYFIELD( m_iszStartNode, FIELD_STRING, "start_node" ), - DEFINE_KEYFIELD( m_iszGoalNode, FIELD_STRING, "goal_node" ), - - DEFINE_KEYFIELD( m_iszLinkedPathTracks[0], FIELD_STRING, "linked_pathtrack_1" ), - DEFINE_KEYFIELD( m_iszLinkedCPs[0], FIELD_STRING, "linked_cp_1" ), - - DEFINE_KEYFIELD( m_iszLinkedPathTracks[1], FIELD_STRING, "linked_pathtrack_2" ), - DEFINE_KEYFIELD( m_iszLinkedCPs[1], FIELD_STRING, "linked_cp_2" ), - - DEFINE_KEYFIELD( m_iszLinkedPathTracks[2], FIELD_STRING, "linked_pathtrack_3" ), - DEFINE_KEYFIELD( m_iszLinkedCPs[2], FIELD_STRING, "linked_cp_3" ), - - DEFINE_KEYFIELD( m_iszLinkedPathTracks[3], FIELD_STRING, "linked_pathtrack_4" ), - DEFINE_KEYFIELD( m_iszLinkedCPs[3], FIELD_STRING, "linked_cp_4" ), - - // can be up to 8 links - - // min speed for train hud speed levels - DEFINE_KEYFIELD( m_flSpeedLevels[0], FIELD_FLOAT, "hud_min_speed_level_1" ), - DEFINE_KEYFIELD( m_flSpeedLevels[1], FIELD_FLOAT, "hud_min_speed_level_2" ), - DEFINE_KEYFIELD( m_flSpeedLevels[2], FIELD_FLOAT, "hud_min_speed_level_3" ), - - DEFINE_KEYFIELD( m_bDisabled, FIELD_BOOLEAN, "StartDisabled" ), - -END_DATADESC() - - -IMPLEMENT_SERVERCLASS_ST_NOBASE(CTeamTrainWatcher, DT_TeamTrainWatcher) - - SendPropFloat( SENDINFO( m_flTotalProgress ), 11, 0, 0.0f, 1.0f ), - SendPropInt( SENDINFO( m_iTrainSpeedLevel ), 4 ), - SendPropTime( SENDINFO( m_flRecedeTime ) ), - SendPropInt( SENDINFO( m_nNumCappers ), 5, SPROP_UNSIGNED ), - -END_SEND_TABLE() - - -LINK_ENTITY_TO_CLASS( team_train_watcher, CTeamTrainWatcher ); - -CTeamTrainWatcher::CTeamTrainWatcher() -{ - m_bDisabled = false; - m_flRecedeTime = 0; - m_bWaitingToRecede = false; - m_bCapBlocked = false; - - m_flNextSpeakForwardConceptTime = 0; - m_hAreaCap = NULL; -} - -int CTeamTrainWatcher::UpdateTransmitState() -{ - if ( m_bDisabled ) - { - return SetTransmitState( FL_EDICT_DONTSEND ); - } - - return SetTransmitState( FL_EDICT_ALWAYS ); -} - -void CTeamTrainWatcher::InputRoundActivate( inputdata_t &inputdata ) -{ - StopCaptureAlarm(); - - if ( !m_bDisabled ) - { - WatcherActivate(); - } -} - -void CTeamTrainWatcher::InputEnable( inputdata_t &inputdata ) -{ - StopCaptureAlarm(); - - m_bDisabled = false; - - WatcherActivate(); - - UpdateTransmitState(); -} - -void CTeamTrainWatcher::InputDisable( inputdata_t &inputdata ) -{ - StopCaptureAlarm(); - - m_bDisabled = true; - SetThink( NULL ); - - m_bWaitingToRecede = false; - - UpdateTransmitState(); -} - -ConVar tf_escort_recede_time( "tf_escort_recede_time", "30", 0, "", true, 0, false, 0 ); -ConVar tf_escort_recede_time_overtime( "tf_escort_recede_time_overtime", "5", 0, "", true, 0, false, 0 ); - -void CTeamTrainWatcher::InputSetNumTrainCappers( inputdata_t &inputdata ) -{ - if ( IsDisabled() ) - { - return; - } - - int iNumCappers = inputdata.value.Int(); - m_nNumCappers = iNumCappers; - - // inputdata.pCaller is hopefully an area capture - // lets see if its blocked, and not start receding if it is - CTriggerAreaCapture *pAreaCap = dynamic_cast(inputdata.pCaller); - if ( pAreaCap ) - { - m_bCapBlocked = pAreaCap->IsBlocked(); - m_hAreaCap = pAreaCap; - } - - if ( iNumCappers <= 0 && !m_bCapBlocked ) - { - if ( !m_bWaitingToRecede ) - { - // start receding in [tf_escort_cart_recede_time] seconds - m_bWaitingToRecede = true; - - if ( TeamplayRoundBasedRules() && TeamplayRoundBasedRules()->InOvertime() ) - { - m_flRecedeTotalTime = tf_escort_recede_time_overtime.GetFloat(); - } - else - { - m_flRecedeTotalTime = tf_escort_recede_time.GetFloat(); - } - - m_flRecedeStartTime = gpGlobals->curtime; - m_flRecedeTime = m_flRecedeStartTime + m_flRecedeTotalTime; - } - } - else - { - // cancel receding - m_bWaitingToRecede = false; - m_flRecedeTime = 0; - } -} - -void CTeamTrainWatcher::InputOnStartOvertime( inputdata_t &inputdata ) -{ - // recalculate the recede time - if ( m_bWaitingToRecede ) - { - float flRecedeTimeRemaining = m_flRecedeTime - gpGlobals->curtime; - float flOvertimeRecedeLen = tf_escort_recede_time_overtime.GetFloat(); - - // drop to overtime recede time if it's more than that - if ( flRecedeTimeRemaining > flOvertimeRecedeLen ) - { - m_flRecedeTotalTime = flOvertimeRecedeLen; - m_flRecedeStartTime = gpGlobals->curtime; - m_flRecedeTime = m_flRecedeStartTime + m_flRecedeTotalTime; - } - } -} - -// ========================================================== -// given a start node and a list of goal nodes -// calculate the distance between each -// ========================================================== -void CTeamTrainWatcher::WatcherActivate( void ) -{ - m_flRecedeTime = 0; - m_bWaitingToRecede = false; - m_bCapBlocked = false; - m_flNextSpeakForwardConceptTime = 0; - m_hAreaCap = NULL; - - StopCaptureAlarm(); - - // init our train - m_hTrain = dynamic_cast( gEntList.FindEntityByName( NULL, m_iszTrain ) ); - if ( !m_hTrain ) - { - Warning("%s failed to find train named '%s'\n", GetClassname(), STRING(m_iszTrain) ); - } - - // init our array of path_tracks linked to control points - m_iNumCPLinks = 0; - - int i; - for ( i=0;i( gEntList.FindEntityByName( NULL, m_iszLinkedPathTracks[i] ) ); - CTeamControlPoint *pCP = dynamic_cast( gEntList.FindEntityByName( NULL, m_iszLinkedCPs[i] ) ); - if ( pPathTrack && pCP ) - { - m_CPLinks[m_iNumCPLinks].hPathTrack = pPathTrack; - m_CPLinks[m_iNumCPLinks].hCP = pCP; - m_CPLinks[m_iNumCPLinks].flDistanceFromStart = 0; // filled in when we parse the nodes - m_CPLinks[m_iNumCPLinks].bAlertPlayed = false; - m_iNumCPLinks++; - } - } - - // init our start and goal nodes - m_hStartNode = dynamic_cast( gEntList.FindEntityByName( NULL, m_iszStartNode ) ); - if ( !m_hStartNode ) - { - Warning("%s failed to find path_track named '%s'\n", GetClassname(), STRING(m_iszStartNode) ); - } - - m_hGoalNode = dynamic_cast( gEntList.FindEntityByName( NULL, m_iszGoalNode ) ); - if ( !m_hGoalNode ) - { - Warning("%s failed to find path_track named '%s'\n", GetClassname(), STRING(m_iszGoalNode) ); - } - - m_flTotalPathDistance = 0.0f; - - if( m_hStartNode.Get() && m_hGoalNode.Get() ) - { - CPathTrack *pNode = m_hStartNode; - CPathTrack *pPrev = pNode; - pNode = pNode->GetNext(); - - // don't check the start node for links. If it's linked, it will have 0 distance anyway - - while ( pNode ) - { - Vector dir = pNode->GetLocalOrigin() - pPrev->GetLocalOrigin(); - float length = dir.Length(); - - m_flTotalPathDistance += length; - - // if pNode is one of our cp nodes, store its distance from m_hStartNode - for ( i=0;iGetNext(); - } - } - - // We have total distance and increments in our links array - for ( i=0;iGetPointIndex(); -// This can be pulled once DoD includes team_objectiveresource.* and c_team_objectiveresource.* -#ifndef DOD_DLL - ObjectiveResource()->SetTrainPathDistance( iCPIndex, m_CPLinks[i].flDistanceFromStart / m_flTotalPathDistance ); -#endif - DevMsg( "link %d = %.2f\n", iCPIndex, m_CPLinks[i].flDistanceFromStart / m_flTotalPathDistance ); - } - - SetThink( &CTeamTrainWatcher::WatcherThink ); - SetNextThink( gpGlobals->curtime + 0.1f ); -} - -void CTeamTrainWatcher::StopCaptureAlarm( void ) -{ - if ( g_pAlarm ) - { - CSoundEnvelopeController::GetController().SoundDestroy( g_pAlarm ); - g_pAlarm = NULL; - } -} - -void CTeamTrainWatcher::StartCaptureAlarm( CTeamControlPoint *pPoint ) -{ - StopCaptureAlarm(); - - if ( pPoint ) - { - CReliableBroadcastRecipientFilter filter; - CSoundEnvelopeController &controller = CSoundEnvelopeController::GetController(); - g_pAlarm = controller.SoundCreate( filter, pPoint->entindex(), CHAN_STATIC, TF_TRAIN_ALARM, ATTN_NORM ); - controller.Play( g_pAlarm, 1.0, PITCH_NORM ); - } -} - -void CTeamTrainWatcher::PlayCaptureAlert( CTeamControlPoint *pPoint, bool bFinalPointInMap ) -{ - if ( !pPoint ) - return; - - if ( TeamplayRoundBasedRules() ) - { - TeamplayRoundBasedRules()->PlayTrainCaptureAlert( pPoint, bFinalPointInMap ); - } -} - -void CTeamTrainWatcher::WatcherThink( void ) -{ - if ( m_bWaitingToRecede ) - { - if ( m_flRecedeTime < gpGlobals->curtime ) - { - m_bWaitingToRecede = false; - - // don't actually recede in overtime - if ( TeamplayRoundBasedRules() && !TeamplayRoundBasedRules()->InOvertime() ) - { - // fire recede output - m_OnTrainStartRecede.FireOutput( this, this ); - } - } - } - - if ( TeamplayRoundBasedRules() && TeamplayRoundBasedRules()->State_Get() == GR_STATE_TEAM_WIN ) - { - StopCaptureAlarm(); - } - - // given its next node, we can walk the nodes and find the linear - // distance to the next cp node, or to the goal node - - CFuncTrackTrain *pTrain = m_hTrain; - if ( pTrain ) - { - int iOldTrainSpeedLevel = m_iTrainSpeedLevel; - - // how fast is the train moving? - float flSpeed = pTrain->GetDesiredSpeed(); - - // divide speed into regions - // anything negative is -1 - - if ( flSpeed < 0 ) - { - m_iTrainSpeedLevel = -1; - - // even though our desired speed might be negative, - // our actual speed might be zero if we're at a dead end... - // this will turn off the < image when the train is done moving backwards - if ( pTrain->GetCurrentSpeed() == 0 ) - { - m_iTrainSpeedLevel = 0; - } - } - else if ( flSpeed > m_flSpeedLevels[2] ) - { - m_iTrainSpeedLevel = 3; - } - else if ( flSpeed > m_flSpeedLevels[1] ) - { - m_iTrainSpeedLevel = 2; - } - else if ( flSpeed > m_flSpeedLevels[0] ) - { - m_iTrainSpeedLevel = 1; - } - else - { - m_iTrainSpeedLevel = 0; - } - - // play any concepts that we might need to play - if ( m_iTrainSpeedLevel != iOldTrainSpeedLevel ) - { - if ( TeamplayRoundBasedRules() ) - { - if ( m_iTrainSpeedLevel == 0 && iOldTrainSpeedLevel != 0 ) - { - TeamplayRoundBasedRules()->HaveAllPlayersSpeakConceptIfAllowed( MP_CONCEPT_CART_STOP ); - m_flNextSpeakForwardConceptTime = 0; - } - else if ( m_iTrainSpeedLevel < 0 && iOldTrainSpeedLevel == 0 ) - { - TeamplayRoundBasedRules()->HaveAllPlayersSpeakConceptIfAllowed( MP_CONCEPT_CART_MOVING_BACKWARD ); - m_flNextSpeakForwardConceptTime = 0; - } - } - } - - if ( m_iTrainSpeedLevel > 0 && m_flNextSpeakForwardConceptTime < gpGlobals->curtime ) - { - if ( m_hAreaCap.Get() ) - { - for ( int i = 1; i <= gpGlobals->maxClients; i++ ) - { - CBaseMultiplayerPlayer *pPlayer = ToBaseMultiplayerPlayer( UTIL_PlayerByIndex( i ) ); - if ( pPlayer ) - { - if ( m_hAreaCap->IsTouching( pPlayer ) ) - { - pPlayer->SpeakConceptIfAllowed( MP_CONCEPT_CART_MOVING_FORWARD ); - } - } - } - } - - m_flNextSpeakForwardConceptTime = gpGlobals->curtime + 3.0; - } - - // what percent progress are we at? - CPathTrack *pNode = ( pTrain->m_ppath ) ? pTrain->m_ppath->GetNext() : NULL; - - // if we're moving backwards, GetNext is going to be wrong - if ( flSpeed < 0 ) - { - pNode = pTrain->m_ppath; - } - - if ( pNode ) - { - float flDistanceToGoal = 0; - - // distance to next node - Vector vecDir = pNode->GetLocalOrigin() - pTrain->GetLocalOrigin(); - flDistanceToGoal = vecDir.Length(); - - // distance of next node to goal node - if ( pNode && pNode != m_hGoalNode ) - { - // walk this until we get to goal node, or a dead end - CPathTrack *pPrev = pNode; - pNode = pNode->GetNext(); - while ( pNode ) - { - vecDir = pNode->GetLocalOrigin() - pPrev->GetLocalOrigin(); - flDistanceToGoal += vecDir.Length(); - - if ( pNode == m_hGoalNode ) - break; - - pPrev = pNode; - pNode = pNode->GetNext(); - } - } - - if ( m_flTotalPathDistance <= 0 ) - { - Assert( !"No path distance in team_train_watcher\n" ); - m_flTotalPathDistance = 1; - } - - m_flTotalProgress = clamp( 1.0 - ( flDistanceToGoal / m_flTotalPathDistance ), 0.0, 1.0 ); - - float flTrainDistanceFromStart = m_flTotalPathDistance - flDistanceToGoal; - - // play alert sounds if necessary - for ( int iCount = 0 ; iCount < m_iNumCPLinks ; iCount++ ) - { - if ( flTrainDistanceFromStart < m_CPLinks[iCount].flDistanceFromStart - TF_TRAIN_ALERT_DISTANCE ) - { - // back up twice the alert distance before resetting our flag to play the warning again - if ( flTrainDistanceFromStart < m_CPLinks[iCount].flDistanceFromStart - ( TF_TRAIN_ALERT_DISTANCE * 2 ) ) - { - // reset our alert flag - m_CPLinks[iCount].bAlertPlayed = false; - } - } - else - { - if ( flTrainDistanceFromStart < m_CPLinks[iCount].flDistanceFromStart && !m_CPLinks[iCount].bAlertPlayed ) - { - m_CPLinks[iCount].bAlertPlayed = true; - - CTeamControlPoint *pLastPoint = NULL; - CTeamControlPoint *pCurrentPoint = m_CPLinks[iCount].hCP.Get(); - CTeamControlPointMaster *pMaster = g_hControlPointMasters.Count() ? g_hControlPointMasters[0] : NULL; - if ( pMaster ) - { - pLastPoint = pMaster->GetControlPoint( pMaster->GetNumPoints() - 1 ); - } - - bool bFinalPointInMap = pLastPoint && ( pLastPoint == pCurrentPoint ); - - PlayCaptureAlert( pCurrentPoint, bFinalPointInMap ); - } - } - } - - // check to see if we need to start or stop the alarm - if ( flDistanceToGoal <= TF_TRAIN_ALARM_DISTANCE ) - { - if ( !g_pAlarm && m_iNumCPLinks > 0 ) - { - // start the alarm at the final point - StartCaptureAlarm( m_CPLinks[m_iNumCPLinks-1].hCP.Get() ); - } - } - else - { - if ( g_pAlarm ) - { - StopCaptureAlarm(); - } - } - } - } - - SetNextThink( gpGlobals->curtime + 0.1 ); -} - - -CBaseEntity *CTeamTrainWatcher::GetTrainEntity( void ) -{ - return m_hTrain.Get(); -} - -bool CTeamTrainWatcher::TimerMayExpire( void ) -{ - if ( IsDisabled() ) - { - return true; - } - - // Still in overtime if we're waiting to recede - if ( m_bWaitingToRecede ) - return false; - - // capture blocked so we're not receding, but game shouldn't end - if ( m_bCapBlocked ) - return false; - - // not waiting, so we're capping, in which case the area capture - // will not let us expire - return true; -} \ No newline at end of file +//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======// +// +// Purpose: +// +//===========================================================================// + +#include "cbase.h" +#include "team_train_watcher.h" +#include "team_control_point.h" +#include "trains.h" +#include "team_objectiveresource.h" +#include "teamplayroundbased_gamerules.h" +#include "team_control_point.h" +#include "team_control_point_master.h" +#include "engine/IEngineSound.h" +#include "soundenvelope.h" +#include "mp_shareddefs.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +static CSoundPatch *g_pAlarm = NULL; + +BEGIN_DATADESC( CTeamTrainWatcher ) + + // Inputs. + DEFINE_INPUTFUNC( FIELD_VOID, "RoundActivate", InputRoundActivate ), + DEFINE_INPUTFUNC( FIELD_INTEGER, "SetNumTrainCappers", InputSetNumTrainCappers ), + DEFINE_INPUTFUNC( FIELD_VOID, "OnStartOvertime", InputOnStartOvertime ), + DEFINE_INPUTFUNC( FIELD_VOID, "Enable", InputEnable ), + DEFINE_INPUTFUNC( FIELD_VOID, "Disable", InputDisable ), + + // Outputs + DEFINE_OUTPUT( m_OnTrainStartRecede, "OnTrainStartRecede" ), + + // key + DEFINE_KEYFIELD( m_iszTrain, FIELD_STRING, "train" ), + DEFINE_KEYFIELD( m_iszStartNode, FIELD_STRING, "start_node" ), + DEFINE_KEYFIELD( m_iszGoalNode, FIELD_STRING, "goal_node" ), + + DEFINE_KEYFIELD( m_iszLinkedPathTracks[0], FIELD_STRING, "linked_pathtrack_1" ), + DEFINE_KEYFIELD( m_iszLinkedCPs[0], FIELD_STRING, "linked_cp_1" ), + + DEFINE_KEYFIELD( m_iszLinkedPathTracks[1], FIELD_STRING, "linked_pathtrack_2" ), + DEFINE_KEYFIELD( m_iszLinkedCPs[1], FIELD_STRING, "linked_cp_2" ), + + DEFINE_KEYFIELD( m_iszLinkedPathTracks[2], FIELD_STRING, "linked_pathtrack_3" ), + DEFINE_KEYFIELD( m_iszLinkedCPs[2], FIELD_STRING, "linked_cp_3" ), + + DEFINE_KEYFIELD( m_iszLinkedPathTracks[3], FIELD_STRING, "linked_pathtrack_4" ), + DEFINE_KEYFIELD( m_iszLinkedCPs[3], FIELD_STRING, "linked_cp_4" ), + + // can be up to 8 links + + // min speed for train hud speed levels + DEFINE_KEYFIELD( m_flSpeedLevels[0], FIELD_FLOAT, "hud_min_speed_level_1" ), + DEFINE_KEYFIELD( m_flSpeedLevels[1], FIELD_FLOAT, "hud_min_speed_level_2" ), + DEFINE_KEYFIELD( m_flSpeedLevels[2], FIELD_FLOAT, "hud_min_speed_level_3" ), + + DEFINE_KEYFIELD( m_bDisabled, FIELD_BOOLEAN, "StartDisabled" ), + +END_DATADESC() + + +IMPLEMENT_SERVERCLASS_ST_NOBASE(CTeamTrainWatcher, DT_TeamTrainWatcher) + + SendPropFloat( SENDINFO( m_flTotalProgress ), 11, 0, 0.0f, 1.0f ), + SendPropInt( SENDINFO( m_iTrainSpeedLevel ), 4 ), + SendPropTime( SENDINFO( m_flRecedeTime ) ), + SendPropInt( SENDINFO( m_nNumCappers ), 5, SPROP_UNSIGNED ), + +END_SEND_TABLE() + + +LINK_ENTITY_TO_CLASS( team_train_watcher, CTeamTrainWatcher ); + +CTeamTrainWatcher::CTeamTrainWatcher() +{ + m_bDisabled = false; + m_flRecedeTime = 0; + m_bWaitingToRecede = false; + m_bCapBlocked = false; + + m_flNextSpeakForwardConceptTime = 0; + m_hAreaCap = NULL; +} + +int CTeamTrainWatcher::UpdateTransmitState() +{ + if ( m_bDisabled ) + { + return SetTransmitState( FL_EDICT_DONTSEND ); + } + + return SetTransmitState( FL_EDICT_ALWAYS ); +} + +void CTeamTrainWatcher::InputRoundActivate( inputdata_t &inputdata ) +{ + StopCaptureAlarm(); + + if ( !m_bDisabled ) + { + WatcherActivate(); + } +} + +void CTeamTrainWatcher::InputEnable( inputdata_t &inputdata ) +{ + StopCaptureAlarm(); + + m_bDisabled = false; + + WatcherActivate(); + + UpdateTransmitState(); +} + +void CTeamTrainWatcher::InputDisable( inputdata_t &inputdata ) +{ + StopCaptureAlarm(); + + m_bDisabled = true; + SetThink( NULL ); + + m_bWaitingToRecede = false; + + UpdateTransmitState(); +} + +ConVar tf_escort_recede_time( "tf_escort_recede_time", "30", 0, "", true, 0, false, 0 ); +ConVar tf_escort_recede_time_overtime( "tf_escort_recede_time_overtime", "5", 0, "", true, 0, false, 0 ); + +void CTeamTrainWatcher::InputSetNumTrainCappers( inputdata_t &inputdata ) +{ + if ( IsDisabled() ) + { + return; + } + + int iNumCappers = inputdata.value.Int(); + m_nNumCappers = iNumCappers; + + // inputdata.pCaller is hopefully an area capture + // lets see if its blocked, and not start receding if it is + CTriggerAreaCapture *pAreaCap = dynamic_cast(inputdata.pCaller); + if ( pAreaCap ) + { + m_bCapBlocked = pAreaCap->IsBlocked(); + m_hAreaCap = pAreaCap; + } + + if ( iNumCappers <= 0 && !m_bCapBlocked ) + { + if ( !m_bWaitingToRecede ) + { + // start receding in [tf_escort_cart_recede_time] seconds + m_bWaitingToRecede = true; + + if ( TeamplayRoundBasedRules() && TeamplayRoundBasedRules()->InOvertime() ) + { + m_flRecedeTotalTime = tf_escort_recede_time_overtime.GetFloat(); + } + else + { + m_flRecedeTotalTime = tf_escort_recede_time.GetFloat(); + } + + m_flRecedeStartTime = gpGlobals->curtime; + m_flRecedeTime = m_flRecedeStartTime + m_flRecedeTotalTime; + } + } + else + { + // cancel receding + m_bWaitingToRecede = false; + m_flRecedeTime = 0; + } +} + +void CTeamTrainWatcher::InputOnStartOvertime( inputdata_t &inputdata ) +{ + // recalculate the recede time + if ( m_bWaitingToRecede ) + { + float flRecedeTimeRemaining = m_flRecedeTime - gpGlobals->curtime; + float flOvertimeRecedeLen = tf_escort_recede_time_overtime.GetFloat(); + + // drop to overtime recede time if it's more than that + if ( flRecedeTimeRemaining > flOvertimeRecedeLen ) + { + m_flRecedeTotalTime = flOvertimeRecedeLen; + m_flRecedeStartTime = gpGlobals->curtime; + m_flRecedeTime = m_flRecedeStartTime + m_flRecedeTotalTime; + } + } +} + +// ========================================================== +// given a start node and a list of goal nodes +// calculate the distance between each +// ========================================================== +void CTeamTrainWatcher::WatcherActivate( void ) +{ + m_flRecedeTime = 0; + m_bWaitingToRecede = false; + m_bCapBlocked = false; + m_flNextSpeakForwardConceptTime = 0; + m_hAreaCap = NULL; + + StopCaptureAlarm(); + + // init our train + m_hTrain = dynamic_cast( gEntList.FindEntityByName( NULL, m_iszTrain ) ); + if ( !m_hTrain ) + { + Warning("%s failed to find train named '%s'\n", GetClassname(), STRING(m_iszTrain) ); + } + + // init our array of path_tracks linked to control points + m_iNumCPLinks = 0; + + int i; + for ( i=0;i( gEntList.FindEntityByName( NULL, m_iszLinkedPathTracks[i] ) ); + CTeamControlPoint *pCP = dynamic_cast( gEntList.FindEntityByName( NULL, m_iszLinkedCPs[i] ) ); + if ( pPathTrack && pCP ) + { + m_CPLinks[m_iNumCPLinks].hPathTrack = pPathTrack; + m_CPLinks[m_iNumCPLinks].hCP = pCP; + m_CPLinks[m_iNumCPLinks].flDistanceFromStart = 0; // filled in when we parse the nodes + m_CPLinks[m_iNumCPLinks].bAlertPlayed = false; + m_iNumCPLinks++; + } + } + + // init our start and goal nodes + m_hStartNode = dynamic_cast( gEntList.FindEntityByName( NULL, m_iszStartNode ) ); + if ( !m_hStartNode ) + { + Warning("%s failed to find path_track named '%s'\n", GetClassname(), STRING(m_iszStartNode) ); + } + + m_hGoalNode = dynamic_cast( gEntList.FindEntityByName( NULL, m_iszGoalNode ) ); + if ( !m_hGoalNode ) + { + Warning("%s failed to find path_track named '%s'\n", GetClassname(), STRING(m_iszGoalNode) ); + } + + m_flTotalPathDistance = 0.0f; + + if( m_hStartNode.Get() && m_hGoalNode.Get() ) + { + CPathTrack *pNode = m_hStartNode; + CPathTrack *pPrev = pNode; + pNode = pNode->GetNext(); + + // don't check the start node for links. If it's linked, it will have 0 distance anyway + + while ( pNode ) + { + Vector dir = pNode->GetLocalOrigin() - pPrev->GetLocalOrigin(); + float length = dir.Length(); + + m_flTotalPathDistance += length; + + // if pNode is one of our cp nodes, store its distance from m_hStartNode + for ( i=0;iGetNext(); + } + } + + // We have total distance and increments in our links array + for ( i=0;iGetPointIndex(); +// This can be pulled once DoD includes team_objectiveresource.* and c_team_objectiveresource.* +#ifndef DOD_DLL + ObjectiveResource()->SetTrainPathDistance( iCPIndex, m_CPLinks[i].flDistanceFromStart / m_flTotalPathDistance ); +#endif + DevMsg( "link %d = %.2f\n", iCPIndex, m_CPLinks[i].flDistanceFromStart / m_flTotalPathDistance ); + } + + SetThink( &CTeamTrainWatcher::WatcherThink ); + SetNextThink( gpGlobals->curtime + 0.1f ); +} + +void CTeamTrainWatcher::StopCaptureAlarm( void ) +{ + if ( g_pAlarm ) + { + CSoundEnvelopeController::GetController().SoundDestroy( g_pAlarm ); + g_pAlarm = NULL; + } +} + +void CTeamTrainWatcher::StartCaptureAlarm( CTeamControlPoint *pPoint ) +{ + StopCaptureAlarm(); + + if ( pPoint ) + { + CReliableBroadcastRecipientFilter filter; + CSoundEnvelopeController &controller = CSoundEnvelopeController::GetController(); + g_pAlarm = controller.SoundCreate( filter, pPoint->entindex(), CHAN_STATIC, TF_TRAIN_ALARM, ATTN_NORM ); + controller.Play( g_pAlarm, 1.0, PITCH_NORM ); + } +} + +void CTeamTrainWatcher::PlayCaptureAlert( CTeamControlPoint *pPoint, bool bFinalPointInMap ) +{ + if ( !pPoint ) + return; + + if ( TeamplayRoundBasedRules() ) + { + TeamplayRoundBasedRules()->PlayTrainCaptureAlert( pPoint, bFinalPointInMap ); + } +} + +void CTeamTrainWatcher::WatcherThink( void ) +{ + if ( m_bWaitingToRecede ) + { + if ( m_flRecedeTime < gpGlobals->curtime ) + { + m_bWaitingToRecede = false; + + // don't actually recede in overtime + if ( TeamplayRoundBasedRules() && !TeamplayRoundBasedRules()->InOvertime() ) + { + // fire recede output + m_OnTrainStartRecede.FireOutput( this, this ); + } + } + } + + if ( TeamplayRoundBasedRules() && TeamplayRoundBasedRules()->State_Get() == GR_STATE_TEAM_WIN ) + { + StopCaptureAlarm(); + } + + // given its next node, we can walk the nodes and find the linear + // distance to the next cp node, or to the goal node + + CFuncTrackTrain *pTrain = m_hTrain; + if ( pTrain ) + { + int iOldTrainSpeedLevel = m_iTrainSpeedLevel; + + // how fast is the train moving? + float flSpeed = pTrain->GetDesiredSpeed(); + + // divide speed into regions + // anything negative is -1 + + if ( flSpeed < 0 ) + { + m_iTrainSpeedLevel = -1; + + // even though our desired speed might be negative, + // our actual speed might be zero if we're at a dead end... + // this will turn off the < image when the train is done moving backwards + if ( pTrain->GetCurrentSpeed() == 0 ) + { + m_iTrainSpeedLevel = 0; + } + } + else if ( flSpeed > m_flSpeedLevels[2] ) + { + m_iTrainSpeedLevel = 3; + } + else if ( flSpeed > m_flSpeedLevels[1] ) + { + m_iTrainSpeedLevel = 2; + } + else if ( flSpeed > m_flSpeedLevels[0] ) + { + m_iTrainSpeedLevel = 1; + } + else + { + m_iTrainSpeedLevel = 0; + } + + // play any concepts that we might need to play + if ( m_iTrainSpeedLevel != iOldTrainSpeedLevel ) + { + if ( TeamplayRoundBasedRules() ) + { + if ( m_iTrainSpeedLevel == 0 && iOldTrainSpeedLevel != 0 ) + { + TeamplayRoundBasedRules()->HaveAllPlayersSpeakConceptIfAllowed( MP_CONCEPT_CART_STOP ); + m_flNextSpeakForwardConceptTime = 0; + } + else if ( m_iTrainSpeedLevel < 0 && iOldTrainSpeedLevel == 0 ) + { + TeamplayRoundBasedRules()->HaveAllPlayersSpeakConceptIfAllowed( MP_CONCEPT_CART_MOVING_BACKWARD ); + m_flNextSpeakForwardConceptTime = 0; + } + } + } + + if ( m_iTrainSpeedLevel > 0 && m_flNextSpeakForwardConceptTime < gpGlobals->curtime ) + { + if ( m_hAreaCap.Get() ) + { + for ( int i = 1; i <= gpGlobals->maxClients; i++ ) + { + CBaseMultiplayerPlayer *pPlayer = ToBaseMultiplayerPlayer( UTIL_PlayerByIndex( i ) ); + if ( pPlayer ) + { + if ( m_hAreaCap->IsTouching( pPlayer ) ) + { + pPlayer->SpeakConceptIfAllowed( MP_CONCEPT_CART_MOVING_FORWARD ); + } + } + } + } + + m_flNextSpeakForwardConceptTime = gpGlobals->curtime + 3.0; + } + + // what percent progress are we at? + CPathTrack *pNode = ( pTrain->m_ppath ) ? pTrain->m_ppath->GetNext() : NULL; + + // if we're moving backwards, GetNext is going to be wrong + if ( flSpeed < 0 ) + { + pNode = pTrain->m_ppath; + } + + if ( pNode ) + { + float flDistanceToGoal = 0; + + // distance to next node + Vector vecDir = pNode->GetLocalOrigin() - pTrain->GetLocalOrigin(); + flDistanceToGoal = vecDir.Length(); + + // distance of next node to goal node + if ( pNode && pNode != m_hGoalNode ) + { + // walk this until we get to goal node, or a dead end + CPathTrack *pPrev = pNode; + pNode = pNode->GetNext(); + while ( pNode ) + { + vecDir = pNode->GetLocalOrigin() - pPrev->GetLocalOrigin(); + flDistanceToGoal += vecDir.Length(); + + if ( pNode == m_hGoalNode ) + break; + + pPrev = pNode; + pNode = pNode->GetNext(); + } + } + + if ( m_flTotalPathDistance <= 0 ) + { + Assert( !"No path distance in team_train_watcher\n" ); + m_flTotalPathDistance = 1; + } + + m_flTotalProgress = clamp( 1.0 - ( flDistanceToGoal / m_flTotalPathDistance ), 0.0, 1.0 ); + + float flTrainDistanceFromStart = m_flTotalPathDistance - flDistanceToGoal; + + // play alert sounds if necessary + for ( int iCount = 0 ; iCount < m_iNumCPLinks ; iCount++ ) + { + if ( flTrainDistanceFromStart < m_CPLinks[iCount].flDistanceFromStart - TF_TRAIN_ALERT_DISTANCE ) + { + // back up twice the alert distance before resetting our flag to play the warning again + if ( flTrainDistanceFromStart < m_CPLinks[iCount].flDistanceFromStart - ( TF_TRAIN_ALERT_DISTANCE * 2 ) ) + { + // reset our alert flag + m_CPLinks[iCount].bAlertPlayed = false; + } + } + else + { + if ( flTrainDistanceFromStart < m_CPLinks[iCount].flDistanceFromStart && !m_CPLinks[iCount].bAlertPlayed ) + { + m_CPLinks[iCount].bAlertPlayed = true; + + CTeamControlPoint *pLastPoint = NULL; + CTeamControlPoint *pCurrentPoint = m_CPLinks[iCount].hCP.Get(); + CTeamControlPointMaster *pMaster = g_hControlPointMasters.Count() ? g_hControlPointMasters[0] : NULL; + if ( pMaster ) + { + pLastPoint = pMaster->GetControlPoint( pMaster->GetNumPoints() - 1 ); + } + + bool bFinalPointInMap = pLastPoint && ( pLastPoint == pCurrentPoint ); + + PlayCaptureAlert( pCurrentPoint, bFinalPointInMap ); + } + } + } + + // check to see if we need to start or stop the alarm + if ( flDistanceToGoal <= TF_TRAIN_ALARM_DISTANCE ) + { + if ( !g_pAlarm && m_iNumCPLinks > 0 ) + { + // start the alarm at the final point + StartCaptureAlarm( m_CPLinks[m_iNumCPLinks-1].hCP.Get() ); + } + } + else + { + if ( g_pAlarm ) + { + StopCaptureAlarm(); + } + } + } + } + + SetNextThink( gpGlobals->curtime + 0.1 ); +} + + +CBaseEntity *CTeamTrainWatcher::GetTrainEntity( void ) +{ + return m_hTrain.Get(); +} + +bool CTeamTrainWatcher::TimerMayExpire( void ) +{ + if ( IsDisabled() ) + { + return true; + } + + // Still in overtime if we're waiting to recede + if ( m_bWaitingToRecede ) + return false; + + // capture blocked so we're not receding, but game shouldn't end + if ( m_bCapBlocked ) + return false; + + // not waiting, so we're capping, in which case the area capture + // will not let us expire + return true; +} diff --git a/game/server/team_train_watcher.h b/game/server/team_train_watcher.h index 3fa7b563..7f14455c 100644 --- a/game/server/team_train_watcher.h +++ b/game/server/team_train_watcher.h @@ -1,127 +1,127 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= -// -// Purpose: -// -//============================================================================= - -#ifndef TEAM_TRAIN_WATCHER_H -#define TEAM_TRAIN_WATCHER_H -#ifdef _WIN32 -#pragma once -#endif - -#include "cbase.h" -#include "trigger_area_capture.h" - -class CFuncTrackTrain; -class CPathTrack; -class CTeamControlPoint; - -#define TF_TRAIN_ALERT_DISTANCE 750 // alert is the VO warning -#define TF_TRAIN_ALARM_DISTANCE 200 // alarm is the looping sound played at the control point - -#define TF_TRAIN_ATTACK_ALERT "Announcer.Cart.AttackWarning" -#define TF_TRAIN_DEFEND_ALERT "Announcer.Cart.DefendWarning" -#define TF_TRAIN_ATTACK_FINAL_ALERT "Announcer.Cart.AttackFinalWarning" -#define TF_TRAIN_DEFEND_FINAL_ALERT "Announcer.Cart.DefendFinalWarning" -#define TF_TRAIN_ALARM "Cart.Warning" - -class CTeamTrainWatcher : public CBaseEntity -{ - DECLARE_CLASS( CTeamTrainWatcher, CBaseEntity ); -public: - DECLARE_SERVERCLASS(); - DECLARE_DATADESC(); - - CTeamTrainWatcher(); - - virtual int UpdateTransmitState(); - - void InputRoundActivate( inputdata_t &inputdata ); - void InputEnable( inputdata_t &inputdata ); - void InputDisable( inputdata_t &inputdata ); - - void InputSetNumTrainCappers( inputdata_t &inputdata ); - void InputOnStartOvertime( inputdata_t &inputdata ); - - // ========================================================== - // given a start node and a list of goal nodes - // calculate the distance between each - // ========================================================== - void WatcherActivate( void ); - - void WatcherThink( void ); - - CBaseEntity *GetTrainEntity( void ); - bool IsDisabled( void ) { return m_bDisabled; } - - bool TimerMayExpire( void ); - - void StopCaptureAlarm( void ); - -private: - - void StartCaptureAlarm( CTeamControlPoint *pPoint ); - void PlayCaptureAlert( CTeamControlPoint *pPoint, bool bFinalPointInMap ); - -private: - - bool m_bDisabled; - - // === Data === - - // pointer to the train that we're checking - CHandle m_hTrain; - - // start node - CHandle m_hStartNode; - - // goal node - CHandle m_hGoalNode; - - string_t m_iszTrain; - string_t m_iszStartNode; - string_t m_iszGoalNode; - - // list of node associations with control points - typedef struct - { - CHandle hPathTrack; - CHandle hCP; - float flDistanceFromStart; - bool bAlertPlayed; - } node_cp_pair_t; - - node_cp_pair_t m_CPLinks[MAX_CONTROL_POINTS]; - int m_iNumCPLinks; - - string_t m_iszLinkedPathTracks[MAX_CONTROL_POINTS]; - string_t m_iszLinkedCPs[MAX_CONTROL_POINTS]; - - float m_flTotalPathDistance; // calculated only at round start, node graph - // may get chopped as the round progresses - - float m_flSpeedLevels[3]; - - // === Networked Data === - - // current total progress, percentage - CNetworkVar( float, m_flTotalProgress ); - - CNetworkVar( int, m_iTrainSpeedLevel ); - - CNetworkVar( int, m_nNumCappers ); - - bool m_bWaitingToRecede; - CNetworkVar( float, m_flRecedeTime ); - float m_flRecedeTotalTime; - float m_flRecedeStartTime; - COutputEvent m_OnTrainStartRecede; - - bool m_bCapBlocked; - - float m_flNextSpeakForwardConceptTime; // used to have players speak the forward concept every X seconds - CHandle m_hAreaCap; -}; - -#endif //TEAM_TRAIN_WATCHER_H \ No newline at end of file +//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef TEAM_TRAIN_WATCHER_H +#define TEAM_TRAIN_WATCHER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "cbase.h" +#include "trigger_area_capture.h" + +class CFuncTrackTrain; +class CPathTrack; +class CTeamControlPoint; + +#define TF_TRAIN_ALERT_DISTANCE 750 // alert is the VO warning +#define TF_TRAIN_ALARM_DISTANCE 200 // alarm is the looping sound played at the control point + +#define TF_TRAIN_ATTACK_ALERT "Announcer.Cart.AttackWarning" +#define TF_TRAIN_DEFEND_ALERT "Announcer.Cart.DefendWarning" +#define TF_TRAIN_ATTACK_FINAL_ALERT "Announcer.Cart.AttackFinalWarning" +#define TF_TRAIN_DEFEND_FINAL_ALERT "Announcer.Cart.DefendFinalWarning" +#define TF_TRAIN_ALARM "Cart.Warning" + +class CTeamTrainWatcher : public CBaseEntity +{ + DECLARE_CLASS( CTeamTrainWatcher, CBaseEntity ); +public: + DECLARE_SERVERCLASS(); + DECLARE_DATADESC(); + + CTeamTrainWatcher(); + + virtual int UpdateTransmitState(); + + void InputRoundActivate( inputdata_t &inputdata ); + void InputEnable( inputdata_t &inputdata ); + void InputDisable( inputdata_t &inputdata ); + + void InputSetNumTrainCappers( inputdata_t &inputdata ); + void InputOnStartOvertime( inputdata_t &inputdata ); + + // ========================================================== + // given a start node and a list of goal nodes + // calculate the distance between each + // ========================================================== + void WatcherActivate( void ); + + void WatcherThink( void ); + + CBaseEntity *GetTrainEntity( void ); + bool IsDisabled( void ) { return m_bDisabled; } + + bool TimerMayExpire( void ); + + void StopCaptureAlarm( void ); + +private: + + void StartCaptureAlarm( CTeamControlPoint *pPoint ); + void PlayCaptureAlert( CTeamControlPoint *pPoint, bool bFinalPointInMap ); + +private: + + bool m_bDisabled; + + // === Data === + + // pointer to the train that we're checking + CHandle m_hTrain; + + // start node + CHandle m_hStartNode; + + // goal node + CHandle m_hGoalNode; + + string_t m_iszTrain; + string_t m_iszStartNode; + string_t m_iszGoalNode; + + // list of node associations with control points + typedef struct + { + CHandle hPathTrack; + CHandle hCP; + float flDistanceFromStart; + bool bAlertPlayed; + } node_cp_pair_t; + + node_cp_pair_t m_CPLinks[MAX_CONTROL_POINTS]; + int m_iNumCPLinks; + + string_t m_iszLinkedPathTracks[MAX_CONTROL_POINTS]; + string_t m_iszLinkedCPs[MAX_CONTROL_POINTS]; + + float m_flTotalPathDistance; // calculated only at round start, node graph + // may get chopped as the round progresses + + float m_flSpeedLevels[3]; + + // === Networked Data === + + // current total progress, percentage + CNetworkVar( float, m_flTotalProgress ); + + CNetworkVar( int, m_iTrainSpeedLevel ); + + CNetworkVar( int, m_nNumCappers ); + + bool m_bWaitingToRecede; + CNetworkVar( float, m_flRecedeTime ); + float m_flRecedeTotalTime; + float m_flRecedeStartTime; + COutputEvent m_OnTrainStartRecede; + + bool m_bCapBlocked; + + float m_flNextSpeakForwardConceptTime; // used to have players speak the forward concept every X seconds + CHandle m_hAreaCap; +}; + +#endif //TEAM_TRAIN_WATCHER_H diff --git a/game/server/testtraceline.cpp b/game/server/testtraceline.cpp index a43ee45f..16b4afc4 100644 --- a/game/server/testtraceline.cpp +++ b/game/server/testtraceline.cpp @@ -34,9 +34,9 @@ private: IMPLEMENT_SERVERCLASS_ST_NOBASE(CTestTraceline, DT_TestTraceline) SendPropInt (SENDINFO(m_clrRender), 32, SPROP_UNSIGNED ), SendPropVector (SENDINFO(m_vecOrigin), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER), - SendPropFloat (SENDINFO_VECTORELEM(m_angRotation, 0), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER), - SendPropFloat (SENDINFO_VECTORELEM(m_angRotation, 1), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER), - SendPropFloat (SENDINFO_VECTORELEM(m_angRotation, 2), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER), + SendPropFloat (SENDINFO_VECTORELEM2(m_angRotation, 0, x), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER), + SendPropFloat (SENDINFO_VECTORELEM2(m_angRotation, 1, y), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER), + SendPropFloat (SENDINFO_VECTORELEM2(m_angRotation, 2, z), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER), SendPropEHandle (SENDINFO_NAME(m_hMoveParent, moveparent)), END_SEND_TABLE() diff --git a/game/server/textstatsmgr.cpp b/game/server/textstatsmgr.cpp index fad99a24..e5c2bd73 100644 --- a/game/server/textstatsmgr.cpp +++ b/game/server/textstatsmgr.cpp @@ -58,7 +58,7 @@ char *CTextStatsMgr::GetStatsFilename( void ) return m_szStatFilename; } -void CTextStatsMgr::SetStatsFilename( char *sFilename ) +void CTextStatsMgr::SetStatsFilename( const char *sFilename ) { Assert( sFilename && sFilename[0] ); diff --git a/game/server/textstatsmgr.h b/game/server/textstatsmgr.h index 7a8e1bbf..99dc978c 100644 --- a/game/server/textstatsmgr.h +++ b/game/server/textstatsmgr.h @@ -34,7 +34,7 @@ public: char *GetStatsFilename( void ); // Set the filename to write stats to, if none is specified when writing - void SetStatsFilename( char *sFilename ); + void SetStatsFilename( const char *sFilename ); private: char m_szStatFilename[ MAX_PATH ]; diff --git a/game/server/trains.cpp b/game/server/trains.cpp index e359e3ae..fc28f3ff 100644 --- a/game/server/trains.cpp +++ b/game/server/trains.cpp @@ -1,3302 +1,3303 @@ -//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// -// -// Purpose: Spawn, think, and touch functions for trains, etc. -// -//=============================================================================// - -#include "cbase.h" -#include "ai_basenpc.h" -#include "trains.h" -#include "ndebugoverlay.h" -#include "entitylist.h" -#include "engine/IEngineSound.h" -#include "soundenvelope.h" -#include "physics_npc_solver.h" -#include "vphysics/friction.h" -#include "hierarchy.h" -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -static void PlatSpawnInsideTrigger(edict_t *pevPlatform); - -#define SF_PLAT_TOGGLE 0x0001 - -class CBasePlatTrain : public CBaseToggle -{ - DECLARE_CLASS( CBasePlatTrain, CBaseToggle ); - -public: - ~CBasePlatTrain(); - bool KeyValue( const char *szKeyName, const char *szValue ); - void Precache( void ); - - // This is done to fix spawn flag collisions between this class and a derived class - virtual bool IsTogglePlat( void ) { return (m_spawnflags & SF_PLAT_TOGGLE) ? true : false; } - - DECLARE_DATADESC(); - - void PlayMovingSound(); - void StopMovingSound(); - - string_t m_NoiseMoving; // sound a plat makes while moving - string_t m_NoiseArrived; - - CSoundPatch *m_pMovementSound; -#ifdef HL1_DLL - int m_MoveSound; - int m_StopSound; -#endif - - float m_volume; // Sound volume - float m_flTWidth; - float m_flTLength; -}; - -BEGIN_DATADESC( CBasePlatTrain ) - - DEFINE_KEYFIELD( m_NoiseMoving, FIELD_SOUNDNAME, "noise1" ), - DEFINE_KEYFIELD( m_NoiseArrived, FIELD_SOUNDNAME, "noise2" ), - -#ifdef HL1_DLL - DEFINE_KEYFIELD( m_MoveSound, FIELD_INTEGER, "movesnd" ), - DEFINE_KEYFIELD( m_StopSound, FIELD_INTEGER, "stopsnd" ), - -#endif - DEFINE_SOUNDPATCH( m_pMovementSound ), - - DEFINE_KEYFIELD( m_volume, FIELD_FLOAT, "volume" ), - - DEFINE_FIELD( m_flTWidth, FIELD_FLOAT ), - DEFINE_FIELD( m_flTLength, FIELD_FLOAT ), - DEFINE_KEYFIELD( m_flLip, FIELD_FLOAT, "lip" ), - DEFINE_KEYFIELD( m_flWait, FIELD_FLOAT, "wait" ), - DEFINE_KEYFIELD( m_flHeight, FIELD_FLOAT, "height" ), - -END_DATADESC() - - -bool CBasePlatTrain::KeyValue( const char *szKeyName, const char *szValue ) -{ - if (FStrEq(szKeyName, "rotation")) - { - m_vecFinalAngle.x = atof(szValue); - } - else - { - return BaseClass::KeyValue( szKeyName, szValue ); - } - - return true; -} - - -CBasePlatTrain::~CBasePlatTrain() -{ - StopMovingSound(); -} - -void CBasePlatTrain::PlayMovingSound() -{ - StopMovingSound(); - if(m_NoiseMoving != NULL_STRING ) - { - CSoundEnvelopeController &controller = CSoundEnvelopeController::GetController(); - CPASAttenuationFilter filter( this ); - m_pMovementSound = controller.SoundCreate( filter, entindex(), CHAN_STATIC, STRING(m_NoiseMoving), ATTN_NORM ); - - controller.Play( m_pMovementSound, m_volume, PITCH_NORM ); - } -} - -void CBasePlatTrain::StopMovingSound() -{ - if ( m_pMovementSound ) - { - CSoundEnvelopeController &controller = CSoundEnvelopeController::GetController(); - - controller.SoundDestroy( m_pMovementSound ); - m_pMovementSound = NULL; - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CBasePlatTrain::Precache( void ) -{ - //Fill in a default value if necessary - UTIL_ValidateSoundName( m_NoiseMoving, "Plat.DefaultMoving" ); - UTIL_ValidateSoundName( m_NoiseArrived, "Plat.DefaultArrive" ); - -#ifdef HL1_DLL -// set the plat's "in-motion" sound - switch (m_MoveSound) - { - default: - case 0: - m_NoiseMoving = MAKE_STRING( "Plat.DefaultMoving" ); - break; - case 1: - m_NoiseMoving = MAKE_STRING("Plat.BigElev1"); - break; - case 2: - m_NoiseMoving = MAKE_STRING("Plat.BigElev2"); - break; - case 3: - m_NoiseMoving = MAKE_STRING("Plat.TechElev1"); - break; - case 4: - m_NoiseMoving = MAKE_STRING("Plat.TechElev2"); - break; - case 5: - m_NoiseMoving = MAKE_STRING("Plat.TechElev3"); - break; - case 6: - m_NoiseMoving = MAKE_STRING("Plat.FreightElev1"); - break; - case 7: - m_NoiseMoving = MAKE_STRING("Plat.FreightElev2"); - break; - case 8: - m_NoiseMoving = MAKE_STRING("Plat.HeavyElev"); - break; - case 9: - m_NoiseMoving = MAKE_STRING("Plat.RackElev"); - break; - case 10: - m_NoiseMoving = MAKE_STRING("Plat.RailElev"); - break; - case 11: - m_NoiseMoving = MAKE_STRING("Plat.SqueakElev"); - break; - case 12: - m_NoiseMoving = MAKE_STRING("Plat.OddElev1"); - break; - case 13: - m_NoiseMoving = MAKE_STRING("Plat.OddElev2"); - break; - } - -// set the plat's 'reached destination' stop sound - switch (m_StopSound) - { - default: - case 0: - m_NoiseArrived = MAKE_STRING( "Plat.DefaultArrive" ); - break; - case 1: - m_NoiseArrived = MAKE_STRING("Plat.BigElevStop1"); - break; - case 2: - m_NoiseArrived = MAKE_STRING("Plat.BigElevStop2"); - break; - case 3: - m_NoiseArrived = MAKE_STRING("Plat.FreightElevStop"); - break; - case 4: - m_NoiseArrived = MAKE_STRING("Plat.HeavyElevStop"); - break; - case 5: - m_NoiseArrived = MAKE_STRING("Plat.RackStop"); - break; - case 6: - m_NoiseArrived = MAKE_STRING("Plat.RailStop"); - break; - case 7: - m_NoiseArrived = MAKE_STRING("Plat.SqueakStop"); - break; - case 8: - m_NoiseArrived = MAKE_STRING("Plat.QuickStop"); - break; - } - -#endif // HL1_DLL - - //Precache them all - PrecacheScriptSound( (char *) STRING(m_NoiseMoving) ); - PrecacheScriptSound( (char *) STRING(m_NoiseArrived) ); - -} - - -class CFuncPlat : public CBasePlatTrain -{ - DECLARE_CLASS( CFuncPlat, CBasePlatTrain ); -public: - void Spawn( void ); - void Precache( void ); - bool CreateVPhysics(); - void Setup( void ); - - virtual void Blocked( CBaseEntity *pOther ); - void PlatUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); - - void CallGoDown( void ) { GoDown(); } - void CallHitTop( void ) { HitTop(); } - void CallHitBottom( void ) { HitBottom(); } - - virtual void GoUp( void ); - virtual void GoDown( void ); - virtual void HitTop( void ); - virtual void HitBottom( void ); - - void InputToggle(inputdata_t &data); - void InputGoUp(inputdata_t &data); - void InputGoDown(inputdata_t &data); - - DECLARE_DATADESC(); - -private: - - string_t m_sNoise; -}; - - -BEGIN_DATADESC( CFuncPlat ) - - DEFINE_FIELD( m_sNoise, FIELD_STRING ), - - // Function Pointers - DEFINE_FUNCTION( PlatUse ), - DEFINE_FUNCTION( CallGoDown ), - DEFINE_FUNCTION( CallHitTop ), - DEFINE_FUNCTION( CallHitBottom ), - - // Inputs - DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ), - DEFINE_INPUTFUNC( FIELD_VOID, "GoUp", InputGoUp ), - DEFINE_INPUTFUNC( FIELD_VOID, "GoDown", InputGoDown ), - -END_DATADESC() - -LINK_ENTITY_TO_CLASS( func_plat, CFuncPlat ); - -//================================================== -// CPlatTrigger -//================================================== -class CPlatTrigger : public CBaseEntity -{ - DECLARE_CLASS( CPlatTrigger, CBaseEntity ); -public: - virtual int ObjectCaps( void ) { return BaseClass::ObjectCaps() | FCAP_DONT_SAVE; } - void SpawnInsideTrigger( CFuncPlat *pPlatform ); - void Touch( CBaseEntity *pOther ); - CFuncPlat *m_pPlatform; -}; - -void CFuncPlat::Setup( void ) -{ - if (m_flTLength == 0) - { - m_flTLength = 80; - } - - if (m_flTWidth == 0) - { - m_flTWidth = 10; - } - - SetLocalAngles( vec3_angle ); - SetSolid( SOLID_BSP ); - SetMoveType( MOVETYPE_PUSH ); - - // Set size and link into world - SetModel( STRING( GetModelName() ) ); - - m_vecPosition1 = GetLocalOrigin(); //Top - m_vecPosition2 = GetLocalOrigin(); //Bottom - - if ( m_flHeight != 0 ) - { - m_vecPosition2.z = GetLocalOrigin().z - m_flHeight; - } - else - { - // NOTE: This works because the angles were set to vec3_angle above - m_vecPosition2.z = GetLocalOrigin().z - CollisionProp()->OBBSize().z + 8; - } - - if (m_flSpeed == 0) - { - m_flSpeed = 150; - } - - if ( m_volume == 0.0f ) - { - m_volume = 0.85f; - } -} - - -void CFuncPlat::Precache( ) -{ - BaseClass::Precache(); - - if ( IsTogglePlat() == false ) - { - // Create the "start moving" trigger - PlatSpawnInsideTrigger( edict() ); - } -} - - -void CFuncPlat::Spawn( ) -{ - Setup(); - Precache(); - - // If this platform is the target of some button, it starts at the TOP position, - // and is brought down by that button. Otherwise, it starts at BOTTOM. - if ( GetEntityName() != NULL_STRING ) - { - UTIL_SetOrigin( this, m_vecPosition1); - m_toggle_state = TS_AT_TOP; - SetUse( &CFuncPlat::PlatUse ); - } - else - { - UTIL_SetOrigin( this, m_vecPosition2); - m_toggle_state = TS_AT_BOTTOM; - } - CreateVPhysics(); -} - -bool CFuncPlat::CreateVPhysics() -{ - VPhysicsInitShadow( false, false ); - return true; -} - - -static void PlatSpawnInsideTrigger(edict_t* pevPlatform) -{ - // old code: //GetClassPtr( (CPlatTrigger *)NULL)->SpawnInsideTrigger( GetClassPtr( (CFuncPlat *)pevPlatform ) ); - CPlatTrigger *plattrig = CREATE_UNSAVED_ENTITY( CPlatTrigger, "plat_trigger" ); - plattrig->SpawnInsideTrigger( (CFuncPlat *)GetContainingEntity( pevPlatform ) ); -} - - -// -// Create a trigger entity for a platform. -// -void CPlatTrigger::SpawnInsideTrigger( CFuncPlat *pPlatform ) -{ - m_pPlatform = pPlatform; - // Create trigger entity, "point" it at the owning platform, give it a touch method - SetSolid( SOLID_BSP ); - AddSolidFlags( FSOLID_TRIGGER ); - SetMoveType( MOVETYPE_NONE ); - SetLocalOrigin( pPlatform->GetLocalOrigin() ); - - // Establish the trigger field's size - CCollisionProperty *pCollision = m_pPlatform->CollisionProp(); - Vector vecTMin = pCollision->OBBMins() + Vector ( 25 , 25 , 0 ); - Vector vecTMax = pCollision->OBBMaxs() + Vector ( 25 , 25 , 8 ); - vecTMin.z = vecTMax.z - ( m_pPlatform->m_vecPosition1.z - m_pPlatform->m_vecPosition2.z + 8 ); - if ( pCollision->OBBSize().x <= 50 ) - { - vecTMin.x = (pCollision->OBBMins().x + pCollision->OBBMaxs().x) / 2; - vecTMax.x = vecTMin.x + 1; - } - if ( pCollision->OBBSize().y <= 50 ) - { - vecTMin.y = (pCollision->OBBMins().y + pCollision->OBBMaxs().y) / 2; - vecTMax.y = vecTMin.y + 1; - } - UTIL_SetSize ( this, vecTMin, vecTMax ); -} - - -// -// When the platform's trigger field is touched, the platform ??? -// -void CPlatTrigger::Touch( CBaseEntity *pOther ) -{ - // Ignore touches by non-players - if ( !pOther->IsPlayer() ) - return; - - // Ignore touches by corpses - if (!pOther->IsAlive()) - return; - - // Make linked platform go up/down. - if (m_pPlatform->m_toggle_state == TS_AT_BOTTOM) - m_pPlatform->GoUp(); - else if (m_pPlatform->m_toggle_state == TS_AT_TOP) - m_pPlatform->SetMoveDoneTime( 1 );// delay going down -} - - - -//----------------------------------------------------------------------------- -// Purpose: Used when a platform is the target of a button. -// Start bringing platform down. -// Input : pActivator - -// pCaller - -// useType - -// value - -//----------------------------------------------------------------------------- -void CFuncPlat::InputToggle(inputdata_t &data) -{ - if ( IsTogglePlat() ) - { - if (m_toggle_state == TS_AT_TOP) - GoDown(); - else if ( m_toggle_state == TS_AT_BOTTOM ) - GoUp(); - } - else - { - SetUse( NULL ); - - if (m_toggle_state == TS_AT_TOP) - GoDown(); - } -} - -void CFuncPlat::InputGoUp(inputdata_t &data) -{ - if ( m_toggle_state == TS_AT_BOTTOM ) - GoUp(); -} - -void CFuncPlat::InputGoDown(inputdata_t &data) -{ - if ( m_toggle_state == TS_AT_TOP ) - GoDown(); -} - -//----------------------------------------------------------------------------- -// Purpose: Used when a platform is the target of a button. -// Start bringing platform down. -// Input : pActivator - -// pCaller - -// useType - -// value - -//----------------------------------------------------------------------------- -void CFuncPlat::PlatUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) -{ - if ( IsTogglePlat() ) - { - // Top is off, bottom is on - bool on = (m_toggle_state == TS_AT_BOTTOM) ? true : false; - - if ( !ShouldToggle( useType, on ) ) - return; - - if (m_toggle_state == TS_AT_TOP) - GoDown(); - else if ( m_toggle_state == TS_AT_BOTTOM ) - GoUp(); - } - else - { - SetUse( NULL ); - - if (m_toggle_state == TS_AT_TOP) - GoDown(); - } -} - - -// -// Platform is at top, now starts moving down. -// -void CFuncPlat::GoDown( void ) -{ - PlayMovingSound(); - - ASSERT(m_toggle_state == TS_AT_TOP || m_toggle_state == TS_GOING_UP); - m_toggle_state = TS_GOING_DOWN; - SetMoveDone(&CFuncPlat::CallHitBottom); - LinearMove(m_vecPosition2, m_flSpeed); -} - - -// -// Platform has hit bottom. Stops and waits forever. -// -void CFuncPlat::HitBottom( void ) -{ - StopMovingSound(); - - if ( m_NoiseArrived != NULL_STRING ) - { - CPASAttenuationFilter filter( this ); - - EmitSound_t ep; - ep.m_nChannel = CHAN_WEAPON; - ep.m_pSoundName = STRING(m_NoiseArrived); - ep.m_flVolume = m_volume; - ep.m_SoundLevel = SNDLVL_NORM; - - EmitSound( filter, entindex(), ep ); - } - - ASSERT(m_toggle_state == TS_GOING_DOWN); - m_toggle_state = TS_AT_BOTTOM; -} - - -// -// Platform is at bottom, now starts moving up -// -void CFuncPlat::GoUp( void ) -{ - PlayMovingSound(); - - ASSERT(m_toggle_state == TS_AT_BOTTOM || m_toggle_state == TS_GOING_DOWN); - m_toggle_state = TS_GOING_UP; - SetMoveDone(&CFuncPlat::CallHitTop); - LinearMove(m_vecPosition1, m_flSpeed); -} - - -// -// Platform has hit top. Pauses, then starts back down again. -// -void CFuncPlat::HitTop( void ) -{ - StopMovingSound(); - - if ( m_NoiseArrived != NULL_STRING ) - { - CPASAttenuationFilter filter( this ); - - EmitSound_t ep; - ep.m_nChannel = CHAN_WEAPON; - ep.m_pSoundName = STRING(m_NoiseArrived); - ep.m_flVolume = m_volume; - ep.m_SoundLevel = SNDLVL_NORM; - - EmitSound( filter, entindex(), ep ); - } - - ASSERT(m_toggle_state == TS_GOING_UP); - m_toggle_state = TS_AT_TOP; - - if ( !IsTogglePlat() ) - { - // After a delay, the platform will automatically start going down again. - SetMoveDone( &CFuncPlat::CallGoDown ); - SetMoveDoneTime( 3 ); - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Called when we are blocked. -//----------------------------------------------------------------------------- -void CFuncPlat::Blocked( CBaseEntity *pOther ) -{ - DevMsg( 2, "%s Blocked by %s\n", GetClassname(), pOther->GetClassname() ); - - // Hurt the blocker a little - pOther->TakeDamage( CTakeDamageInfo( this, this, 1, DMG_CRUSH ) ); - - if (m_sNoise != NULL_STRING) - { - StopSound(entindex(), CHAN_STATIC, (char*)STRING(m_sNoise)); - } - - // Send the platform back where it came from - ASSERT(m_toggle_state == TS_GOING_UP || m_toggle_state == TS_GOING_DOWN); - if (m_toggle_state == TS_GOING_UP) - { - GoDown(); - } - else if (m_toggle_state == TS_GOING_DOWN) - { - GoUp (); - } -} - - -class CFuncPlatRot : public CFuncPlat -{ - DECLARE_CLASS( CFuncPlatRot, CFuncPlat ); -public: - void Spawn( void ); - void SetupRotation( void ); - - virtual void GoUp( void ); - virtual void GoDown( void ); - virtual void HitTop( void ); - virtual void HitBottom( void ); - - void RotMove( QAngle &destAngle, float time ); - DECLARE_DATADESC(); - - QAngle m_end, m_start; -}; - -LINK_ENTITY_TO_CLASS( func_platrot, CFuncPlatRot ); - -BEGIN_DATADESC( CFuncPlatRot ) - - DEFINE_FIELD( m_end, FIELD_VECTOR ), - DEFINE_FIELD( m_start, FIELD_VECTOR ), - -END_DATADESC() - - -void CFuncPlatRot::SetupRotation( void ) -{ - if ( m_vecFinalAngle.x != 0 ) // This plat rotates too! - { - CBaseToggle::AxisDir(); - m_start = GetLocalAngles(); - m_end = GetLocalAngles() + m_vecMoveAng * m_vecFinalAngle.x; - } - else - { - m_start = vec3_angle; - m_end = vec3_angle; - } - if ( GetEntityName() != NULL_STRING ) // Start at top - { - SetLocalAngles( m_end ); - } -} - - -void CFuncPlatRot::Spawn( void ) -{ - BaseClass::Spawn(); - SetupRotation(); -} - -void CFuncPlatRot::GoDown( void ) -{ - BaseClass::GoDown(); - RotMove( m_start, GetMoveDoneTime() ); -} - - -// -// Platform has hit bottom. Stops and waits forever. -// -void CFuncPlatRot::HitBottom( void ) -{ - BaseClass::HitBottom(); - SetLocalAngularVelocity( vec3_angle ); - SetLocalAngles( m_start ); -} - - -// -// Platform is at bottom, now starts moving up -// -void CFuncPlatRot::GoUp( void ) -{ - BaseClass::GoUp(); - RotMove( m_end, GetMoveDoneTime() ); -} - - -// -// Platform has hit top. Pauses, then starts back down again. -// -void CFuncPlatRot::HitTop( void ) -{ - BaseClass::HitTop(); - SetLocalAngularVelocity( vec3_angle ); - SetLocalAngles( m_end ); -} - - -void CFuncPlatRot::RotMove( QAngle &destAngle, float time ) -{ - // set destdelta to the vector needed to move - QAngle vecDestDelta = destAngle - GetLocalAngles(); - - // Travel time is so short, we're practically there already; so make it so. - if ( time >= 0.1) - SetLocalAngularVelocity( vecDestDelta * (1.0 / time) ); - else - { - SetLocalAngularVelocity( vecDestDelta ); - SetMoveDoneTime( 1 ); - } -} - - -class CFuncTrain : public CBasePlatTrain -{ - DECLARE_CLASS( CFuncTrain, CBasePlatTrain ); -public: - void Spawn( void ); - void Precache( void ); - void Activate( void ); - void OnRestore( void ); - - void SetupTarget( void ); - void Blocked( CBaseEntity *pOther ); - void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); - - void Wait( void ); - void Next( void ); - - //Inputs - void InputToggle(inputdata_t &data); - void InputStart(inputdata_t &data); - void InputStop(inputdata_t &data); - - void Start( void ); - void Stop( void ); - - DECLARE_DATADESC(); - -public: - EHANDLE m_hCurrentTarget; - - bool m_activated; - EHANDLE m_hEnemy; - float m_flBlockDamage; // Damage to inflict when blocked. - float m_flNextBlockTime; - string_t m_iszLastTarget; - -}; - -LINK_ENTITY_TO_CLASS( func_train, CFuncTrain ); - - -BEGIN_DATADESC( CFuncTrain ) - - DEFINE_FIELD( m_hCurrentTarget, FIELD_EHANDLE ), - DEFINE_FIELD( m_activated, FIELD_BOOLEAN ), - DEFINE_FIELD( m_hEnemy, FIELD_EHANDLE ), - DEFINE_FIELD( m_iszLastTarget, FIELD_STRING ), - DEFINE_FIELD( m_flNextBlockTime, FIELD_TIME ), - - DEFINE_KEYFIELD( m_flBlockDamage, FIELD_FLOAT, "dmg" ), - - // Function Pointers - DEFINE_FUNCTION( Wait ), - DEFINE_FUNCTION( Next ), - - // Inputs - DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ), - DEFINE_INPUTFUNC( FIELD_VOID, "Start", InputStart ), - DEFINE_INPUTFUNC( FIELD_VOID, "Stop", InputStop ), - -END_DATADESC() - - -//----------------------------------------------------------------------------- -// Purpose: Handles a train being blocked by an entity. -// Input : pOther - What was hit. -//----------------------------------------------------------------------------- -void CFuncTrain::Blocked( CBaseEntity *pOther ) -{ - if ( gpGlobals->curtime < m_flNextBlockTime ) - return; - - m_flNextBlockTime = gpGlobals->curtime + 0.5; - - //Inflict damage - pOther->TakeDamage( CTakeDamageInfo( this, this, m_flBlockDamage, DMG_CRUSH ) ); -} - - -void CFuncTrain::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) -{ - //If we've been waiting to be retriggered, move to the next destination - if ( m_spawnflags & SF_TRAIN_WAIT_RETRIGGER ) - { - // Move toward my target - m_spawnflags &= ~SF_TRAIN_WAIT_RETRIGGER; - Next(); - } - else - { - m_spawnflags |= SF_TRAIN_WAIT_RETRIGGER; - - // Pop back to last target if it's available - if ( m_hEnemy ) - { - m_target = m_hEnemy->GetEntityName(); - } - - SetNextThink( TICK_NEVER_THINK ); - SetLocalVelocity( vec3_origin ); - - if ( m_NoiseArrived != NULL_STRING ) - { - CPASAttenuationFilter filter( this ); - - EmitSound_t ep; - ep.m_nChannel = CHAN_VOICE; - ep.m_pSoundName = STRING(m_NoiseArrived); - ep.m_flVolume = m_volume; - ep.m_SoundLevel = SNDLVL_NORM; - - EmitSound( filter, entindex(), ep ); - } - } -} - -void CFuncTrain::Wait( void ) -{ - //If we're moving passed a path track, then trip its output - variant_t emptyVariant; - m_hCurrentTarget->AcceptInput( "InPass", this, this, emptyVariant, 0 ); - - // need pointer to LAST target. - if ( m_hCurrentTarget->HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) || HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) ) - { - AddSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ); - - // Clear the sound channel. - StopMovingSound(); - - if ( m_NoiseArrived != NULL_STRING ) - { - CPASAttenuationFilter filter( this ); - - EmitSound_t ep; - ep.m_nChannel = CHAN_VOICE; - ep.m_pSoundName = STRING(m_NoiseArrived); - ep.m_flVolume = m_volume; - ep.m_SoundLevel = SNDLVL_NORM; - - EmitSound( filter, entindex(), ep ); - } - - SetMoveDoneTime( -1 ); - - return; - } - - //NOTENOTE: -1 wait will wait forever - if ( m_flWait != 0 ) - { - SetMoveDoneTime( m_flWait ); - - StopMovingSound(); - - if ( m_NoiseArrived != NULL_STRING ) - { - CPASAttenuationFilter filter( this ); - - EmitSound_t ep; - ep.m_nChannel = CHAN_VOICE; - ep.m_pSoundName = STRING(m_NoiseArrived); - ep.m_flVolume = m_volume; - ep.m_SoundLevel = SNDLVL_NORM; - - EmitSound( filter, entindex(), ep ); - } - - SetMoveDone( &CFuncTrain::Next ); - } - else - { - // Do it right now - Next(); - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Advances the train to the next path corner on the path. -//----------------------------------------------------------------------------- -void CFuncTrain::Next( void ) -{ - //Find our next target - CBaseEntity *pTarg = GetNextTarget(); - - //If none, we're done - if ( pTarg == NULL ) - { - //Stop the moving sound - StopMovingSound(); - - // Play stop sound - if ( m_NoiseArrived != NULL_STRING ) - { - CPASAttenuationFilter filter( this ); - - EmitSound_t ep; - ep.m_nChannel = CHAN_VOICE; - ep.m_pSoundName = STRING(m_NoiseArrived); - ep.m_flVolume = m_volume; - ep.m_SoundLevel = SNDLVL_NORM; - - EmitSound( filter, entindex(), ep ); - } - - return; - } - - // Save last target in case we need to find it again - m_iszLastTarget = m_target; - - m_target = pTarg->m_target; - m_flWait = pTarg->GetDelay(); - - // If our target has a speed, take it - if ( m_hCurrentTarget && m_hCurrentTarget->m_flSpeed != 0 ) - { - m_flSpeed = m_hCurrentTarget->m_flSpeed; - DevMsg( 2, "Train %s speed to %4.2f\n", GetDebugName(), m_flSpeed ); - } - - // Keep track of this since path corners change our target for us - m_hCurrentTarget = pTarg; - m_hEnemy = pTarg; - - //Check for teleport - if ( m_hCurrentTarget->HasSpawnFlags( SF_CORNER_TELEPORT ) ) - { - AddEffects( EF_NOINTERP ); - - // This is supposed to place the center of the func_train at the target's origin. - // FIXME: This is totally busted! It's using the wrong space for the computation... - UTIL_SetOrigin( this, pTarg->GetLocalOrigin() - CollisionProp()->OBBCenter() ); - - // Get on with doing the next path corner. - Wait(); - } - else - { - // Normal linear move - PlayMovingSound(); - - RemoveEffects( EF_NOINTERP ); - SetMoveDone( &CFuncTrain::Wait ); - - // This is supposed to place the center of the func_train at the target's origin. - // FIXME: This is totally busted! It's using the wrong space for the computation... - LinearMove ( pTarg->GetLocalOrigin() - CollisionProp()->OBBCenter(), m_flSpeed ); - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Called after all the entities spawn. -//----------------------------------------------------------------------------- -void CFuncTrain::Activate( void ) -{ - BaseClass::Activate(); - - // Not yet active, so teleport to first target - if ( m_activated == false ) - { - SetupTarget(); - - m_activated = true; - - if ( m_hCurrentTarget.Get() == NULL ) - return; - - // This is supposed to place the center of the func_train at the target's origin. - // FIXME: This is totally busted! It's using the wrong space for the computation... - UTIL_SetOrigin( this, m_hCurrentTarget->GetLocalOrigin() - CollisionProp()->OBBCenter() ); - if ( GetSolid() == SOLID_BSP ) - { - VPhysicsInitShadow( false, false ); - } - - // Start immediately if not triggered - if ( !GetEntityName() ) - { - SetMoveDoneTime( 0.1 ); - SetMoveDone( &CFuncTrain::Next ); - } - else - { - m_spawnflags |= SF_TRAIN_WAIT_RETRIGGER; - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CFuncTrain::SetupTarget( void ) -{ - // Find our target whenever we don't have one (level transition) - if ( !m_hCurrentTarget ) - { - CBaseEntity *pTarg = gEntList.FindEntityByName( NULL, m_target ); - - if ( pTarg == NULL ) - { - Msg( "Can't find target of train %s\n", STRING(m_target) ); - return; - } - - // Keep track of this since path corners change our target for us - m_target = pTarg->m_target; - m_hCurrentTarget = pTarg; - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CFuncTrain::Spawn( void ) -{ - Precache(); - - if ( m_flSpeed == 0 ) - { - m_flSpeed = 100; - } - - if ( !m_target ) - { - Warning("FuncTrain '%s' has no target.\n", GetDebugName()); - } - - if ( m_flBlockDamage == 0 ) - { - m_flBlockDamage = 2; - } - - SetMoveType( MOVETYPE_PUSH ); - SetSolid( SOLID_BSP ); - SetModel( STRING( GetModelName() ) ); - if ( m_spawnflags & SF_TRACKTRAIN_PASSABLE ) - { - AddSolidFlags( FSOLID_NOT_SOLID ); - } - - m_activated = false; - - if ( m_volume == 0.0f ) - { - m_volume = 0.85f; - } -} - - -void CFuncTrain::Precache( void ) -{ - BaseClass::Precache(); -} - - -void CFuncTrain::OnRestore( void ) -{ - BaseClass::OnRestore(); - - // Are we moving? - if ( IsMoving() ) - { - // Continue moving to the same target - m_target = m_iszLastTarget; - } - - SetupTarget(); -} - - -void CFuncTrain::InputToggle( inputdata_t &data ) -{ - //If we've been waiting to be retriggered, move to the next destination - if( HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) ) - { - Start(); - } - else - { - Stop(); - } -} - - -void CFuncTrain::InputStart( inputdata_t &data ) -{ - Start(); -} - - -void CFuncTrain::InputStop( inputdata_t &data ) -{ - Stop(); -} - - -void CFuncTrain::Start( void ) -{ - //start moving - if( HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) ) - { - // Move toward my target - RemoveSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ); - Next(); - } -} - - -void CFuncTrain::Stop( void ) -{ - //stop moving - if( !HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) ) - { - AddSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ); - - // Pop back to last target if it's available - if ( m_hEnemy ) - { - m_target = m_hEnemy->GetEntityName(); - } - - SetNextThink( TICK_NEVER_THINK ); - SetAbsVelocity( vec3_origin ); - - if ( m_NoiseArrived != NULL_STRING ) - { - CPASAttenuationFilter filter( this ); - - EmitSound_t ep; - ep.m_nChannel = CHAN_VOICE; - ep.m_pSoundName = STRING(m_NoiseArrived); - ep.m_flVolume = m_volume; - ep.m_SoundLevel = SNDLVL_NORM; - - EmitSound( filter, entindex(), ep ); - } - - //Do not teleport to our final move destination - SetMoveDone( NULL ); - SetMoveDoneTime( -1 ); - } -} - -BEGIN_DATADESC( CFuncTrackTrain ) - - DEFINE_KEYFIELD( m_length, FIELD_FLOAT, "wheels" ), - DEFINE_KEYFIELD( m_height, FIELD_FLOAT, "height" ), - DEFINE_KEYFIELD( m_maxSpeed, FIELD_FLOAT, "startspeed" ), - DEFINE_KEYFIELD( m_flBank, FIELD_FLOAT, "bank" ), - DEFINE_KEYFIELD( m_flBlockDamage, FIELD_FLOAT, "dmg" ), - DEFINE_KEYFIELD( m_iszSoundMove, FIELD_SOUNDNAME, "MoveSound" ), - DEFINE_KEYFIELD( m_iszSoundMovePing, FIELD_SOUNDNAME, "MovePingSound" ), - DEFINE_KEYFIELD( m_iszSoundStart, FIELD_SOUNDNAME, "StartSound" ), - DEFINE_KEYFIELD( m_iszSoundStop, FIELD_SOUNDNAME, "StopSound" ), - DEFINE_KEYFIELD( m_nMoveSoundMinPitch, FIELD_INTEGER, "MoveSoundMinPitch" ), - DEFINE_KEYFIELD( m_nMoveSoundMaxPitch, FIELD_INTEGER, "MoveSoundMaxPitch" ), - DEFINE_KEYFIELD( m_flMoveSoundMinTime, FIELD_FLOAT, "MoveSoundMinTime" ), - DEFINE_KEYFIELD( m_flMoveSoundMaxTime, FIELD_FLOAT, "MoveSoundMaxTime" ), - DEFINE_FIELD( m_flNextMoveSoundTime, FIELD_TIME ), - DEFINE_KEYFIELD( m_eVelocityType, FIELD_INTEGER, "velocitytype" ), - DEFINE_KEYFIELD( m_eOrientationType, FIELD_INTEGER, "orientationtype" ), - - DEFINE_FIELD( m_ppath, FIELD_CLASSPTR ), - DEFINE_FIELD( m_dir, FIELD_FLOAT ), - DEFINE_FIELD( m_controlMins, FIELD_VECTOR ), - DEFINE_FIELD( m_controlMaxs, FIELD_VECTOR ), - DEFINE_FIELD( m_flVolume, FIELD_FLOAT ), - DEFINE_FIELD( m_oldSpeed, FIELD_FLOAT ), - //DEFINE_FIELD( m_lastBlockPos, FIELD_POSITION_VECTOR ), // temp values for blocking, don't save - //DEFINE_FIELD( m_lastBlockTick, FIELD_INTEGER ), - - DEFINE_FIELD( m_bSoundPlaying, FIELD_BOOLEAN ), - - DEFINE_KEYFIELD( m_bManualSpeedChanges, FIELD_BOOLEAN, "ManualSpeedChanges" ), - DEFINE_KEYFIELD( m_flAccelSpeed, FIELD_FLOAT, "ManualAccelSpeed" ), - DEFINE_KEYFIELD( m_flDecelSpeed, FIELD_FLOAT, "ManualDecelSpeed" ), - -#ifdef HL1_DLL - DEFINE_FIELD( m_bOnTrackChange, FIELD_BOOLEAN ), -#endif - - // Inputs - DEFINE_INPUTFUNC( FIELD_VOID, "Stop", InputStop ), - DEFINE_INPUTFUNC( FIELD_VOID, "StartForward", InputStartForward ), - DEFINE_INPUTFUNC( FIELD_VOID, "StartBackward", InputStartBackward ), - DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ), - DEFINE_INPUTFUNC( FIELD_VOID, "Resume", InputResume ), - DEFINE_INPUTFUNC( FIELD_VOID, "Reverse", InputReverse ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetSpeed", InputSetSpeed ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetSpeedDir", InputSetSpeedDir ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetSpeedReal", InputSetSpeedReal ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetSpeedDirAccel", InputSetSpeedDirAccel ), - - // Outputs - DEFINE_OUTPUT( m_OnStart, "OnStart" ), - DEFINE_OUTPUT( m_OnNext, "OnNextPoint" ), - - // Function Pointers - DEFINE_FUNCTION( Next ), - DEFINE_FUNCTION( Find ), - DEFINE_FUNCTION( NearestPath ), - DEFINE_FUNCTION( DeadEnd ), - -END_DATADESC() - -LINK_ENTITY_TO_CLASS( func_tracktrain, CFuncTrackTrain ); - - -//----------------------------------------------------------------------------- -// Datatable -//----------------------------------------------------------------------------- -IMPLEMENT_SERVERCLASS_ST( CFuncTrackTrain, DT_FuncTrackTrain ) -END_SEND_TABLE() - - -//----------------------------------------------------------------------------- -// Constructor -//----------------------------------------------------------------------------- -CFuncTrackTrain::CFuncTrackTrain() -{ -#ifdef _DEBUG - m_controlMins.Init(); - m_controlMaxs.Init(); -#endif - - // These defaults match old func_tracktrains. Changing these defaults would - // require a vmf_tweak of older content to keep it from breaking. - m_eOrientationType = TrainOrientation_AtPathTracks; - m_eVelocityType = TrainVelocity_Instantaneous; - m_lastBlockPos.Init(); - m_lastBlockTick = gpGlobals->tickcount; -} - - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -int CFuncTrackTrain::DrawDebugTextOverlays( void ) -{ - int nOffset = BaseClass::DrawDebugTextOverlays(); - - if (m_debugOverlays & OVERLAY_TEXT_BIT) - { - char tempstr[512]; - Q_snprintf( tempstr,sizeof(tempstr), "angles: %g %g %g", (double)GetLocalAngles()[PITCH], (double)GetLocalAngles()[YAW], (double)GetLocalAngles()[ROLL] ); - EntityText( nOffset, tempstr, 0 ); - nOffset++; - - float flCurSpeed = GetLocalVelocity().Length(); - Q_snprintf( tempstr,sizeof(tempstr), "current speed (goal): %g (%g)", (double)flCurSpeed, (double)m_flSpeed ); - EntityText( nOffset, tempstr, 0 ); - nOffset++; - - Q_snprintf( tempstr,sizeof(tempstr), "max speed: %g", (double)m_maxSpeed ); - EntityText( nOffset, tempstr, 0 ); - nOffset++; - } - - return nOffset; -} - - -void CFuncTrackTrain::DrawDebugGeometryOverlays() -{ - BaseClass::DrawDebugGeometryOverlays(); - if (m_debugOverlays & OVERLAY_BBOX_BIT) - { - NDebugOverlay::Box( GetAbsOrigin(), -Vector(4,4,4),Vector(4,4,4), 255, 0, 255, 0, 0); - Vector out; - VectorTransform( Vector(m_length,0,0), EntityToWorldTransform(), out ); - NDebugOverlay::Box( out, -Vector(4,4,4),Vector(4,4,4), 255, 0, 255, 0, 0); - } -} - - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -bool CFuncTrackTrain::KeyValue( const char *szKeyName, const char *szValue ) -{ - if (FStrEq(szKeyName, "volume")) - { - m_flVolume = (float) (atoi(szValue)); - m_flVolume *= 0.1f; - } - else - { - return BaseClass::KeyValue( szKeyName, szValue ); - } - - return true; -} - - -//----------------------------------------------------------------------------- -// Purpose: Input handler that stops the train. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::InputStop( inputdata_t &inputdata ) -{ - Stop(); -} - - -//------------------------------------------------------------------------------ -// Purpose: Input handler that starts the train moving. -//------------------------------------------------------------------------------ -void CFuncTrackTrain::InputResume( inputdata_t &inputdata ) -{ - m_flSpeed = m_oldSpeed; - Start(); -} - - -//------------------------------------------------------------------------------ -// Purpose: Input handler that reverses the trains current direction of motion. -//------------------------------------------------------------------------------ -void CFuncTrackTrain::InputReverse( inputdata_t &inputdata ) -{ - SetDirForward( !IsDirForward() ); - SetSpeed( m_flSpeed ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Returns whether we are travelling forward along our path. -//----------------------------------------------------------------------------- -bool CFuncTrackTrain::IsDirForward() -{ - return ( m_dir == 1 ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Sets whether we go forward or backward along our path. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::SetDirForward( bool bForward ) -{ - if ( bForward && ( m_dir != 1 ) ) - { - // Reverse direction. - if ( m_ppath && m_ppath->GetPrevious() ) - { - m_ppath = m_ppath->GetPrevious(); - } - - m_dir = 1; - } - else if ( !bForward && ( m_dir != -1 ) ) - { - // Reverse direction. - if ( m_ppath && m_ppath->GetNext() ) - { - m_ppath = m_ppath->GetNext(); - } - - m_dir = -1; - } -} - - -//------------------------------------------------------------------------------ -// Purpose: Input handler that starts the train moving. -//------------------------------------------------------------------------------ -void CFuncTrackTrain::InputStartForward( inputdata_t &inputdata ) -{ - SetDirForward( true ); - SetSpeed( m_maxSpeed ); -} - - -//------------------------------------------------------------------------------ -// Purpose: Input handler that starts the train moving. -//------------------------------------------------------------------------------ -void CFuncTrackTrain::InputStartBackward( inputdata_t &inputdata ) -{ - SetDirForward( false ); - SetSpeed( m_maxSpeed ); -} - - -//------------------------------------------------------------------------------ -// Purpose: Starts the train moving. -//------------------------------------------------------------------------------ -void CFuncTrackTrain::Start( void ) -{ - m_OnStart.FireOutput(this,this); - Next(); -} - - -//----------------------------------------------------------------------------- -// Purpose: Toggles the train between moving and not moving. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::InputToggle( inputdata_t &inputdata ) -{ - if ( m_flSpeed == 0 ) - { - SetSpeed( m_maxSpeed ); - } - else - { - SetSpeed( 0 ); - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Handles player use so players can control the speed of the train. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) -{ - // player +USE - if ( useType == USE_SET ) - { - float delta = value; - - delta = ((int)(m_flSpeed * 4) / (int)m_maxSpeed)*0.25 + 0.25 * delta; - if ( delta > 1 ) - delta = 1; - else if ( delta < -0.25 ) - delta = -0.25; - if ( m_spawnflags & SF_TRACKTRAIN_FORWARDONLY ) - { - if ( delta < 0 ) - delta = 0; - } - SetDirForward( delta >= 0 ); - delta = fabs(delta); - SetSpeed( m_maxSpeed * delta ); - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Input handler that sets the speed of the train. -// Input : Float speed from 0 to max speed, in units per second. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::InputSetSpeedReal( inputdata_t &inputdata ) -{ - SetSpeed( clamp( inputdata.value.Float(), 0, m_maxSpeed ) ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Input handler that sets the speed of the train. -// Input : Float speed scale from 0 to 1. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::InputSetSpeed( inputdata_t &inputdata ) -{ - float flScale = clamp( inputdata.value.Float(), 0, 1 ); - SetSpeed( m_maxSpeed * flScale ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Input handler that sets the speed of the train and the direction -// based on the sign of the speed. -// Input : Float speed scale from -1 to 1. Negatives values indicate a reversed -// direction. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::InputSetSpeedDir( inputdata_t &inputdata ) -{ - float newSpeed = inputdata.value.Float(); - SetDirForward( newSpeed >= 0 ); - newSpeed = fabs(newSpeed); - float flScale = clamp( newSpeed, 0, 1 ); - SetSpeed( m_maxSpeed * flScale ); -} - -//----------------------------------------------------------------------------- -// Purpose: Input handler that sets the speed of the train and the direction -// based on the sign of the speed, and accels/decels to that speed -// Input : Float speed scale from -1 to 1. Negatives values indicate a reversed -// direction. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::InputSetSpeedDirAccel( inputdata_t &inputdata ) -{ - float newSpeed = inputdata.value.Float(); - SetDirForward( newSpeed >= 0 ); - newSpeed = fabs(newSpeed); - float flScale = clamp( newSpeed, 0, 1 ); - SetSpeed( m_maxSpeed * flScale, true ); -} - -//----------------------------------------------------------------------------- -// Purpose: Sets the speed of the train to the given value in units per second. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::SetSpeed( float flSpeed, bool bAccel /*= false */ ) -{ - m_bAccelToSpeed = bAccel; - - float flOldSpeed = m_flSpeed; - - if ( m_bAccelToSpeed ) - { - m_flDesiredSpeed = fabs( flSpeed ) * m_dir; - m_flSpeedChangeTime = gpGlobals->curtime; - - if ( m_flSpeed == 0 && abs(m_flDesiredSpeed) > 0 ) - { - m_flSpeed = 0.1; // little push to get us going - } - - Start(); - - return; - } - - m_flSpeed = fabs( flSpeed ) * m_dir; - - if ( m_flSpeed != flOldSpeed) - { - // Changing speed. - if ( m_flSpeed != 0 ) - { - if ( flOldSpeed == 0 ) - { - // Starting to move. - Start(); - } - else - { - // Continuing to move. - Next(); - } - } - else - { - // Stopping. - Stop(); - } - } - - DevMsg( 2, "TRAIN(%s), speed to %.2f\n", GetDebugName(), m_flSpeed ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Stops the train. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::Stop( void ) -{ - SetLocalVelocity( vec3_origin ); - SetLocalAngularVelocity( vec3_angle ); - m_oldSpeed = m_flSpeed; - m_flSpeed = 0; - SoundStop(); - SetThink(NULL); -} - -static CBaseEntity *FindPhysicsBlockerForHierarchy( CBaseEntity *pParentEntity ) -{ - CUtlVector list; - GetAllInHierarchy( pParentEntity, list ); - CBaseEntity *pPhysicsBlocker = NULL; - float maxForce = 0; - for ( int i = 0; i < list.Count(); i++ ) - { - IPhysicsObject *pPhysics = list[i]->VPhysicsGetObject(); - if ( pPhysics ) - { - IPhysicsFrictionSnapshot *pSnapshot = pPhysics->CreateFrictionSnapshot(); - while ( pSnapshot->IsValid() ) - { - IPhysicsObject *pOther = pSnapshot->GetObject(1); - CBaseEntity *pOtherEntity = static_cast(pOther->GetGameData()); - if ( pOtherEntity->GetMoveType() == MOVETYPE_VPHYSICS ) - { - Vector normal; - pSnapshot->GetSurfaceNormal(normal); - float dot = DotProduct( pParentEntity->GetAbsVelocity(), pSnapshot->GetNormalForce() * normal ); - if ( !pPhysicsBlocker || dot > maxForce ) - { - pPhysicsBlocker = pOtherEntity; - maxForce = dot; - } - } - pSnapshot->NextFrictionData(); - } - pPhysics->DestroyFrictionSnapshot( pSnapshot ); - } - } - return pPhysicsBlocker; -} - -//----------------------------------------------------------------------------- -// Purpose: Called when we are blocked by another entity. -// Input : pOther - -//----------------------------------------------------------------------------- -void CFuncTrackTrain::Blocked( CBaseEntity *pOther ) -{ - // Blocker is on-ground on the train - if ( ( pOther->GetFlags() & FL_ONGROUND ) && pOther->GetGroundEntity() == this ) - { - DevMsg( 1, "TRAIN(%s): Blocked by %s\n", GetDebugName(), pOther->GetClassname() ); - float deltaSpeed = fabs(m_flSpeed); - if ( deltaSpeed > 50 ) - deltaSpeed = 50; - - Vector vecNewVelocity; - pOther->GetVelocity( &vecNewVelocity ); - if ( !vecNewVelocity.z ) - { - pOther->ApplyAbsVelocityImpulse( Vector(0,0,deltaSpeed) ); - } - return; - } - else - { - Vector vecNewVelocity; - vecNewVelocity = pOther->GetAbsOrigin() - GetAbsOrigin(); - VectorNormalize(vecNewVelocity); - vecNewVelocity *= m_flBlockDamage; - pOther->SetAbsVelocity( vecNewVelocity ); - } - if ( HasSpawnFlags(SF_TRACKTRAIN_UNBLOCKABLE_BY_PLAYER) ) - { - CBaseEntity *pPhysicsBlocker = FindPhysicsBlockerForHierarchy(this); - if ( pPhysicsBlocker ) - { - // This code keeps track of how long this train has been blocked - // The heuristic here is to keep instantaneous blocks from invoking the somewhat - // heavy-handed solver (which will disable collisions until we're clear) in cases - // where physics can solve it easily enough. - int ticksBlocked = gpGlobals->tickcount - m_lastBlockTick; - float dist = 0.0f; - // wait at least 10 ticks and make sure the train isn't actually moving before really blocking - const int MIN_BLOCKED_TICKS = 10; - if ( ticksBlocked > MIN_BLOCKED_TICKS ) - { - dist = (GetAbsOrigin() - m_lastBlockPos).Length(); - // must have moved at least 10% of normal velocity over the blocking interval, or we're being blocked - float minLength = GetAbsVelocity().Length() * TICK_INTERVAL * MIN_BLOCKED_TICKS * 0.10f; - if ( dist < minLength ) - { - // been stuck for more than one tick without moving much? - // yes, disable collisions with the physics object most likely to be blocking us - EntityPhysics_CreateSolver( this, pPhysicsBlocker, true, 4.0f ); - } - } - // first time blocking or moved too far since last block, reset - if ( dist > 1.0f || m_lastBlockTick < 0 ) - { - m_lastBlockPos = GetAbsOrigin(); - m_lastBlockTick = gpGlobals->tickcount; - } - } - // unblockable shouldn't damage the player in this case - if ( pOther->IsPlayer() ) - return; - } - - DevWarning( 2, "TRAIN(%s): Blocked by %s (dmg:%.2f)\n", GetDebugName(), pOther->GetClassname(), m_flBlockDamage ); - if ( m_flBlockDamage <= 0 ) - return; - - // we can't hurt this thing, so we're not concerned with it - pOther->TakeDamage( CTakeDamageInfo( this, this, m_flBlockDamage, DMG_CRUSH ) ); -} - - -extern void FixupAngles( QAngle &v ); - -#define TRAIN_MAXSPEED 1000 // approx max speed for sound pitch calculation - - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CFuncTrackTrain::SoundStop( void ) -{ - // if sound playing, stop it - if ( m_bSoundPlaying ) - { - if ( m_iszSoundMove != NULL_STRING ) - { - StopSound( entindex(), CHAN_STATIC, STRING( m_iszSoundMove ) ); - } - - if ( m_iszSoundStop != NULL_STRING ) - { - CPASAttenuationFilter filter( this ); - - EmitSound_t ep; - ep.m_nChannel = CHAN_ITEM; - ep.m_pSoundName = STRING(m_iszSoundStop); - ep.m_flVolume = m_flVolume; - ep.m_SoundLevel = SNDLVL_NORM; - - EmitSound( filter, entindex(), ep ); - } - } - - m_bSoundPlaying = false; -} - - -//----------------------------------------------------------------------------- -// Purpose: Update pitch based on speed, start sound if not playing. -// NOTE: when train goes through transition, m_bSoundPlaying should become -// false, which will cause the looped sound to restart. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::SoundUpdate( void ) -{ - if ( ( !m_iszSoundMove ) && ( !m_iszSoundStart ) && ( !m_iszSoundMovePing )) - { - return; - } - - // In multiplayer, only update the sound once a second - if ( g_pGameRules->IsMultiplayer() && m_bSoundPlaying ) - { - if ( m_flNextMPSoundTime > gpGlobals->curtime ) - return; - - m_flNextMPSoundTime = gpGlobals->curtime + 1.0; - } - - float flSpeedRatio = 0; - if ( HasSpawnFlags( SF_TRACKTRAIN_USE_MAXSPEED_FOR_PITCH ) ) - { - flSpeedRatio = clamp( fabs( m_flSpeed ) / m_maxSpeed, 0, 1 ); - } - else - { - flSpeedRatio = clamp( fabs( m_flSpeed ) / TRAIN_MAXSPEED, 0, 1 ); - } - - float flpitch = RemapVal( flSpeedRatio, 0, 1, m_nMoveSoundMinPitch, m_nMoveSoundMaxPitch ); - - CPASAttenuationFilter filter( this ); - CPASAttenuationFilter filterReliable( this ); - filterReliable.MakeReliable(); - - Vector vecWorldSpaceCenter = WorldSpaceCenter(); - - if (!m_bSoundPlaying) - { - if ( m_iszSoundStart != NULL_STRING ) - { - EmitSound_t ep; - ep.m_nChannel = CHAN_ITEM; - ep.m_pSoundName = STRING(m_iszSoundStart); - ep.m_flVolume = m_flVolume; - ep.m_SoundLevel = SNDLVL_NORM; - ep.m_pOrigin = &vecWorldSpaceCenter; - - EmitSound( filter, entindex(), ep ); - } - - if ( m_iszSoundMove != NULL_STRING ) - { - EmitSound_t ep; - ep.m_nChannel = CHAN_STATIC; - ep.m_pSoundName = STRING(m_iszSoundMove); - ep.m_flVolume = m_flVolume; - ep.m_SoundLevel = SNDLVL_NORM; - ep.m_nPitch = (int)flpitch; - ep.m_pOrigin = &vecWorldSpaceCenter; - - EmitSound( filterReliable, entindex(), ep ); - } - - // We've just started moving. Delay the next move ping sound. - m_flNextMoveSoundTime = gpGlobals->curtime + RemapVal( flSpeedRatio, 0, 1, m_flMoveSoundMaxTime, m_flMoveSoundMinTime ); - - m_bSoundPlaying = true; - } - else - { - if ( m_iszSoundMove != NULL_STRING ) - { - // update pitch - EmitSound_t ep; - ep.m_nChannel = CHAN_STATIC; - ep.m_pSoundName = STRING(m_iszSoundMove); - ep.m_flVolume = m_flVolume; - ep.m_SoundLevel = SNDLVL_NORM; - ep.m_nPitch = (int)flpitch; - ep.m_nFlags = SND_CHANGE_PITCH; - ep.m_pOrigin = &vecWorldSpaceCenter; - - // In multiplayer, don't make this reliable - if ( g_pGameRules->IsMultiplayer() ) - { - EmitSound( filter, entindex(), ep ); - } - else - { - EmitSound( filterReliable, entindex(), ep ); - } - } - - if ( ( m_iszSoundMovePing != NULL_STRING ) && ( gpGlobals->curtime > m_flNextMoveSoundTime ) ) - { - EmitSound(STRING(m_iszSoundMovePing)); - m_flNextMoveSoundTime = gpGlobals->curtime + RemapVal( flSpeedRatio, 0, 1, m_flMoveSoundMaxTime, m_flMoveSoundMinTime ); - } - } -} - - -//----------------------------------------------------------------------------- -// Purpose: -// Input : *pNode - -//----------------------------------------------------------------------------- -void CFuncTrackTrain::ArriveAtNode( CPathTrack *pNode ) -{ - // BUGBUG: This is wrong. We need to fire all targets between the one we've passed and the one - // we've switched to. - FirePassInputs( pNode, pNode->GetNext(), true ); - - // - // Disable train controls if this path track says to do so. - // - if ( pNode->HasSpawnFlags( SF_PATH_DISABLE_TRAIN ) ) - { - m_spawnflags |= SF_TRACKTRAIN_NOCONTROL; - } - - // - // Don't override the train speed if it's under user control. - // - if ( m_spawnflags & SF_TRACKTRAIN_NOCONTROL ) - { - // - // Don't copy speed from path track if it is 0 (uninitialized). - // - if ( pNode->m_flSpeed != 0 ) - { - SetSpeed( pNode->m_flSpeed ); - DevMsg( 2, "TrackTrain %s arrived at %s, speed to %4.2f\n", GetDebugName(), pNode->GetDebugName(), pNode->m_flSpeed ); - } - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Controls how the train accelerates as it moves along the path. -//----------------------------------------------------------------------------- -TrainVelocityType_t CFuncTrackTrain::GetTrainVelocityType() -{ - return m_eVelocityType; -} - - -//----------------------------------------------------------------------------- -// Purpose: -// Input : *pnext - -//----------------------------------------------------------------------------- -void CFuncTrackTrain::UpdateTrainVelocity( CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval ) -{ - switch ( GetTrainVelocityType() ) - { - case TrainVelocity_Instantaneous: - { - Vector velDesired = nextPos - GetLocalOrigin(); - VectorNormalize( velDesired ); - velDesired *= fabs( m_flSpeed ); - SetLocalVelocity( velDesired ); - break; - } - - case TrainVelocity_LinearBlend: - case TrainVelocity_EaseInEaseOut: - { - if ( m_bAccelToSpeed ) - { - float flPrevSpeed = m_flSpeed; - float flNextSpeed = m_flDesiredSpeed; - - if ( flPrevSpeed != flNextSpeed ) - { - float flSpeedChangeTime = ( abs(flNextSpeed) > abs(flPrevSpeed) ) ? m_flAccelSpeed : m_flDecelSpeed; - m_flSpeed = UTIL_Approach( m_flDesiredSpeed, m_flSpeed, flSpeedChangeTime * gpGlobals->frametime ); - } - } - else if ( pPrev && pNext ) - { - // Get the speed to blend from. - float flPrevSpeed = m_flSpeed; - if ( pPrev->m_flSpeed != 0 ) - { - flPrevSpeed = pPrev->m_flSpeed; - } - - // Get the speed to blend to. - float flNextSpeed = flPrevSpeed; - if ( pNext->m_flSpeed != 0 ) - { - flNextSpeed = pNext->m_flSpeed; - } - - // If they're different, do the blend. - if ( flPrevSpeed != flNextSpeed ) - { - Vector vecSegment = pNext->GetLocalOrigin() - pPrev->GetLocalOrigin(); - float flSegmentLen = vecSegment.Length(); - if ( flSegmentLen ) - { - Vector vecCurOffset = GetLocalOrigin() - pPrev->GetLocalOrigin(); - float p = vecCurOffset.Length() / flSegmentLen; - if ( GetTrainVelocityType() == TrainVelocity_EaseInEaseOut ) - { - p = SimpleSplineRemapVal( p, 0.0f, 1.0f, 0.0f, 1.0f ); - } - - m_flSpeed = m_dir * ( flPrevSpeed * ( 1 - p ) + flNextSpeed * p ); - } - } - else - { - m_flSpeed = m_dir * flPrevSpeed; - } - } - - Vector velDesired = nextPos - GetLocalOrigin(); - VectorNormalize( velDesired ); - velDesired *= fabs( m_flSpeed ); - SetLocalVelocity( velDesired ); - break; - } - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Controls how the train blends angles as it moves along the path. -//----------------------------------------------------------------------------- -TrainOrientationType_t CFuncTrackTrain::GetTrainOrientationType() -{ -#ifdef HL1_DLL - return TrainOrientation_AtPathTracks; -#else - return m_eOrientationType; -#endif -} - - -//----------------------------------------------------------------------------- -// Purpose: -// Input : pnext - -//----------------------------------------------------------------------------- -void CFuncTrackTrain::UpdateTrainOrientation( CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval ) -{ - // FIXME: old way of doing fixed orienation trains, remove! - if ( HasSpawnFlags( SF_TRACKTRAIN_FIXED_ORIENTATION ) ) - return; - - // Trains *can* work in local space, but only if all elements of the track share - // the same move parent as the train. - Assert( !pPrev || (pPrev->GetMoveParent() == GetMoveParent()) ); - - switch ( GetTrainOrientationType() ) - { - case TrainOrientation_Fixed: - { - // Fixed orientation. Do nothing. - break; - } - - case TrainOrientation_AtPathTracks: - { - UpdateOrientationAtPathTracks( pPrev, pNext, nextPos, flInterval ); - break; - } - - case TrainOrientation_EaseInEaseOut: - case TrainOrientation_LinearBlend: - { - UpdateOrientationBlend( GetTrainOrientationType(), pPrev, pNext, nextPos, flInterval ); - break; - } - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Adjusts our angles as we hit each path track. This is for support of -// trains with wheels that round corners a la HL1 trains. -// FIXME: move into path_track, have the angles come back from LookAhead -//----------------------------------------------------------------------------- -void CFuncTrackTrain::UpdateOrientationAtPathTracks( CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval ) -{ - if ( !m_ppath ) - return; - - Vector nextFront = GetLocalOrigin(); - - CPathTrack *pNextNode = NULL; - - nextFront.z -= m_height; - if ( m_length > 0 ) - { - m_ppath->LookAhead( nextFront, IsDirForward() ? m_length : -m_length, 0, &pNextNode ); - } - else - { - m_ppath->LookAhead( nextFront, IsDirForward() ? 100 : -100, 0, &pNextNode ); - } - nextFront.z += m_height; - - Vector vecFaceDir = nextFront - GetLocalOrigin(); - if ( !IsDirForward() ) - { - vecFaceDir *= -1; - } - QAngle angles; - VectorAngles( vecFaceDir, angles ); - // !!! All of this crap has to be done to make the angles not wrap around, revisit this. - FixupAngles( angles ); - - // Wrapped with this bool so we don't affect old trains - if ( m_bManualSpeedChanges ) - { - if ( pNextNode && pNextNode->GetOrientationType() == TrackOrientation_FacePathAngles ) - { - angles = pNextNode->GetOrientation( IsDirForward() ); - } - } - - QAngle curAngles = GetLocalAngles(); - FixupAngles( curAngles ); - - if ( !pPrev || (vecFaceDir.x == 0 && vecFaceDir.y == 0) ) - angles = curAngles; - - DoUpdateOrientation( curAngles, angles, flInterval ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Blends our angles using one of two orientation blending types. -// ASSUMES that eOrientationType is either LinearBlend or EaseInEaseOut. -// FIXME: move into path_track, have the angles come back from LookAhead -//----------------------------------------------------------------------------- -void CFuncTrackTrain::UpdateOrientationBlend( TrainOrientationType_t eOrientationType, CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval ) -{ - // Get the angles to blend from. - QAngle angPrev = pPrev->GetOrientation( IsDirForward() ); - FixupAngles( angPrev ); - - // Get the angles to blend to. - QAngle angNext; - if ( pNext ) - { - angNext = pNext->GetOrientation( IsDirForward() ); - FixupAngles( angNext ); - } - else - { - // At a dead end, just use the last path track's angles. - angNext = angPrev; - } - - if ( m_spawnflags & SF_TRACKTRAIN_NOPITCH ) - { - angNext[PITCH] = angPrev[PITCH]; - } - - // Calculate our parametric distance along the path segment from 0 to 1. - float p = 0; - if ( pPrev && ( angPrev != angNext ) ) - { - Vector vecSegment = pNext->GetLocalOrigin() - pPrev->GetLocalOrigin(); - float flSegmentLen = vecSegment.Length(); - if ( flSegmentLen ) - { - Vector vecCurOffset = GetLocalOrigin() - pPrev->GetLocalOrigin(); - p = vecCurOffset.Length() / flSegmentLen; - } - } - - if ( eOrientationType == TrainOrientation_EaseInEaseOut ) - { - p = SimpleSplineRemapVal( p, 0.0f, 1.0f, 0.0f, 1.0f ); - } - - //Msg( "UpdateOrientationFacePathAngles: %s->%s, p=%f, ", pPrev->GetDebugName(), pNext->GetDebugName(), p ); - - Quaternion qtPrev; - Quaternion qtNext; - - AngleQuaternion( angPrev, qtPrev ); - AngleQuaternion( angNext, qtNext ); - - QAngle angNew = angNext; - float flAngleDiff = QuaternionAngleDiff( qtPrev, qtNext ); - if ( flAngleDiff ) - { - Quaternion qtNew; - QuaternionSlerp( qtPrev, qtNext, p, qtNew ); - QuaternionAngles( qtNew, angNew ); - } - - if ( m_spawnflags & SF_TRACKTRAIN_NOPITCH ) - { - angNew[PITCH] = angPrev[PITCH]; - } - - DoUpdateOrientation( GetLocalAngles(), angNew, flInterval ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Sets our angular velocity to approach the target angles over the given interval. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::DoUpdateOrientation( const QAngle &curAngles, const QAngle &angles, float flInterval ) -{ - float vy, vx; - if ( !(m_spawnflags & SF_TRACKTRAIN_NOPITCH) ) - { - vx = UTIL_AngleDistance( angles.x, curAngles.x ); - } - else - { - vx = 0; - } - - vy = UTIL_AngleDistance( angles.y, curAngles.y ); - - // HACKHACK: Clamp really small angular deltas to avoid rotating movement on things - // that are close enough - if ( fabs(vx) < 0.1 ) - { - vx = 0; - } - if ( fabs(vy) < 0.1 ) - { - vy = 0; - } - - if ( flInterval == 0 ) - { - // Avoid dividing by zero - flInterval = 0.1; - } - - QAngle vecAngVel( vx / flInterval, vy / flInterval, GetLocalAngularVelocity().z ); - - if ( m_flBank != 0 ) - { - if ( vecAngVel.y < -5 ) - { - vecAngVel.z = UTIL_AngleDistance( UTIL_ApproachAngle( -m_flBank, curAngles.z, m_flBank*2 ), curAngles.z); - } - else if ( vecAngVel.y > 5 ) - { - vecAngVel.z = UTIL_AngleDistance( UTIL_ApproachAngle( m_flBank, curAngles.z, m_flBank*2 ), curAngles.z); - } - else - { - vecAngVel.z = UTIL_AngleDistance( UTIL_ApproachAngle( 0, curAngles.z, m_flBank*4 ), curAngles.z) * 4; - } - } - - SetLocalAngularVelocity( vecAngVel ); -} - - -//----------------------------------------------------------------------------- -// Purpose: -// Input : pTeleport - -//----------------------------------------------------------------------------- -void CFuncTrackTrain::TeleportToPathTrack( CPathTrack *pTeleport ) -{ - QAngle angCur = GetLocalAngles(); - - Vector nextPos = pTeleport->GetLocalOrigin(); - Vector look = nextPos; - pTeleport->LookAhead( look, m_length, 0 ); - - QAngle nextAngles; - if ( HasSpawnFlags( SF_TRACKTRAIN_FIXED_ORIENTATION ) || ( look == nextPos ) ) - { - nextAngles = GetLocalAngles(); - } - else - { - nextAngles = pTeleport->GetOrientation( IsDirForward() ); - if ( HasSpawnFlags( SF_TRACKTRAIN_NOPITCH ) ) - { - nextAngles[PITCH] = angCur[PITCH]; - } - } - - Teleport( &pTeleport->GetLocalOrigin(), &nextAngles, NULL ); - SetLocalAngularVelocity( vec3_angle ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Advances the train to the next path corner on the path. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::Next( void ) -{ - if ( !m_flSpeed ) - { - DevMsg( 2, "TRAIN(%s): Speed is 0\n", GetDebugName() ); - SoundStop(); - return; - } - - if ( !m_ppath ) - { - DevMsg( 2, "TRAIN(%s): Lost path\n", GetDebugName() ); - SoundStop(); - m_flSpeed = 0; - return; - } - - SoundUpdate(); - - // - // Based on our current position and speed, look ahead along our path and see - // where we should be in 0.1 seconds. - // - Vector nextPos = GetLocalOrigin(); - float flSpeed = m_flSpeed; - - nextPos.z -= m_height; - CPathTrack *pNextNext = NULL; - CPathTrack *pNext = m_ppath->LookAhead( nextPos, flSpeed * 0.1, 1, &pNextNext ); - //Assert( pNext != NULL ); - - // If we're moving towards a dead end, but our desired speed goes in the opposite direction - // this fixes us from stalling - if ( m_bManualSpeedChanges && ( ( flSpeed < 0 ) != ( m_flDesiredSpeed < 0 ) ) ) - { - if ( !pNext ) - pNext = m_ppath; - } - - if (m_debugOverlays & OVERLAY_BBOX_BIT) - { - if ( pNext != NULL ) - { - NDebugOverlay::Line( GetAbsOrigin(), pNext->GetAbsOrigin(), 255, 0, 0, true, 0.1 ); - NDebugOverlay::Line( pNext->GetAbsOrigin(), pNext->GetAbsOrigin() + Vector( 0,0,32), 255, 0, 0, true, 0.1 ); - NDebugOverlay::Box( pNext->GetAbsOrigin(), Vector( -8, -8, -8 ), Vector( 8, 8, 8 ), 255, 0, 0, 0, 0.1 ); - } - - if ( pNextNext != NULL ) - { - NDebugOverlay::Line( GetAbsOrigin(), pNextNext->GetAbsOrigin(), 0, 255, 0, true, 0.1 ); - NDebugOverlay::Line( pNextNext->GetAbsOrigin(), pNextNext->GetAbsOrigin() + Vector( 0,0,32), 0, 255, 0, true, 0.1 ); - NDebugOverlay::Box( pNextNext->GetAbsOrigin(), Vector( -8, -8, -8 ), Vector( 8, 8, 8 ), 0, 255, 0, 0, 0.1 ); - } - } - - nextPos.z += m_height; - - // Trains *can* work in local space, but only if all elements of the track share - // the same move parent as the train. - Assert( !pNext || (pNext->GetMoveParent() == GetMoveParent()) ); - - if ( pNext ) - { - UpdateTrainVelocity( pNext, pNextNext, nextPos, gpGlobals->frametime ); - UpdateTrainOrientation( pNext, pNextNext, nextPos, gpGlobals->frametime ); - - if ( pNext != m_ppath ) - { - // - // We have reached a new path track. Fire its OnPass output. - // - m_ppath = pNext; - ArriveAtNode( pNext ); -#ifdef HL1_DLL - m_bOnTrackChange = false; -#endif - - // - // See if we should teleport to the next path track. - // - CPathTrack *pTeleport = pNext->GetNext(); - if ( ( pTeleport != NULL ) && pTeleport->HasSpawnFlags( SF_PATH_TELEPORT ) ) - { - TeleportToPathTrack( pTeleport ); - } - } - - m_OnNext.FireOutput( pNext, this ); - - SetThink( &CFuncTrackTrain::Next ); - SetMoveDoneTime( 0.5 ); - SetNextThink( gpGlobals->curtime ); - SetMoveDone( NULL ); - } - else - { - // - // We've reached the end of the path, stop. - // - SoundStop(); - SetLocalVelocity(nextPos - GetLocalOrigin()); - SetLocalAngularVelocity( vec3_angle ); - float distance = GetLocalVelocity().Length(); - m_oldSpeed = m_flSpeed; - - m_flSpeed = 0; - - // Move to the dead end - - // Are we there yet? - if ( distance > 0 ) - { - // no, how long to get there? - float flTime = distance / fabs( m_oldSpeed ); - SetLocalVelocity( GetLocalVelocity() * (m_oldSpeed / distance) ); - SetMoveDone( &CFuncTrackTrain::DeadEnd ); - SetNextThink( TICK_NEVER_THINK ); - SetMoveDoneTime( flTime ); - } - else - { - DeadEnd(); - } - } -} - - -void CFuncTrackTrain::FirePassInputs( CPathTrack *pStart, CPathTrack *pEnd, bool forward ) -{ - CPathTrack *pCurrent = pStart; - - // swap if going backward - if ( !forward ) - { - pCurrent = pEnd; - pEnd = pStart; - } - variant_t emptyVariant; - - while ( pCurrent && pCurrent != pEnd ) - { - //Msg("Fired pass on %s\n", STRING(pCurrent->GetEntityName()) ); - pCurrent->AcceptInput( "InPass", this, this, emptyVariant, 0 ); - pCurrent = forward ? pCurrent->GetNext() : pCurrent->GetPrevious(); - } -} - - -void CFuncTrackTrain::DeadEnd( void ) -{ - // Fire the dead-end target if there is one - CPathTrack *pTrack, *pNext; - - pTrack = m_ppath; - - DevMsg( 2, "TRAIN(%s): Dead end ", GetDebugName() ); - // Find the dead end path node - // HACKHACK -- This is bugly, but the train can actually stop moving at a different node depending on it's speed - // so we have to traverse the list to it's end. - if ( pTrack ) - { - if ( m_oldSpeed < 0 ) - { - do - { - pNext = pTrack->ValidPath( pTrack->GetPrevious(), true ); - if ( pNext ) - pTrack = pNext; - } while ( pNext ); - } - else - { - do - { - pNext = pTrack->ValidPath( pTrack->GetNext(), true ); - if ( pNext ) - pTrack = pNext; - } while ( pNext ); - } - } - - SetLocalVelocity( vec3_origin ); - SetLocalAngularVelocity( vec3_angle ); - if ( pTrack ) - { - DevMsg( 2, "at %s\n", pTrack->GetDebugName() ); - variant_t emptyVariant; - pTrack->AcceptInput( "InPass", this, this, emptyVariant, 0 ); - } - else - { - DevMsg( 2, "\n" ); - } -} - - -void CFuncTrackTrain::SetControls( CBaseEntity *pControls ) -{ - Vector offset = pControls->GetLocalOrigin(); - - m_controlMins = pControls->WorldAlignMins() + offset; - m_controlMaxs = pControls->WorldAlignMaxs() + offset; -} - - -//----------------------------------------------------------------------------- -// Purpose: Returns true if the entity's origin is within the controls region. -//----------------------------------------------------------------------------- -bool CFuncTrackTrain::OnControls( CBaseEntity *pTest ) -{ - Vector offset = pTest->GetLocalOrigin() - GetLocalOrigin(); - - if ( m_spawnflags & SF_TRACKTRAIN_NOCONTROL ) - return false; - - // Transform offset into local coordinates - VMatrix tmp = SetupMatrixAngles( GetLocalAngles() ); - // rotate into local space - Vector local = tmp.VMul3x3Transpose( offset ); - - /* - NDebugOverlay::Box( GetLocalOrigin(), m_controlMins, m_controlMaxs, - 255, 0, 0, 100, 5.0 ); - - NDebugOverlay::Box( GetLocalOrigin() + local, Vector(-5,-5,-5), Vector(5,5,5), - 0, 0, 255, 100, 5.0 ); - */ - - if ( local.x >= m_controlMins.x && local.y >= m_controlMins.y && local.z >= m_controlMins.z && - local.x <= m_controlMaxs.x && local.y <= m_controlMaxs.y && local.z <= m_controlMaxs.z ) - return true; - - return false; -} - - -void CFuncTrackTrain::Find( void ) -{ - m_ppath = (CPathTrack *)gEntList.FindEntityByName( NULL, m_target ); - if ( !m_ppath ) - return; - - if ( !FClassnameIs( m_ppath, "path_track" ) -#ifndef PORTAL //env_portal_path_track is a child of path_track and would like to get found - && !FClassnameIs( m_ppath, "env_portal_path_track" ) -#endif //#ifndef PORTAL - ) - { - Warning( "func_track_train must be on a path of path_track\n" ); - Assert(0); - m_ppath = NULL; - return; - } - - - - Vector nextPos = m_ppath->GetLocalOrigin(); - Vector look = nextPos; - m_ppath->LookAhead( look, m_length, 0 ); - nextPos.z += m_height; - look.z += m_height; - - QAngle nextAngles; - if ( HasSpawnFlags( SF_TRACKTRAIN_FIXED_ORIENTATION ) ) - { - nextAngles = GetLocalAngles(); - } - else - { - VectorAngles( look - nextPos, nextAngles ); - if ( HasSpawnFlags( SF_TRACKTRAIN_NOPITCH ) ) - { - nextAngles.x = 0; - } - } - - Teleport( &nextPos, &nextAngles, NULL ); - - ArriveAtNode( m_ppath ); - - if ( m_flSpeed != 0 ) - { - SetNextThink( gpGlobals->curtime + 0.1f ); - SetThink( &CFuncTrackTrain::Next ); - SoundUpdate(); - } -} - - -void CFuncTrackTrain::NearestPath( void ) -{ - CBaseEntity *pTrack = NULL; - CBaseEntity *pNearest = NULL; - float dist, closest; - - closest = 1024; - - for ( CEntitySphereQuery sphere( GetAbsOrigin(), 1024 ); ( pTrack = sphere.GetCurrentEntity() ) != NULL; sphere.NextEntity() ) - { - // filter out non-tracks - if ( !(pTrack->GetFlags() & (FL_CLIENT|FL_NPC)) && FClassnameIs( pTrack, "path_track" ) ) - { - dist = (GetAbsOrigin() - pTrack->GetAbsOrigin()).Length(); - if ( dist < closest ) - { - closest = dist; - pNearest = pTrack; - } - } - } - - if ( !pNearest ) - { - Msg( "Can't find a nearby track !!!\n" ); - SetThink(NULL); - return; - } - - DevMsg( 2, "TRAIN: %s, Nearest track is %s\n", GetDebugName(), pNearest->GetDebugName() ); - // If I'm closer to the next path_track on this path, then it's my real path - pTrack = ((CPathTrack *)pNearest)->GetNext(); - if ( pTrack ) - { - if ( (GetLocalOrigin() - pTrack->GetLocalOrigin()).Length() < (GetLocalOrigin() - pNearest->GetLocalOrigin()).Length() ) - pNearest = pTrack; - } - - m_ppath = (CPathTrack *)pNearest; - - if ( m_flSpeed != 0 ) - { - SetMoveDoneTime( 0.1 ); - SetMoveDone( &CFuncTrackTrain::Next ); - } -} - -void CFuncTrackTrain::OnRestore( void ) -{ - BaseClass::OnRestore(); - if ( !m_ppath -#ifdef HL1_DLL - && !m_bOnTrackChange -#endif - ) - { - NearestPath(); - SetThink( NULL ); - } -} - - -CFuncTrackTrain *CFuncTrackTrain::Instance( edict_t *pent ) -{ - CBaseEntity *pEntity = CBaseEntity::Instance( pent ); - if ( FClassnameIs( pEntity, "func_tracktrain" ) ) - return (CFuncTrackTrain *)pEntity; - return NULL; -} - - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CFuncTrackTrain::Spawn( void ) -{ - if ( m_maxSpeed == 0 ) - { - if ( m_flSpeed == 0 ) - { - m_maxSpeed = 100; - } - else - { - m_maxSpeed = m_flSpeed; - } - } - - if ( m_nMoveSoundMinPitch == 0 ) - { - m_nMoveSoundMinPitch = 60; - } - - if ( m_nMoveSoundMaxPitch == 0 ) - { - m_nMoveSoundMaxPitch = 200; - } - - SetLocalVelocity(vec3_origin); - SetLocalAngularVelocity( vec3_angle ); - - m_dir = 1; - - if ( !m_target ) - { - Msg("FuncTrackTrain '%s' has no target.\n", GetDebugName()); - } - - SetModel( STRING( GetModelName() ) ); - SetMoveType( MOVETYPE_PUSH ); - -#ifdef HL1_DLL - // BUGBUG: For now, just force this for testing. Remove if we want to tag all of the trains in the levels - SetSolid( SOLID_BSP ); -#else - SetSolid( HasSpawnFlags( SF_TRACKTRAIN_HL1TRAIN ) ? SOLID_BSP : SOLID_VPHYSICS ); - //SetSolid( SOLID_VPHYSICS ); -#endif - - if ( HasSpawnFlags( SF_TRACKTRAIN_UNBLOCKABLE_BY_PLAYER ) ) - { - AddFlag( FL_UNBLOCKABLE_BY_PLAYER ); - } - if ( m_spawnflags & SF_TRACKTRAIN_PASSABLE ) - { - AddSolidFlags( FSOLID_NOT_SOLID ); - } - - m_controlMins = CollisionProp()->OBBMins(); - m_controlMaxs = CollisionProp()->OBBMaxs(); - m_controlMaxs.z += 72; -// start trains on the next frame, to make sure their targets have had -// a chance to spawn/activate - SetThink( &CFuncTrackTrain::Find ); - SetNextThink( gpGlobals->curtime ); - Precache(); - - CreateVPhysics(); -} - - -bool CFuncTrackTrain::CreateVPhysics( void ) -{ - VPhysicsInitShadow( false, false ); - return true; -} - - -//----------------------------------------------------------------------------- -// Purpose: Precaches the train sounds. -//----------------------------------------------------------------------------- -void CFuncTrackTrain::Precache( void ) -{ - if (m_flVolume == 0.0) - { - m_flVolume = 1.0; - } - - if ( m_iszSoundMove != NULL_STRING ) - { - PrecacheScriptSound( STRING( m_iszSoundMove ) ); - } - - if ( m_iszSoundMovePing != NULL_STRING ) - { - PrecacheScriptSound( STRING( m_iszSoundMovePing ) ); - } - - if ( m_iszSoundStart != NULL_STRING ) - { - PrecacheScriptSound( STRING( m_iszSoundStart ) ); - } - - if ( m_iszSoundStop != NULL_STRING ) - { - PrecacheScriptSound( STRING( m_iszSoundStop ) ); - } -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CFuncTrackTrain::UpdateOnRemove() -{ - SoundStop(); - BaseClass::UpdateOnRemove(); -} - -void CFuncTrackTrain::MoveDone() -{ - m_lastBlockPos.Init(); - m_lastBlockTick = -1; - BaseClass::MoveDone(); -} - - - -//----------------------------------------------------------------------------- -// Purpose: Defines the volume of space that the player must stand in to -// control the train -//----------------------------------------------------------------------------- -class CFuncTrainControls : public CBaseEntity -{ - DECLARE_CLASS( CFuncTrainControls, CBaseEntity ); -public: - void Spawn( void ); - void Find( void ); - - DECLARE_DATADESC(); -}; - -BEGIN_DATADESC( CFuncTrainControls ) - - // Function Pointers - DEFINE_FUNCTION( Find ), - -END_DATADESC() - -LINK_ENTITY_TO_CLASS( func_traincontrols, CFuncTrainControls ); - - -void CFuncTrainControls::Find( void ) -{ - CBaseEntity *pTarget = NULL; - - do - { - pTarget = gEntList.FindEntityByName( pTarget, m_target ); - } while ( pTarget && !FClassnameIs(pTarget, "func_tracktrain") ); - - if ( !pTarget ) - { - Msg( "No train %s\n", STRING(m_target) ); - return; - } - - CFuncTrackTrain *ptrain = (CFuncTrackTrain*) pTarget; - ptrain->SetControls( this ); - - SetThink( NULL ); -} - - -void CFuncTrainControls::Spawn( void ) -{ - SetSolid( SOLID_NONE ); - SetMoveType( MOVETYPE_NONE ); - SetModel( STRING( GetModelName() ) ); - AddEffects( EF_NODRAW ); - - Assert( GetParent() && "func_traincontrols needs parent to properly align to train" ); - - SetThink( &CFuncTrainControls::Find ); - SetNextThink( gpGlobals->curtime ); -} - - -#define SF_TRACK_ACTIVATETRAIN 0x00000001 -#define SF_TRACK_RELINK 0x00000002 -#define SF_TRACK_ROTMOVE 0x00000004 -#define SF_TRACK_STARTBOTTOM 0x00000008 -#define SF_TRACK_DONT_MOVE 0x00000010 - - -typedef enum { TRAIN_SAFE, TRAIN_BLOCKING, TRAIN_FOLLOWING } TRAIN_CODE; - - -//----------------------------------------------------------------------------- -// This entity is a rotating/moving platform that will carry a train to a new track. -// It must be larger in X-Y planar area than the train, since it must contain the -// train within these dimensions in order to operate when the train is near it. -//----------------------------------------------------------------------------- -class CFuncTrackChange : public CFuncPlatRot -{ - DECLARE_CLASS( CFuncTrackChange, CFuncPlatRot ); -public: - void Spawn( void ); - void Precache( void ); - -// virtual void Blocked( void ); - virtual void GoUp( void ); - virtual void GoDown( void ); - - void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); - void Find( void ); - TRAIN_CODE EvaluateTrain( CPathTrack *pcurrent ); - void UpdateTrain( QAngle &dest ); - virtual void HitBottom( void ); - virtual void HitTop( void ); - void Touch( CBaseEntity *pOther ); - virtual void UpdateAutoTargets( int toggleState ); - virtual bool IsTogglePlat( void ) { return true; } - - void DisableUse( void ) { m_use = 0; } - void EnableUse( void ) { m_use = 1; } - int UseEnabled( void ) { return m_use; } - - DECLARE_DATADESC(); - - CPathTrack *m_trackTop; - CPathTrack *m_trackBottom; - - CFuncTrackTrain *m_train; - - string_t m_trackTopName; - string_t m_trackBottomName; - string_t m_trainName; - TRAIN_CODE m_code; - int m_targetState; - int m_use; -}; - -LINK_ENTITY_TO_CLASS( func_trackchange, CFuncTrackChange ); - -BEGIN_DATADESC( CFuncTrackChange ) - - DEFINE_GLOBAL_FIELD( m_trackTop, FIELD_CLASSPTR ), - DEFINE_GLOBAL_FIELD( m_trackBottom, FIELD_CLASSPTR ), - DEFINE_GLOBAL_FIELD( m_train, FIELD_CLASSPTR ), - DEFINE_GLOBAL_KEYFIELD( m_trackTopName, FIELD_STRING, "toptrack" ), - DEFINE_GLOBAL_KEYFIELD( m_trackBottomName, FIELD_STRING, "bottomtrack" ), - DEFINE_GLOBAL_KEYFIELD( m_trainName, FIELD_STRING, "train" ), - DEFINE_FIELD( m_code, FIELD_INTEGER ), - DEFINE_FIELD( m_targetState, FIELD_INTEGER ), - DEFINE_FIELD( m_use, FIELD_INTEGER ), - - // Function Pointers - DEFINE_FUNCTION( Find ), - -END_DATADESC() - - -void CFuncTrackChange::Spawn( void ) -{ - Setup(); - if ( FBitSet( m_spawnflags, SF_TRACK_DONT_MOVE ) ) - m_vecPosition2.z = GetLocalOrigin().z; - - SetupRotation(); - - if ( FBitSet( m_spawnflags, SF_TRACK_STARTBOTTOM ) ) - { - UTIL_SetOrigin( this, m_vecPosition2); - m_toggle_state = TS_AT_BOTTOM; - SetLocalAngles( m_start ); - m_targetState = TS_AT_TOP; - } - else - { - UTIL_SetOrigin( this, m_vecPosition1); - m_toggle_state = TS_AT_TOP; - SetLocalAngles( m_end ); - m_targetState = TS_AT_BOTTOM; - } - - EnableUse(); - SetThink( &CFuncTrackChange::Find ); - SetNextThink( gpGlobals->curtime + 2 ); - Precache(); -} - - -void CFuncTrackChange::Precache( void ) -{ - BaseClass::Precache(); - - PrecacheScriptSound( "FuncTrackChange.Blocking" ); -} - - -// UNDONE: Filter touches before re-evaluating the train. -void CFuncTrackChange::Touch( CBaseEntity *pOther ) -{ -} - - -void CFuncTrackChange::Find( void ) -{ - // Find track entities - CBaseEntity *target; - - target = gEntList.FindEntityByName( NULL, m_trackTopName ); - if ( target ) - { - m_trackTop = (CPathTrack*) target; - target = gEntList.FindEntityByName( NULL, m_trackBottomName ); - if ( target ) - { - m_trackBottom = (CPathTrack*) target; - target = gEntList.FindEntityByName( NULL, m_trainName ); - if ( target ) - { - m_train = (CFuncTrackTrain *)gEntList.FindEntityByName( NULL, m_trainName ); - if ( !m_train ) - { - Warning( "Can't find train for track change! %s\n", STRING(m_trainName) ); - Assert(0); - return; - } - Vector center = WorldSpaceCenter(); - m_trackBottom = m_trackBottom->Nearest( center ); - m_trackTop = m_trackTop->Nearest( center ); - UpdateAutoTargets( m_toggle_state ); - SetThink( NULL ); - return; - } - else - { - Warning( "Can't find train for track change! %s\n", STRING(m_trainName) ); - Assert(0); - target = gEntList.FindEntityByName( NULL, m_trainName ); - } - } - else - { - Warning( "Can't find bottom track for track change! %s\n", STRING(m_trackBottomName) ); - Assert(0); - } - } - else - { - Warning( "Can't find top track for track change! %s\n", STRING(m_trackTopName) ); - Assert(0); - } -} - - -TRAIN_CODE CFuncTrackChange::EvaluateTrain( CPathTrack *pcurrent ) -{ - // Go ahead and work, we don't have anything to switch, so just be an elevator - if ( !pcurrent || !m_train ) - return TRAIN_SAFE; - - if ( m_train->m_ppath == pcurrent || (pcurrent->m_pprevious && m_train->m_ppath == pcurrent->m_pprevious) || - (pcurrent->m_pnext && m_train->m_ppath == pcurrent->m_pnext) ) - { - if ( m_train->m_flSpeed != 0 ) - return TRAIN_BLOCKING; - - Vector dist = GetLocalOrigin() - m_train->GetLocalOrigin(); - float length = dist.Length2D(); - if ( length < m_train->m_length ) // Empirically determined close distance - return TRAIN_FOLLOWING; - else if ( length > (150 + m_train->m_length) ) - return TRAIN_SAFE; - - return TRAIN_BLOCKING; - } - - return TRAIN_SAFE; -} - - -void CFuncTrackChange::UpdateTrain( QAngle &dest ) -{ - float time = GetMoveDoneTime(); - - m_train->SetAbsVelocity( GetAbsVelocity() ); - m_train->SetLocalAngularVelocity( GetLocalAngularVelocity() ); - m_train->SetMoveDoneTime( time ); - - // Attempt at getting the train to rotate properly around the origin of the trackchange - if ( time <= 0 ) - return; - - Vector offset = m_train->GetLocalOrigin() - GetLocalOrigin(); - QAngle delta = dest - GetLocalAngles(); - // Transform offset into local coordinates - Vector forward, right, up; - AngleVectorsTranspose( delta, &forward, &right, &up ); - Vector local; - local.x = DotProduct( offset, forward ); - local.y = DotProduct( offset, right ); - local.z = DotProduct( offset, up ); - - local = local - offset; - m_train->SetAbsVelocity( GetAbsVelocity() + (local * (1.0/time)) ); -} - - -void CFuncTrackChange::GoDown( void ) -{ - if ( m_code == TRAIN_BLOCKING ) - return; - - // HitBottom may get called during CFuncPlat::GoDown(), so set up for that - // before you call GoDown() - - UpdateAutoTargets( TS_GOING_DOWN ); - // If ROTMOVE, move & rotate - if ( FBitSet( m_spawnflags, SF_TRACK_DONT_MOVE ) ) - { - SetMoveDone( &CFuncTrackChange::CallHitBottom ); - m_toggle_state = TS_GOING_DOWN; - AngularMove( m_start, m_flSpeed ); - } - else - { - BaseClass::GoDown(); - SetMoveDone( &CFuncTrackChange::CallHitBottom ); - RotMove( m_start, GetMoveDoneTime() ); - } - // Otherwise, rotate first, move second - - // If the train is moving with the platform, update it - if ( m_code == TRAIN_FOLLOWING ) - { - UpdateTrain( m_start ); - m_train->m_ppath = NULL; -#ifdef HL1_DLL - m_train->m_bOnTrackChange = true; -#endif - } -} - - -// -// Platform is at bottom, now starts moving up -// -void CFuncTrackChange::GoUp( void ) -{ - if ( m_code == TRAIN_BLOCKING ) - return; - - // HitTop may get called during CFuncPlat::GoUp(), so set up for that - // before you call GoUp(); - - UpdateAutoTargets( TS_GOING_UP ); - if ( FBitSet( m_spawnflags, SF_TRACK_DONT_MOVE ) ) - { - m_toggle_state = TS_GOING_UP; - SetMoveDone( &CFuncTrackChange::CallHitTop ); - AngularMove( m_end, m_flSpeed ); - } - else - { - // If ROTMOVE, move & rotate - BaseClass::GoUp(); - SetMoveDone( &CFuncTrackChange::CallHitTop ); - RotMove( m_end, GetMoveDoneTime() ); - } - - // Otherwise, move first, rotate second - - // If the train is moving with the platform, update it - if ( m_code == TRAIN_FOLLOWING ) - { - UpdateTrain( m_end ); - m_train->m_ppath = NULL; - } -} - - -//----------------------------------------------------------------------------- -// Purpose: Normal track change -// Input : toggleState - -//----------------------------------------------------------------------------- -void CFuncTrackChange::UpdateAutoTargets( int toggleState ) -{ - if ( !m_trackTop || !m_trackBottom ) - return; - - if ( toggleState == TS_AT_TOP ) - { - m_trackTop->RemoveSpawnFlags( SF_PATH_DISABLED ); - } - else - { - m_trackTop->AddSpawnFlags( SF_PATH_DISABLED ); - } - - if ( toggleState == TS_AT_BOTTOM ) - { - m_trackBottom->RemoveSpawnFlags( SF_PATH_DISABLED ); - } - else - { - m_trackBottom->AddSpawnFlags( SF_PATH_DISABLED ); - } -} - - -void CFuncTrackChange::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) -{ - if ( m_toggle_state != TS_AT_TOP && m_toggle_state != TS_AT_BOTTOM ) - return; - - // If train is in "safe" area, but not on the elevator, play alarm sound - if ( m_toggle_state == TS_AT_TOP ) - m_code = EvaluateTrain( m_trackTop ); - else if ( m_toggle_state == TS_AT_BOTTOM ) - m_code = EvaluateTrain( m_trackBottom ); - else - m_code = TRAIN_BLOCKING; - if ( m_code == TRAIN_BLOCKING ) - { - // Play alarm and return - EmitSound( "FuncTrackChange.Blocking" ); - return; - } - - // Otherwise, it's safe to move - // If at top, go down - // at bottom, go up - - DisableUse(); - if (m_toggle_state == TS_AT_TOP) - GoDown(); - else - GoUp(); -} - - -// -// Platform has hit bottom. Stops and waits forever. -// -void CFuncTrackChange::HitBottom( void ) -{ - BaseClass::HitBottom(); - if ( m_code == TRAIN_FOLLOWING ) - { -// UpdateTrain(); - m_train->SetTrack( m_trackBottom ); - } - SetMoveDone( NULL ); - SetMoveDoneTime( -1 ); - - UpdateAutoTargets( m_toggle_state ); - - EnableUse(); -} - - -// -// Platform has hit bottom. Stops and waits forever. -// -void CFuncTrackChange::HitTop( void ) -{ - BaseClass::HitTop(); - if ( m_code == TRAIN_FOLLOWING ) - { -// UpdateTrain(); - m_train->SetTrack( m_trackTop ); - } - - // Don't let the plat go back down - SetMoveDone( NULL ); - SetMoveDoneTime( -1 ); - UpdateAutoTargets( m_toggle_state ); - EnableUse(); -} - - -class CFuncTrackAuto : public CFuncTrackChange -{ - DECLARE_CLASS( CFuncTrackAuto, CFuncTrackChange ); -public: - void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); - virtual void UpdateAutoTargets( int toggleState ); - void TriggerTrackChange( inputdata_t &inputdata ); - - DECLARE_DATADESC(); -}; - -BEGIN_DATADESC( CFuncTrackAuto ) - DEFINE_INPUTFUNC( FIELD_VOID, "Trigger", TriggerTrackChange ), -END_DATADESC() - -LINK_ENTITY_TO_CLASS( func_trackautochange, CFuncTrackAuto ); - - -// Auto track change -void CFuncTrackAuto::UpdateAutoTargets( int toggleState ) -{ - CPathTrack *pTarget, *pNextTarget; - - if ( !m_trackTop || !m_trackBottom ) - return; - - if ( m_targetState == TS_AT_TOP ) - { - pTarget = m_trackTop->GetNext(); - pNextTarget = m_trackBottom->GetNext(); - } - else - { - pTarget = m_trackBottom->GetNext(); - pNextTarget = m_trackTop->GetNext(); - } - if ( pTarget ) - { - pTarget->RemoveSpawnFlags( SF_PATH_DISABLED ); - if ( m_code == TRAIN_FOLLOWING && m_train && m_train->m_flSpeed == 0 ) - { - m_train->SetSpeed( pTarget->m_flSpeed ); - m_train->Use( this, this, USE_SET, 0 ); - } - } - - if ( pNextTarget ) - { - pNextTarget->AddSpawnFlags( SF_PATH_DISABLED ); - } -} - - -void CFuncTrackAuto::TriggerTrackChange ( inputdata_t &inputdata ) -{ - CPathTrack *pTarget; - - if ( !UseEnabled() ) - return; - - if ( m_toggle_state == TS_AT_TOP ) - pTarget = m_trackTop; - else if ( m_toggle_state == TS_AT_BOTTOM ) - pTarget = m_trackBottom; - else - pTarget = NULL; - - if ( inputdata.pActivator && FClassnameIs( inputdata.pActivator, "func_tracktrain" ) ) - { - m_code = EvaluateTrain( pTarget ); - // Safe to fire? - if ( m_code == TRAIN_FOLLOWING && m_toggle_state != m_targetState ) - { - DisableUse(); - if (m_toggle_state == TS_AT_TOP) - GoDown(); - else - GoUp(); - } - } - else - { - if ( pTarget ) - pTarget = pTarget->GetNext(); - if ( pTarget && m_train->m_ppath != pTarget && ShouldToggle( USE_TOGGLE, m_targetState ) ) - { - if ( m_targetState == TS_AT_TOP ) - m_targetState = TS_AT_BOTTOM; - else - m_targetState = TS_AT_TOP; - } - - UpdateAutoTargets( m_targetState ); - } -} - - -void CFuncTrackAuto::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) -{ - CPathTrack *pTarget; - - if ( !UseEnabled() ) - return; - - if ( m_toggle_state == TS_AT_TOP ) - pTarget = m_trackTop; - else if ( m_toggle_state == TS_AT_BOTTOM ) - pTarget = m_trackBottom; - else - pTarget = NULL; - - if ( FClassnameIs( pActivator, "func_tracktrain" ) ) - { - m_code = EvaluateTrain( pTarget ); - // Safe to fire? - if ( m_code == TRAIN_FOLLOWING && m_toggle_state != m_targetState ) - { - DisableUse(); - if (m_toggle_state == TS_AT_TOP) - GoDown(); - else - GoUp(); - } - } - else - { - if ( pTarget ) - pTarget = pTarget->GetNext(); - if ( pTarget && m_train->m_ppath != pTarget && ShouldToggle( useType, m_targetState ) ) - { - if ( m_targetState == TS_AT_TOP ) - m_targetState = TS_AT_BOTTOM; - else - m_targetState = TS_AT_TOP; - } - - UpdateAutoTargets( m_targetState ); - } -} +//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// +// +// Purpose: Spawn, think, and touch functions for trains, etc. +// +//=============================================================================// + +#include "cbase.h" +#include "ai_basenpc.h" +#include "trains.h" +#include "ndebugoverlay.h" +#include "entitylist.h" +#include "engine/IEngineSound.h" +#include "soundenvelope.h" +#include "physics_npc_solver.h" +#include "vphysics/friction.h" +#include "hierarchy.h" +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +static void PlatSpawnInsideTrigger(edict_t *pevPlatform); + +#define SF_PLAT_TOGGLE 0x0001 + +class CBasePlatTrain : public CBaseToggle +{ + DECLARE_CLASS( CBasePlatTrain, CBaseToggle ); + +public: + ~CBasePlatTrain(); + bool KeyValue( const char *szKeyName, const char *szValue ); + void Precache( void ); + + // This is done to fix spawn flag collisions between this class and a derived class + virtual bool IsTogglePlat( void ) { return (m_spawnflags & SF_PLAT_TOGGLE) ? true : false; } + + DECLARE_DATADESC(); + + void PlayMovingSound(); + void StopMovingSound(); + + string_t m_NoiseMoving; // sound a plat makes while moving + string_t m_NoiseArrived; + + CSoundPatch *m_pMovementSound; +#ifdef HL1_DLL + int m_MoveSound; + int m_StopSound; +#endif + + float m_volume; // Sound volume + float m_flTWidth; + float m_flTLength; +}; + +BEGIN_DATADESC( CBasePlatTrain ) + + DEFINE_KEYFIELD( m_NoiseMoving, FIELD_SOUNDNAME, "noise1" ), + DEFINE_KEYFIELD( m_NoiseArrived, FIELD_SOUNDNAME, "noise2" ), + +#ifdef HL1_DLL + DEFINE_KEYFIELD( m_MoveSound, FIELD_INTEGER, "movesnd" ), + DEFINE_KEYFIELD( m_StopSound, FIELD_INTEGER, "stopsnd" ), + +#endif + DEFINE_SOUNDPATCH( m_pMovementSound ), + + DEFINE_KEYFIELD( m_volume, FIELD_FLOAT, "volume" ), + + DEFINE_FIELD( m_flTWidth, FIELD_FLOAT ), + DEFINE_FIELD( m_flTLength, FIELD_FLOAT ), + DEFINE_KEYFIELD( m_flLip, FIELD_FLOAT, "lip" ), + DEFINE_KEYFIELD( m_flWait, FIELD_FLOAT, "wait" ), + DEFINE_KEYFIELD( m_flHeight, FIELD_FLOAT, "height" ), + +END_DATADESC() + + +bool CBasePlatTrain::KeyValue( const char *szKeyName, const char *szValue ) +{ + if (FStrEq(szKeyName, "rotation")) + { + m_vecFinalAngle.x = atof(szValue); + } + else + { + return BaseClass::KeyValue( szKeyName, szValue ); + } + + return true; +} + + +CBasePlatTrain::~CBasePlatTrain() +{ + StopMovingSound(); +} + +void CBasePlatTrain::PlayMovingSound() +{ + StopMovingSound(); + if(m_NoiseMoving != NULL_STRING ) + { + CSoundEnvelopeController &controller = CSoundEnvelopeController::GetController(); + CPASAttenuationFilter filter( this ); + m_pMovementSound = controller.SoundCreate( filter, entindex(), CHAN_STATIC, STRING(m_NoiseMoving), ATTN_NORM ); + + controller.Play( m_pMovementSound, m_volume, PITCH_NORM ); + } +} + +void CBasePlatTrain::StopMovingSound() +{ + if ( m_pMovementSound ) + { + CSoundEnvelopeController &controller = CSoundEnvelopeController::GetController(); + + controller.SoundDestroy( m_pMovementSound ); + m_pMovementSound = NULL; + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBasePlatTrain::Precache( void ) +{ + //Fill in a default value if necessary + UTIL_ValidateSoundName( m_NoiseMoving, "Plat.DefaultMoving" ); + UTIL_ValidateSoundName( m_NoiseArrived, "Plat.DefaultArrive" ); + +#ifdef HL1_DLL +// set the plat's "in-motion" sound + switch (m_MoveSound) + { + default: + case 0: + m_NoiseMoving = MAKE_STRING( "Plat.DefaultMoving" ); + break; + case 1: + m_NoiseMoving = MAKE_STRING("Plat.BigElev1"); + break; + case 2: + m_NoiseMoving = MAKE_STRING("Plat.BigElev2"); + break; + case 3: + m_NoiseMoving = MAKE_STRING("Plat.TechElev1"); + break; + case 4: + m_NoiseMoving = MAKE_STRING("Plat.TechElev2"); + break; + case 5: + m_NoiseMoving = MAKE_STRING("Plat.TechElev3"); + break; + case 6: + m_NoiseMoving = MAKE_STRING("Plat.FreightElev1"); + break; + case 7: + m_NoiseMoving = MAKE_STRING("Plat.FreightElev2"); + break; + case 8: + m_NoiseMoving = MAKE_STRING("Plat.HeavyElev"); + break; + case 9: + m_NoiseMoving = MAKE_STRING("Plat.RackElev"); + break; + case 10: + m_NoiseMoving = MAKE_STRING("Plat.RailElev"); + break; + case 11: + m_NoiseMoving = MAKE_STRING("Plat.SqueakElev"); + break; + case 12: + m_NoiseMoving = MAKE_STRING("Plat.OddElev1"); + break; + case 13: + m_NoiseMoving = MAKE_STRING("Plat.OddElev2"); + break; + } + +// set the plat's 'reached destination' stop sound + switch (m_StopSound) + { + default: + case 0: + m_NoiseArrived = MAKE_STRING( "Plat.DefaultArrive" ); + break; + case 1: + m_NoiseArrived = MAKE_STRING("Plat.BigElevStop1"); + break; + case 2: + m_NoiseArrived = MAKE_STRING("Plat.BigElevStop2"); + break; + case 3: + m_NoiseArrived = MAKE_STRING("Plat.FreightElevStop"); + break; + case 4: + m_NoiseArrived = MAKE_STRING("Plat.HeavyElevStop"); + break; + case 5: + m_NoiseArrived = MAKE_STRING("Plat.RackStop"); + break; + case 6: + m_NoiseArrived = MAKE_STRING("Plat.RailStop"); + break; + case 7: + m_NoiseArrived = MAKE_STRING("Plat.SqueakStop"); + break; + case 8: + m_NoiseArrived = MAKE_STRING("Plat.QuickStop"); + break; + } + +#endif // HL1_DLL + + //Precache them all + PrecacheScriptSound( (char *) STRING(m_NoiseMoving) ); + PrecacheScriptSound( (char *) STRING(m_NoiseArrived) ); + +} + + +class CFuncPlat : public CBasePlatTrain +{ + DECLARE_CLASS( CFuncPlat, CBasePlatTrain ); +public: + void Spawn( void ); + void Precache( void ); + bool CreateVPhysics(); + void Setup( void ); + + virtual void Blocked( CBaseEntity *pOther ); + void PlatUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); + + void CallGoDown( void ) { GoDown(); } + void CallHitTop( void ) { HitTop(); } + void CallHitBottom( void ) { HitBottom(); } + + virtual void GoUp( void ); + virtual void GoDown( void ); + virtual void HitTop( void ); + virtual void HitBottom( void ); + + void InputToggle(inputdata_t &data); + void InputGoUp(inputdata_t &data); + void InputGoDown(inputdata_t &data); + + DECLARE_DATADESC(); + +private: + + string_t m_sNoise; +}; + + +BEGIN_DATADESC( CFuncPlat ) + + DEFINE_FIELD( m_sNoise, FIELD_STRING ), + + // Function Pointers + DEFINE_FUNCTION( PlatUse ), + DEFINE_FUNCTION( CallGoDown ), + DEFINE_FUNCTION( CallHitTop ), + DEFINE_FUNCTION( CallHitBottom ), + + // Inputs + DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ), + DEFINE_INPUTFUNC( FIELD_VOID, "GoUp", InputGoUp ), + DEFINE_INPUTFUNC( FIELD_VOID, "GoDown", InputGoDown ), + +END_DATADESC() + +LINK_ENTITY_TO_CLASS( func_plat, CFuncPlat ); + +//================================================== +// CPlatTrigger +//================================================== +class CPlatTrigger : public CBaseEntity +{ + DECLARE_CLASS( CPlatTrigger, CBaseEntity ); +public: + virtual int ObjectCaps( void ) { return BaseClass::ObjectCaps() | FCAP_DONT_SAVE; } + void SpawnInsideTrigger( CFuncPlat *pPlatform ); + void Touch( CBaseEntity *pOther ); + CFuncPlat *m_pPlatform; +}; + +void CFuncPlat::Setup( void ) +{ + if (m_flTLength == 0) + { + m_flTLength = 80; + } + + if (m_flTWidth == 0) + { + m_flTWidth = 10; + } + + SetLocalAngles( vec3_angle ); + SetSolid( SOLID_BSP ); + SetMoveType( MOVETYPE_PUSH ); + + // Set size and link into world + SetModel( STRING( GetModelName() ) ); + + m_vecPosition1 = GetLocalOrigin(); //Top + m_vecPosition2 = GetLocalOrigin(); //Bottom + + if ( m_flHeight != 0 ) + { + m_vecPosition2.z = GetLocalOrigin().z - m_flHeight; + } + else + { + // NOTE: This works because the angles were set to vec3_angle above + m_vecPosition2.z = GetLocalOrigin().z - CollisionProp()->OBBSize().z + 8; + } + + if (m_flSpeed == 0) + { + m_flSpeed = 150; + } + + if ( m_volume == 0.0f ) + { + m_volume = 0.85f; + } +} + + +void CFuncPlat::Precache( ) +{ + BaseClass::Precache(); + + if ( IsTogglePlat() == false ) + { + // Create the "start moving" trigger + PlatSpawnInsideTrigger( edict() ); + } +} + + +void CFuncPlat::Spawn( ) + +{ + Setup(); + Precache(); + + // If this platform is the target of some button, it starts at the TOP position, + // and is brought down by that button. Otherwise, it starts at BOTTOM. + if ( GetEntityName() != NULL_STRING ) + { + UTIL_SetOrigin( this, m_vecPosition1); + m_toggle_state = TS_AT_TOP; + SetUse( &CFuncPlat::PlatUse ); + } + else + { + UTIL_SetOrigin( this, m_vecPosition2); + m_toggle_state = TS_AT_BOTTOM; + } + CreateVPhysics(); +} + +bool CFuncPlat::CreateVPhysics() +{ + VPhysicsInitShadow( false, false ); + return true; +} + + +static void PlatSpawnInsideTrigger(edict_t* pevPlatform) +{ + // old code: //GetClassPtr( (CPlatTrigger *)NULL)->SpawnInsideTrigger( GetClassPtr( (CFuncPlat *)pevPlatform ) ); + CPlatTrigger *plattrig = CREATE_UNSAVED_ENTITY( CPlatTrigger, "plat_trigger" ); + plattrig->SpawnInsideTrigger( (CFuncPlat *)GetContainingEntity( pevPlatform ) ); +} + + +// +// Create a trigger entity for a platform. +// +void CPlatTrigger::SpawnInsideTrigger( CFuncPlat *pPlatform ) +{ + m_pPlatform = pPlatform; + // Create trigger entity, "point" it at the owning platform, give it a touch method + SetSolid( SOLID_BSP ); + AddSolidFlags( FSOLID_TRIGGER ); + SetMoveType( MOVETYPE_NONE ); + SetLocalOrigin( pPlatform->GetLocalOrigin() ); + + // Establish the trigger field's size + CCollisionProperty *pCollision = m_pPlatform->CollisionProp(); + Vector vecTMin = pCollision->OBBMins() + Vector ( 25 , 25 , 0 ); + Vector vecTMax = pCollision->OBBMaxs() + Vector ( 25 , 25 , 8 ); + vecTMin.z = vecTMax.z - ( m_pPlatform->m_vecPosition1.z - m_pPlatform->m_vecPosition2.z + 8 ); + if ( pCollision->OBBSize().x <= 50 ) + { + vecTMin.x = (pCollision->OBBMins().x + pCollision->OBBMaxs().x) / 2; + vecTMax.x = vecTMin.x + 1; + } + if ( pCollision->OBBSize().y <= 50 ) + { + vecTMin.y = (pCollision->OBBMins().y + pCollision->OBBMaxs().y) / 2; + vecTMax.y = vecTMin.y + 1; + } + UTIL_SetSize ( this, vecTMin, vecTMax ); +} + + +// +// When the platform's trigger field is touched, the platform ??? +// +void CPlatTrigger::Touch( CBaseEntity *pOther ) +{ + // Ignore touches by non-players + if ( !pOther->IsPlayer() ) + return; + + // Ignore touches by corpses + if (!pOther->IsAlive()) + return; + + // Make linked platform go up/down. + if (m_pPlatform->m_toggle_state == TS_AT_BOTTOM) + m_pPlatform->GoUp(); + else if (m_pPlatform->m_toggle_state == TS_AT_TOP) + m_pPlatform->SetMoveDoneTime( 1 );// delay going down +} + + + +//----------------------------------------------------------------------------- +// Purpose: Used when a platform is the target of a button. +// Start bringing platform down. +// Input : pActivator - +// pCaller - +// useType - +// value - +//----------------------------------------------------------------------------- +void CFuncPlat::InputToggle(inputdata_t &data) +{ + if ( IsTogglePlat() ) + { + if (m_toggle_state == TS_AT_TOP) + GoDown(); + else if ( m_toggle_state == TS_AT_BOTTOM ) + GoUp(); + } + else + { + SetUse( NULL ); + + if (m_toggle_state == TS_AT_TOP) + GoDown(); + } +} + +void CFuncPlat::InputGoUp(inputdata_t &data) +{ + if ( m_toggle_state == TS_AT_BOTTOM ) + GoUp(); +} + +void CFuncPlat::InputGoDown(inputdata_t &data) +{ + if ( m_toggle_state == TS_AT_TOP ) + GoDown(); +} + +//----------------------------------------------------------------------------- +// Purpose: Used when a platform is the target of a button. +// Start bringing platform down. +// Input : pActivator - +// pCaller - +// useType - +// value - +//----------------------------------------------------------------------------- +void CFuncPlat::PlatUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) +{ + if ( IsTogglePlat() ) + { + // Top is off, bottom is on + bool on = (m_toggle_state == TS_AT_BOTTOM) ? true : false; + + if ( !ShouldToggle( useType, on ) ) + return; + + if (m_toggle_state == TS_AT_TOP) + GoDown(); + else if ( m_toggle_state == TS_AT_BOTTOM ) + GoUp(); + } + else + { + SetUse( NULL ); + + if (m_toggle_state == TS_AT_TOP) + GoDown(); + } +} + + +// +// Platform is at top, now starts moving down. +// +void CFuncPlat::GoDown( void ) +{ + PlayMovingSound(); + + ASSERT(m_toggle_state == TS_AT_TOP || m_toggle_state == TS_GOING_UP); + m_toggle_state = TS_GOING_DOWN; + SetMoveDone(&CFuncPlat::CallHitBottom); + LinearMove(m_vecPosition2, m_flSpeed); +} + + +// +// Platform has hit bottom. Stops and waits forever. +// +void CFuncPlat::HitBottom( void ) +{ + StopMovingSound(); + + if ( m_NoiseArrived != NULL_STRING ) + { + CPASAttenuationFilter filter( this ); + + EmitSound_t ep; + ep.m_nChannel = CHAN_WEAPON; + ep.m_pSoundName = STRING(m_NoiseArrived); + ep.m_flVolume = m_volume; + ep.m_SoundLevel = SNDLVL_NORM; + + EmitSound( filter, entindex(), ep ); + } + + ASSERT(m_toggle_state == TS_GOING_DOWN); + m_toggle_state = TS_AT_BOTTOM; +} + + +// +// Platform is at bottom, now starts moving up +// +void CFuncPlat::GoUp( void ) +{ + PlayMovingSound(); + + ASSERT(m_toggle_state == TS_AT_BOTTOM || m_toggle_state == TS_GOING_DOWN); + m_toggle_state = TS_GOING_UP; + SetMoveDone(&CFuncPlat::CallHitTop); + LinearMove(m_vecPosition1, m_flSpeed); +} + + +// +// Platform has hit top. Pauses, then starts back down again. +// +void CFuncPlat::HitTop( void ) +{ + StopMovingSound(); + + if ( m_NoiseArrived != NULL_STRING ) + { + CPASAttenuationFilter filter( this ); + + EmitSound_t ep; + ep.m_nChannel = CHAN_WEAPON; + ep.m_pSoundName = STRING(m_NoiseArrived); + ep.m_flVolume = m_volume; + ep.m_SoundLevel = SNDLVL_NORM; + + EmitSound( filter, entindex(), ep ); + } + + ASSERT(m_toggle_state == TS_GOING_UP); + m_toggle_state = TS_AT_TOP; + + if ( !IsTogglePlat() ) + { + // After a delay, the platform will automatically start going down again. + SetMoveDone( &CFuncPlat::CallGoDown ); + SetMoveDoneTime( 3 ); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Called when we are blocked. +//----------------------------------------------------------------------------- +void CFuncPlat::Blocked( CBaseEntity *pOther ) +{ + DevMsg( 2, "%s Blocked by %s\n", GetClassname(), pOther->GetClassname() ); + + // Hurt the blocker a little + pOther->TakeDamage( CTakeDamageInfo( this, this, 1, DMG_CRUSH ) ); + + if (m_sNoise != NULL_STRING) + { + StopSound(entindex(), CHAN_STATIC, (char*)STRING(m_sNoise)); + } + + // Send the platform back where it came from + ASSERT(m_toggle_state == TS_GOING_UP || m_toggle_state == TS_GOING_DOWN); + if (m_toggle_state == TS_GOING_UP) + { + GoDown(); + } + else if (m_toggle_state == TS_GOING_DOWN) + { + GoUp (); + } +} + + +class CFuncPlatRot : public CFuncPlat +{ + DECLARE_CLASS( CFuncPlatRot, CFuncPlat ); +public: + void Spawn( void ); + void SetupRotation( void ); + + virtual void GoUp( void ); + virtual void GoDown( void ); + virtual void HitTop( void ); + virtual void HitBottom( void ); + + void RotMove( QAngle &destAngle, float time ); + DECLARE_DATADESC(); + + QAngle m_end, m_start; +}; + +LINK_ENTITY_TO_CLASS( func_platrot, CFuncPlatRot ); + +BEGIN_DATADESC( CFuncPlatRot ) + + DEFINE_FIELD( m_end, FIELD_VECTOR ), + DEFINE_FIELD( m_start, FIELD_VECTOR ), + +END_DATADESC() + + +void CFuncPlatRot::SetupRotation( void ) +{ + if ( m_vecFinalAngle.x != 0 ) // This plat rotates too! + { + CBaseToggle::AxisDir(); + m_start = GetLocalAngles(); + m_end = GetLocalAngles() + m_vecMoveAng * m_vecFinalAngle.x; + } + else + { + m_start = vec3_angle; + m_end = vec3_angle; + } + if ( GetEntityName() != NULL_STRING ) // Start at top + { + SetLocalAngles( m_end ); + } +} + + +void CFuncPlatRot::Spawn( void ) +{ + BaseClass::Spawn(); + SetupRotation(); +} + +void CFuncPlatRot::GoDown( void ) +{ + BaseClass::GoDown(); + RotMove( m_start, GetMoveDoneTime() ); +} + + +// +// Platform has hit bottom. Stops and waits forever. +// +void CFuncPlatRot::HitBottom( void ) +{ + BaseClass::HitBottom(); + SetLocalAngularVelocity( vec3_angle ); + SetLocalAngles( m_start ); +} + + +// +// Platform is at bottom, now starts moving up +// +void CFuncPlatRot::GoUp( void ) +{ + BaseClass::GoUp(); + RotMove( m_end, GetMoveDoneTime() ); +} + + +// +// Platform has hit top. Pauses, then starts back down again. +// +void CFuncPlatRot::HitTop( void ) +{ + BaseClass::HitTop(); + SetLocalAngularVelocity( vec3_angle ); + SetLocalAngles( m_end ); +} + + +void CFuncPlatRot::RotMove( QAngle &destAngle, float time ) +{ + // set destdelta to the vector needed to move + QAngle vecDestDelta = destAngle - GetLocalAngles(); + + // Travel time is so short, we're practically there already; so make it so. + if ( time >= 0.1) + SetLocalAngularVelocity( vecDestDelta * (1.0 / time) ); + else + { + SetLocalAngularVelocity( vecDestDelta ); + SetMoveDoneTime( 1 ); + } +} + + +class CFuncTrain : public CBasePlatTrain +{ + DECLARE_CLASS( CFuncTrain, CBasePlatTrain ); +public: + void Spawn( void ); + void Precache( void ); + void Activate( void ); + void OnRestore( void ); + + void SetupTarget( void ); + void Blocked( CBaseEntity *pOther ); + void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); + + void Wait( void ); + void Next( void ); + + //Inputs + void InputToggle(inputdata_t &data); + void InputStart(inputdata_t &data); + void InputStop(inputdata_t &data); + + void Start( void ); + void Stop( void ); + + DECLARE_DATADESC(); + +public: + EHANDLE m_hCurrentTarget; + + bool m_activated; + EHANDLE m_hEnemy; + float m_flBlockDamage; // Damage to inflict when blocked. + float m_flNextBlockTime; + string_t m_iszLastTarget; + +}; + +LINK_ENTITY_TO_CLASS( func_train, CFuncTrain ); + + +BEGIN_DATADESC( CFuncTrain ) + + DEFINE_FIELD( m_hCurrentTarget, FIELD_EHANDLE ), + DEFINE_FIELD( m_activated, FIELD_BOOLEAN ), + DEFINE_FIELD( m_hEnemy, FIELD_EHANDLE ), + DEFINE_FIELD( m_iszLastTarget, FIELD_STRING ), + DEFINE_FIELD( m_flNextBlockTime, FIELD_TIME ), + + DEFINE_KEYFIELD( m_flBlockDamage, FIELD_FLOAT, "dmg" ), + + // Function Pointers + DEFINE_FUNCTION( Wait ), + DEFINE_FUNCTION( Next ), + + // Inputs + DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ), + DEFINE_INPUTFUNC( FIELD_VOID, "Start", InputStart ), + DEFINE_INPUTFUNC( FIELD_VOID, "Stop", InputStop ), + +END_DATADESC() + + +//----------------------------------------------------------------------------- +// Purpose: Handles a train being blocked by an entity. +// Input : pOther - What was hit. +//----------------------------------------------------------------------------- +void CFuncTrain::Blocked( CBaseEntity *pOther ) +{ + if ( gpGlobals->curtime < m_flNextBlockTime ) + return; + + m_flNextBlockTime = gpGlobals->curtime + 0.5; + + //Inflict damage + pOther->TakeDamage( CTakeDamageInfo( this, this, m_flBlockDamage, DMG_CRUSH ) ); +} + + +void CFuncTrain::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) +{ + //If we've been waiting to be retriggered, move to the next destination + if ( m_spawnflags & SF_TRAIN_WAIT_RETRIGGER ) + { + // Move toward my target + m_spawnflags &= ~SF_TRAIN_WAIT_RETRIGGER; + Next(); + } + else + { + m_spawnflags |= SF_TRAIN_WAIT_RETRIGGER; + + // Pop back to last target if it's available + if ( m_hEnemy ) + { + m_target = m_hEnemy->GetEntityName(); + } + + SetNextThink( TICK_NEVER_THINK ); + SetLocalVelocity( vec3_origin ); + + if ( m_NoiseArrived != NULL_STRING ) + { + CPASAttenuationFilter filter( this ); + + EmitSound_t ep; + ep.m_nChannel = CHAN_VOICE; + ep.m_pSoundName = STRING(m_NoiseArrived); + ep.m_flVolume = m_volume; + ep.m_SoundLevel = SNDLVL_NORM; + + EmitSound( filter, entindex(), ep ); + } + } +} + +void CFuncTrain::Wait( void ) +{ + //If we're moving passed a path track, then trip its output + variant_t emptyVariant; + m_hCurrentTarget->AcceptInput( "InPass", this, this, emptyVariant, 0 ); + + // need pointer to LAST target. + if ( m_hCurrentTarget->HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) || HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) ) + { + AddSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ); + + // Clear the sound channel. + StopMovingSound(); + + if ( m_NoiseArrived != NULL_STRING ) + { + CPASAttenuationFilter filter( this ); + + EmitSound_t ep; + ep.m_nChannel = CHAN_VOICE; + ep.m_pSoundName = STRING(m_NoiseArrived); + ep.m_flVolume = m_volume; + ep.m_SoundLevel = SNDLVL_NORM; + + EmitSound( filter, entindex(), ep ); + } + + SetMoveDoneTime( -1 ); + + return; + } + + //NOTENOTE: -1 wait will wait forever + if ( m_flWait != 0 ) + { + SetMoveDoneTime( m_flWait ); + + StopMovingSound(); + + if ( m_NoiseArrived != NULL_STRING ) + { + CPASAttenuationFilter filter( this ); + + EmitSound_t ep; + ep.m_nChannel = CHAN_VOICE; + ep.m_pSoundName = STRING(m_NoiseArrived); + ep.m_flVolume = m_volume; + ep.m_SoundLevel = SNDLVL_NORM; + + EmitSound( filter, entindex(), ep ); + } + + SetMoveDone( &CFuncTrain::Next ); + } + else + { + // Do it right now + Next(); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Advances the train to the next path corner on the path. +//----------------------------------------------------------------------------- +void CFuncTrain::Next( void ) +{ + //Find our next target + CBaseEntity *pTarg = GetNextTarget(); + + //If none, we're done + if ( pTarg == NULL ) + { + //Stop the moving sound + StopMovingSound(); + + // Play stop sound + if ( m_NoiseArrived != NULL_STRING ) + { + CPASAttenuationFilter filter( this ); + + EmitSound_t ep; + ep.m_nChannel = CHAN_VOICE; + ep.m_pSoundName = STRING(m_NoiseArrived); + ep.m_flVolume = m_volume; + ep.m_SoundLevel = SNDLVL_NORM; + + EmitSound( filter, entindex(), ep ); + } + + return; + } + + // Save last target in case we need to find it again + m_iszLastTarget = m_target; + + m_target = pTarg->m_target; + m_flWait = pTarg->GetDelay(); + + // If our target has a speed, take it + if ( m_hCurrentTarget && m_hCurrentTarget->m_flSpeed != 0 ) + { + m_flSpeed = m_hCurrentTarget->m_flSpeed; + DevMsg( 2, "Train %s speed to %4.2f\n", GetDebugName(), m_flSpeed ); + } + + // Keep track of this since path corners change our target for us + m_hCurrentTarget = pTarg; + m_hEnemy = pTarg; + + //Check for teleport + if ( m_hCurrentTarget->HasSpawnFlags( SF_CORNER_TELEPORT ) ) + { + AddEffects( EF_NOINTERP ); + + // This is supposed to place the center of the func_train at the target's origin. + // FIXME: This is totally busted! It's using the wrong space for the computation... + UTIL_SetOrigin( this, pTarg->GetLocalOrigin() - CollisionProp()->OBBCenter() ); + + // Get on with doing the next path corner. + Wait(); + } + else + { + // Normal linear move + PlayMovingSound(); + + RemoveEffects( EF_NOINTERP ); + SetMoveDone( &CFuncTrain::Wait ); + + // This is supposed to place the center of the func_train at the target's origin. + // FIXME: This is totally busted! It's using the wrong space for the computation... + LinearMove ( pTarg->GetLocalOrigin() - CollisionProp()->OBBCenter(), m_flSpeed ); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Called after all the entities spawn. +//----------------------------------------------------------------------------- +void CFuncTrain::Activate( void ) +{ + BaseClass::Activate(); + + // Not yet active, so teleport to first target + if ( m_activated == false ) + { + SetupTarget(); + + m_activated = true; + + if ( m_hCurrentTarget.Get() == NULL ) + return; + + // This is supposed to place the center of the func_train at the target's origin. + // FIXME: This is totally busted! It's using the wrong space for the computation... + UTIL_SetOrigin( this, m_hCurrentTarget->GetLocalOrigin() - CollisionProp()->OBBCenter() ); + if ( GetSolid() == SOLID_BSP ) + { + VPhysicsInitShadow( false, false ); + } + + // Start immediately if not triggered + if ( !GetEntityName() ) + { + SetMoveDoneTime( 0.1 ); + SetMoveDone( &CFuncTrain::Next ); + } + else + { + m_spawnflags |= SF_TRAIN_WAIT_RETRIGGER; + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CFuncTrain::SetupTarget( void ) +{ + // Find our target whenever we don't have one (level transition) + if ( !m_hCurrentTarget ) + { + CBaseEntity *pTarg = gEntList.FindEntityByName( NULL, m_target ); + + if ( pTarg == NULL ) + { + Msg( "Can't find target of train %s\n", STRING(m_target) ); + return; + } + + // Keep track of this since path corners change our target for us + m_target = pTarg->m_target; + m_hCurrentTarget = pTarg; + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CFuncTrain::Spawn( void ) +{ + Precache(); + + if ( m_flSpeed == 0 ) + { + m_flSpeed = 100; + } + + if ( !m_target ) + { + Warning("FuncTrain '%s' has no target.\n", GetDebugName()); + } + + if ( m_flBlockDamage == 0 ) + { + m_flBlockDamage = 2; + } + + SetMoveType( MOVETYPE_PUSH ); + SetSolid( SOLID_BSP ); + SetModel( STRING( GetModelName() ) ); + if ( m_spawnflags & SF_TRACKTRAIN_PASSABLE ) + { + AddSolidFlags( FSOLID_NOT_SOLID ); + } + + m_activated = false; + + if ( m_volume == 0.0f ) + { + m_volume = 0.85f; + } +} + + +void CFuncTrain::Precache( void ) +{ + BaseClass::Precache(); +} + + +void CFuncTrain::OnRestore( void ) +{ + BaseClass::OnRestore(); + + // Are we moving? + if ( IsMoving() ) + { + // Continue moving to the same target + m_target = m_iszLastTarget; + } + + SetupTarget(); +} + + +void CFuncTrain::InputToggle( inputdata_t &data ) +{ + //If we've been waiting to be retriggered, move to the next destination + if( HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) ) + { + Start(); + } + else + { + Stop(); + } +} + + +void CFuncTrain::InputStart( inputdata_t &data ) +{ + Start(); +} + + +void CFuncTrain::InputStop( inputdata_t &data ) +{ + Stop(); +} + + +void CFuncTrain::Start( void ) +{ + //start moving + if( HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) ) + { + // Move toward my target + RemoveSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ); + Next(); + } +} + + +void CFuncTrain::Stop( void ) +{ + //stop moving + if( !HasSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ) ) + { + AddSpawnFlags( SF_TRAIN_WAIT_RETRIGGER ); + + // Pop back to last target if it's available + if ( m_hEnemy ) + { + m_target = m_hEnemy->GetEntityName(); + } + + SetNextThink( TICK_NEVER_THINK ); + SetAbsVelocity( vec3_origin ); + + if ( m_NoiseArrived != NULL_STRING ) + { + CPASAttenuationFilter filter( this ); + + EmitSound_t ep; + ep.m_nChannel = CHAN_VOICE; + ep.m_pSoundName = STRING(m_NoiseArrived); + ep.m_flVolume = m_volume; + ep.m_SoundLevel = SNDLVL_NORM; + + EmitSound( filter, entindex(), ep ); + } + + //Do not teleport to our final move destination + SetMoveDone( NULL ); + SetMoveDoneTime( -1 ); + } +} + +BEGIN_DATADESC( CFuncTrackTrain ) + + DEFINE_KEYFIELD( m_length, FIELD_FLOAT, "wheels" ), + DEFINE_KEYFIELD( m_height, FIELD_FLOAT, "height" ), + DEFINE_KEYFIELD( m_maxSpeed, FIELD_FLOAT, "startspeed" ), + DEFINE_KEYFIELD( m_flBank, FIELD_FLOAT, "bank" ), + DEFINE_KEYFIELD( m_flBlockDamage, FIELD_FLOAT, "dmg" ), + DEFINE_KEYFIELD( m_iszSoundMove, FIELD_SOUNDNAME, "MoveSound" ), + DEFINE_KEYFIELD( m_iszSoundMovePing, FIELD_SOUNDNAME, "MovePingSound" ), + DEFINE_KEYFIELD( m_iszSoundStart, FIELD_SOUNDNAME, "StartSound" ), + DEFINE_KEYFIELD( m_iszSoundStop, FIELD_SOUNDNAME, "StopSound" ), + DEFINE_KEYFIELD( m_nMoveSoundMinPitch, FIELD_INTEGER, "MoveSoundMinPitch" ), + DEFINE_KEYFIELD( m_nMoveSoundMaxPitch, FIELD_INTEGER, "MoveSoundMaxPitch" ), + DEFINE_KEYFIELD( m_flMoveSoundMinTime, FIELD_FLOAT, "MoveSoundMinTime" ), + DEFINE_KEYFIELD( m_flMoveSoundMaxTime, FIELD_FLOAT, "MoveSoundMaxTime" ), + DEFINE_FIELD( m_flNextMoveSoundTime, FIELD_TIME ), + DEFINE_KEYFIELD( m_eVelocityType, FIELD_INTEGER, "velocitytype" ), + DEFINE_KEYFIELD( m_eOrientationType, FIELD_INTEGER, "orientationtype" ), + + DEFINE_FIELD( m_ppath, FIELD_CLASSPTR ), + DEFINE_FIELD( m_dir, FIELD_FLOAT ), + DEFINE_FIELD( m_controlMins, FIELD_VECTOR ), + DEFINE_FIELD( m_controlMaxs, FIELD_VECTOR ), + DEFINE_FIELD( m_flVolume, FIELD_FLOAT ), + DEFINE_FIELD( m_oldSpeed, FIELD_FLOAT ), + //DEFINE_FIELD( m_lastBlockPos, FIELD_POSITION_VECTOR ), // temp values for blocking, don't save + //DEFINE_FIELD( m_lastBlockTick, FIELD_INTEGER ), + + DEFINE_FIELD( m_bSoundPlaying, FIELD_BOOLEAN ), + + DEFINE_KEYFIELD( m_bManualSpeedChanges, FIELD_BOOLEAN, "ManualSpeedChanges" ), + DEFINE_KEYFIELD( m_flAccelSpeed, FIELD_FLOAT, "ManualAccelSpeed" ), + DEFINE_KEYFIELD( m_flDecelSpeed, FIELD_FLOAT, "ManualDecelSpeed" ), + +#ifdef HL1_DLL + DEFINE_FIELD( m_bOnTrackChange, FIELD_BOOLEAN ), +#endif + + // Inputs + DEFINE_INPUTFUNC( FIELD_VOID, "Stop", InputStop ), + DEFINE_INPUTFUNC( FIELD_VOID, "StartForward", InputStartForward ), + DEFINE_INPUTFUNC( FIELD_VOID, "StartBackward", InputStartBackward ), + DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ), + DEFINE_INPUTFUNC( FIELD_VOID, "Resume", InputResume ), + DEFINE_INPUTFUNC( FIELD_VOID, "Reverse", InputReverse ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetSpeed", InputSetSpeed ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetSpeedDir", InputSetSpeedDir ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetSpeedReal", InputSetSpeedReal ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetSpeedDirAccel", InputSetSpeedDirAccel ), + + // Outputs + DEFINE_OUTPUT( m_OnStart, "OnStart" ), + DEFINE_OUTPUT( m_OnNext, "OnNextPoint" ), + + // Function Pointers + DEFINE_FUNCTION( Next ), + DEFINE_FUNCTION( Find ), + DEFINE_FUNCTION( NearestPath ), + DEFINE_FUNCTION( DeadEnd ), + +END_DATADESC() + +LINK_ENTITY_TO_CLASS( func_tracktrain, CFuncTrackTrain ); + + +//----------------------------------------------------------------------------- +// Datatable +//----------------------------------------------------------------------------- +IMPLEMENT_SERVERCLASS_ST( CFuncTrackTrain, DT_FuncTrackTrain ) +END_SEND_TABLE() + + +//----------------------------------------------------------------------------- +// Constructor +//----------------------------------------------------------------------------- +CFuncTrackTrain::CFuncTrackTrain() +{ +#ifdef _DEBUG + m_controlMins.Init(); + m_controlMaxs.Init(); +#endif + + // These defaults match old func_tracktrains. Changing these defaults would + // require a vmf_tweak of older content to keep it from breaking. + m_eOrientationType = TrainOrientation_AtPathTracks; + m_eVelocityType = TrainVelocity_Instantaneous; + m_lastBlockPos.Init(); + m_lastBlockTick = gpGlobals->tickcount; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +int CFuncTrackTrain::DrawDebugTextOverlays( void ) +{ + int nOffset = BaseClass::DrawDebugTextOverlays(); + + if (m_debugOverlays & OVERLAY_TEXT_BIT) + { + char tempstr[512]; + Q_snprintf( tempstr,sizeof(tempstr), "angles: %g %g %g", (double)GetLocalAngles()[PITCH], (double)GetLocalAngles()[YAW], (double)GetLocalAngles()[ROLL] ); + EntityText( nOffset, tempstr, 0 ); + nOffset++; + + float flCurSpeed = GetLocalVelocity().Length(); + Q_snprintf( tempstr,sizeof(tempstr), "current speed (goal): %g (%g)", (double)flCurSpeed, (double)m_flSpeed ); + EntityText( nOffset, tempstr, 0 ); + nOffset++; + + Q_snprintf( tempstr,sizeof(tempstr), "max speed: %g", (double)m_maxSpeed ); + EntityText( nOffset, tempstr, 0 ); + nOffset++; + } + + return nOffset; +} + + +void CFuncTrackTrain::DrawDebugGeometryOverlays() +{ + BaseClass::DrawDebugGeometryOverlays(); + if (m_debugOverlays & OVERLAY_BBOX_BIT) + { + NDebugOverlay::Box( GetAbsOrigin(), -Vector(4,4,4),Vector(4,4,4), 255, 0, 255, 0, 0); + Vector out; + VectorTransform( Vector(m_length,0,0), EntityToWorldTransform(), out ); + NDebugOverlay::Box( out, -Vector(4,4,4),Vector(4,4,4), 255, 0, 255, 0, 0); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CFuncTrackTrain::KeyValue( const char *szKeyName, const char *szValue ) +{ + if (FStrEq(szKeyName, "volume")) + { + m_flVolume = (float) (atoi(szValue)); + m_flVolume *= 0.1f; + } + else + { + return BaseClass::KeyValue( szKeyName, szValue ); + } + + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: Input handler that stops the train. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::InputStop( inputdata_t &inputdata ) +{ + Stop(); +} + + +//------------------------------------------------------------------------------ +// Purpose: Input handler that starts the train moving. +//------------------------------------------------------------------------------ +void CFuncTrackTrain::InputResume( inputdata_t &inputdata ) +{ + m_flSpeed = m_oldSpeed; + Start(); +} + + +//------------------------------------------------------------------------------ +// Purpose: Input handler that reverses the trains current direction of motion. +//------------------------------------------------------------------------------ +void CFuncTrackTrain::InputReverse( inputdata_t &inputdata ) +{ + SetDirForward( !IsDirForward() ); + SetSpeed( m_flSpeed ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Returns whether we are travelling forward along our path. +//----------------------------------------------------------------------------- +bool CFuncTrackTrain::IsDirForward() +{ + return ( m_dir == 1 ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Sets whether we go forward or backward along our path. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::SetDirForward( bool bForward ) +{ + if ( bForward && ( m_dir != 1 ) ) + { + // Reverse direction. + if ( m_ppath && m_ppath->GetPrevious() ) + { + m_ppath = m_ppath->GetPrevious(); + } + + m_dir = 1; + } + else if ( !bForward && ( m_dir != -1 ) ) + { + // Reverse direction. + if ( m_ppath && m_ppath->GetNext() ) + { + m_ppath = m_ppath->GetNext(); + } + + m_dir = -1; + } +} + + +//------------------------------------------------------------------------------ +// Purpose: Input handler that starts the train moving. +//------------------------------------------------------------------------------ +void CFuncTrackTrain::InputStartForward( inputdata_t &inputdata ) +{ + SetDirForward( true ); + SetSpeed( m_maxSpeed ); +} + + +//------------------------------------------------------------------------------ +// Purpose: Input handler that starts the train moving. +//------------------------------------------------------------------------------ +void CFuncTrackTrain::InputStartBackward( inputdata_t &inputdata ) +{ + SetDirForward( false ); + SetSpeed( m_maxSpeed ); +} + + +//------------------------------------------------------------------------------ +// Purpose: Starts the train moving. +//------------------------------------------------------------------------------ +void CFuncTrackTrain::Start( void ) +{ + m_OnStart.FireOutput(this,this); + Next(); +} + + +//----------------------------------------------------------------------------- +// Purpose: Toggles the train between moving and not moving. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::InputToggle( inputdata_t &inputdata ) +{ + if ( m_flSpeed == 0 ) + { + SetSpeed( m_maxSpeed ); + } + else + { + SetSpeed( 0 ); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Handles player use so players can control the speed of the train. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) +{ + // player +USE + if ( useType == USE_SET ) + { + float delta = value; + + delta = ((int)(m_flSpeed * 4) / (int)m_maxSpeed)*0.25 + 0.25 * delta; + if ( delta > 1 ) + delta = 1; + else if ( delta < -0.25 ) + delta = -0.25; + if ( m_spawnflags & SF_TRACKTRAIN_FORWARDONLY ) + { + if ( delta < 0 ) + delta = 0; + } + SetDirForward( delta >= 0 ); + delta = fabs(delta); + SetSpeed( m_maxSpeed * delta ); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Input handler that sets the speed of the train. +// Input : Float speed from 0 to max speed, in units per second. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::InputSetSpeedReal( inputdata_t &inputdata ) +{ + SetSpeed( clamp( inputdata.value.Float(), 0, m_maxSpeed ) ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Input handler that sets the speed of the train. +// Input : Float speed scale from 0 to 1. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::InputSetSpeed( inputdata_t &inputdata ) +{ + float flScale = clamp( inputdata.value.Float(), 0, 1 ); + SetSpeed( m_maxSpeed * flScale ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Input handler that sets the speed of the train and the direction +// based on the sign of the speed. +// Input : Float speed scale from -1 to 1. Negatives values indicate a reversed +// direction. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::InputSetSpeedDir( inputdata_t &inputdata ) +{ + float newSpeed = inputdata.value.Float(); + SetDirForward( newSpeed >= 0 ); + newSpeed = fabs(newSpeed); + float flScale = clamp( newSpeed, 0, 1 ); + SetSpeed( m_maxSpeed * flScale ); +} + +//----------------------------------------------------------------------------- +// Purpose: Input handler that sets the speed of the train and the direction +// based on the sign of the speed, and accels/decels to that speed +// Input : Float speed scale from -1 to 1. Negatives values indicate a reversed +// direction. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::InputSetSpeedDirAccel( inputdata_t &inputdata ) +{ + float newSpeed = inputdata.value.Float(); + SetDirForward( newSpeed >= 0 ); + newSpeed = fabs(newSpeed); + float flScale = clamp( newSpeed, 0, 1 ); + SetSpeed( m_maxSpeed * flScale, true ); +} + +//----------------------------------------------------------------------------- +// Purpose: Sets the speed of the train to the given value in units per second. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::SetSpeed( float flSpeed, bool bAccel /*= false */ ) +{ + m_bAccelToSpeed = bAccel; + + float flOldSpeed = m_flSpeed; + + if ( m_bAccelToSpeed ) + { + m_flDesiredSpeed = fabs( flSpeed ) * m_dir; + m_flSpeedChangeTime = gpGlobals->curtime; + + if ( m_flSpeed == 0 && fabs(m_flDesiredSpeed) > 0 ) + { + m_flSpeed = 0.1; // little push to get us going + } + + Start(); + + return; + } + + m_flSpeed = fabs( flSpeed ) * m_dir; + + if ( m_flSpeed != flOldSpeed) + { + // Changing speed. + if ( m_flSpeed != 0 ) + { + if ( flOldSpeed == 0 ) + { + // Starting to move. + Start(); + } + else + { + // Continuing to move. + Next(); + } + } + else + { + // Stopping. + Stop(); + } + } + + DevMsg( 2, "TRAIN(%s), speed to %.2f\n", GetDebugName(), m_flSpeed ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Stops the train. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::Stop( void ) +{ + SetLocalVelocity( vec3_origin ); + SetLocalAngularVelocity( vec3_angle ); + m_oldSpeed = m_flSpeed; + m_flSpeed = 0; + SoundStop(); + SetThink(NULL); +} + +static CBaseEntity *FindPhysicsBlockerForHierarchy( CBaseEntity *pParentEntity ) +{ + CUtlVector list; + GetAllInHierarchy( pParentEntity, list ); + CBaseEntity *pPhysicsBlocker = NULL; + float maxForce = 0; + for ( int i = 0; i < list.Count(); i++ ) + { + IPhysicsObject *pPhysics = list[i]->VPhysicsGetObject(); + if ( pPhysics ) + { + IPhysicsFrictionSnapshot *pSnapshot = pPhysics->CreateFrictionSnapshot(); + while ( pSnapshot->IsValid() ) + { + IPhysicsObject *pOther = pSnapshot->GetObject(1); + CBaseEntity *pOtherEntity = static_cast(pOther->GetGameData()); + if ( pOtherEntity->GetMoveType() == MOVETYPE_VPHYSICS ) + { + Vector normal; + pSnapshot->GetSurfaceNormal(normal); + float dot = DotProduct( pParentEntity->GetAbsVelocity(), pSnapshot->GetNormalForce() * normal ); + if ( !pPhysicsBlocker || dot > maxForce ) + { + pPhysicsBlocker = pOtherEntity; + maxForce = dot; + } + } + pSnapshot->NextFrictionData(); + } + pPhysics->DestroyFrictionSnapshot( pSnapshot ); + } + } + return pPhysicsBlocker; +} + +//----------------------------------------------------------------------------- +// Purpose: Called when we are blocked by another entity. +// Input : pOther - +//----------------------------------------------------------------------------- +void CFuncTrackTrain::Blocked( CBaseEntity *pOther ) +{ + // Blocker is on-ground on the train + if ( ( pOther->GetFlags() & FL_ONGROUND ) && pOther->GetGroundEntity() == this ) + { + DevMsg( 1, "TRAIN(%s): Blocked by %s\n", GetDebugName(), pOther->GetClassname() ); + float deltaSpeed = fabs(m_flSpeed); + if ( deltaSpeed > 50 ) + deltaSpeed = 50; + + Vector vecNewVelocity; + pOther->GetVelocity( &vecNewVelocity ); + if ( !vecNewVelocity.z ) + { + pOther->ApplyAbsVelocityImpulse( Vector(0,0,deltaSpeed) ); + } + return; + } + else + { + Vector vecNewVelocity; + vecNewVelocity = pOther->GetAbsOrigin() - GetAbsOrigin(); + VectorNormalize(vecNewVelocity); + vecNewVelocity *= m_flBlockDamage; + pOther->SetAbsVelocity( vecNewVelocity ); + } + if ( HasSpawnFlags(SF_TRACKTRAIN_UNBLOCKABLE_BY_PLAYER) ) + { + CBaseEntity *pPhysicsBlocker = FindPhysicsBlockerForHierarchy(this); + if ( pPhysicsBlocker ) + { + // This code keeps track of how long this train has been blocked + // The heuristic here is to keep instantaneous blocks from invoking the somewhat + // heavy-handed solver (which will disable collisions until we're clear) in cases + // where physics can solve it easily enough. + int ticksBlocked = gpGlobals->tickcount - m_lastBlockTick; + float dist = 0.0f; + // wait at least 10 ticks and make sure the train isn't actually moving before really blocking + const int MIN_BLOCKED_TICKS = 10; + if ( ticksBlocked > MIN_BLOCKED_TICKS ) + { + dist = (GetAbsOrigin() - m_lastBlockPos).Length(); + // must have moved at least 10% of normal velocity over the blocking interval, or we're being blocked + float minLength = GetAbsVelocity().Length() * TICK_INTERVAL * MIN_BLOCKED_TICKS * 0.10f; + if ( dist < minLength ) + { + // been stuck for more than one tick without moving much? + // yes, disable collisions with the physics object most likely to be blocking us + EntityPhysics_CreateSolver( this, pPhysicsBlocker, true, 4.0f ); + } + } + // first time blocking or moved too far since last block, reset + if ( dist > 1.0f || m_lastBlockTick < 0 ) + { + m_lastBlockPos = GetAbsOrigin(); + m_lastBlockTick = gpGlobals->tickcount; + } + } + // unblockable shouldn't damage the player in this case + if ( pOther->IsPlayer() ) + return; + } + + DevWarning( 2, "TRAIN(%s): Blocked by %s (dmg:%.2f)\n", GetDebugName(), pOther->GetClassname(), m_flBlockDamage ); + if ( m_flBlockDamage <= 0 ) + return; + + // we can't hurt this thing, so we're not concerned with it + pOther->TakeDamage( CTakeDamageInfo( this, this, m_flBlockDamage, DMG_CRUSH ) ); +} + + +extern void FixupAngles( QAngle &v ); + +#define TRAIN_MAXSPEED 1000 // approx max speed for sound pitch calculation + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CFuncTrackTrain::SoundStop( void ) +{ + // if sound playing, stop it + if ( m_bSoundPlaying ) + { + if ( m_iszSoundMove != NULL_STRING ) + { + StopSound( entindex(), CHAN_STATIC, STRING( m_iszSoundMove ) ); + } + + if ( m_iszSoundStop != NULL_STRING ) + { + CPASAttenuationFilter filter( this ); + + EmitSound_t ep; + ep.m_nChannel = CHAN_ITEM; + ep.m_pSoundName = STRING(m_iszSoundStop); + ep.m_flVolume = m_flVolume; + ep.m_SoundLevel = SNDLVL_NORM; + + EmitSound( filter, entindex(), ep ); + } + } + + m_bSoundPlaying = false; +} + + +//----------------------------------------------------------------------------- +// Purpose: Update pitch based on speed, start sound if not playing. +// NOTE: when train goes through transition, m_bSoundPlaying should become +// false, which will cause the looped sound to restart. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::SoundUpdate( void ) +{ + if ( ( !m_iszSoundMove ) && ( !m_iszSoundStart ) && ( !m_iszSoundMovePing )) + { + return; + } + + // In multiplayer, only update the sound once a second + if ( g_pGameRules->IsMultiplayer() && m_bSoundPlaying ) + { + if ( m_flNextMPSoundTime > gpGlobals->curtime ) + return; + + m_flNextMPSoundTime = gpGlobals->curtime + 1.0; + } + + float flSpeedRatio = 0; + if ( HasSpawnFlags( SF_TRACKTRAIN_USE_MAXSPEED_FOR_PITCH ) ) + { + flSpeedRatio = clamp( fabs( m_flSpeed ) / m_maxSpeed, 0, 1 ); + } + else + { + flSpeedRatio = clamp( fabs( m_flSpeed ) / TRAIN_MAXSPEED, 0, 1 ); + } + + float flpitch = RemapVal( flSpeedRatio, 0, 1, m_nMoveSoundMinPitch, m_nMoveSoundMaxPitch ); + + CPASAttenuationFilter filter( this ); + CPASAttenuationFilter filterReliable( this ); + filterReliable.MakeReliable(); + + Vector vecWorldSpaceCenter = WorldSpaceCenter(); + + if (!m_bSoundPlaying) + { + if ( m_iszSoundStart != NULL_STRING ) + { + EmitSound_t ep; + ep.m_nChannel = CHAN_ITEM; + ep.m_pSoundName = STRING(m_iszSoundStart); + ep.m_flVolume = m_flVolume; + ep.m_SoundLevel = SNDLVL_NORM; + ep.m_pOrigin = &vecWorldSpaceCenter; + + EmitSound( filter, entindex(), ep ); + } + + if ( m_iszSoundMove != NULL_STRING ) + { + EmitSound_t ep; + ep.m_nChannel = CHAN_STATIC; + ep.m_pSoundName = STRING(m_iszSoundMove); + ep.m_flVolume = m_flVolume; + ep.m_SoundLevel = SNDLVL_NORM; + ep.m_nPitch = (int)flpitch; + ep.m_pOrigin = &vecWorldSpaceCenter; + + EmitSound( filterReliable, entindex(), ep ); + } + + // We've just started moving. Delay the next move ping sound. + m_flNextMoveSoundTime = gpGlobals->curtime + RemapVal( flSpeedRatio, 0, 1, m_flMoveSoundMaxTime, m_flMoveSoundMinTime ); + + m_bSoundPlaying = true; + } + else + { + if ( m_iszSoundMove != NULL_STRING ) + { + // update pitch + EmitSound_t ep; + ep.m_nChannel = CHAN_STATIC; + ep.m_pSoundName = STRING(m_iszSoundMove); + ep.m_flVolume = m_flVolume; + ep.m_SoundLevel = SNDLVL_NORM; + ep.m_nPitch = (int)flpitch; + ep.m_nFlags = SND_CHANGE_PITCH; + ep.m_pOrigin = &vecWorldSpaceCenter; + + // In multiplayer, don't make this reliable + if ( g_pGameRules->IsMultiplayer() ) + { + EmitSound( filter, entindex(), ep ); + } + else + { + EmitSound( filterReliable, entindex(), ep ); + } + } + + if ( ( m_iszSoundMovePing != NULL_STRING ) && ( gpGlobals->curtime > m_flNextMoveSoundTime ) ) + { + EmitSound(STRING(m_iszSoundMovePing)); + m_flNextMoveSoundTime = gpGlobals->curtime + RemapVal( flSpeedRatio, 0, 1, m_flMoveSoundMaxTime, m_flMoveSoundMinTime ); + } + } +} + + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *pNode - +//----------------------------------------------------------------------------- +void CFuncTrackTrain::ArriveAtNode( CPathTrack *pNode ) +{ + // BUGBUG: This is wrong. We need to fire all targets between the one we've passed and the one + // we've switched to. + FirePassInputs( pNode, pNode->GetNext(), true ); + + // + // Disable train controls if this path track says to do so. + // + if ( pNode->HasSpawnFlags( SF_PATH_DISABLE_TRAIN ) ) + { + m_spawnflags |= SF_TRACKTRAIN_NOCONTROL; + } + + // + // Don't override the train speed if it's under user control. + // + if ( m_spawnflags & SF_TRACKTRAIN_NOCONTROL ) + { + // + // Don't copy speed from path track if it is 0 (uninitialized). + // + if ( pNode->m_flSpeed != 0 ) + { + SetSpeed( pNode->m_flSpeed ); + DevMsg( 2, "TrackTrain %s arrived at %s, speed to %4.2f\n", GetDebugName(), pNode->GetDebugName(), pNode->m_flSpeed ); + } + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Controls how the train accelerates as it moves along the path. +//----------------------------------------------------------------------------- +TrainVelocityType_t CFuncTrackTrain::GetTrainVelocityType() +{ + return m_eVelocityType; +} + + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *pnext - +//----------------------------------------------------------------------------- +void CFuncTrackTrain::UpdateTrainVelocity( CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval ) +{ + switch ( GetTrainVelocityType() ) + { + case TrainVelocity_Instantaneous: + { + Vector velDesired = nextPos - GetLocalOrigin(); + VectorNormalize( velDesired ); + velDesired *= fabs( m_flSpeed ); + SetLocalVelocity( velDesired ); + break; + } + + case TrainVelocity_LinearBlend: + case TrainVelocity_EaseInEaseOut: + { + if ( m_bAccelToSpeed ) + { + float flPrevSpeed = m_flSpeed; + float flNextSpeed = m_flDesiredSpeed; + + if ( flPrevSpeed != flNextSpeed ) + { + float flSpeedChangeTime = ( fabs(flNextSpeed) > fabs(flPrevSpeed) ) ? m_flAccelSpeed : m_flDecelSpeed; + m_flSpeed = UTIL_Approach( m_flDesiredSpeed, m_flSpeed, flSpeedChangeTime * gpGlobals->frametime ); + } + } + else if ( pPrev && pNext ) + { + // Get the speed to blend from. + float flPrevSpeed = m_flSpeed; + if ( pPrev->m_flSpeed != 0 ) + { + flPrevSpeed = pPrev->m_flSpeed; + } + + // Get the speed to blend to. + float flNextSpeed = flPrevSpeed; + if ( pNext->m_flSpeed != 0 ) + { + flNextSpeed = pNext->m_flSpeed; + } + + // If they're different, do the blend. + if ( flPrevSpeed != flNextSpeed ) + { + Vector vecSegment = pNext->GetLocalOrigin() - pPrev->GetLocalOrigin(); + float flSegmentLen = vecSegment.Length(); + if ( flSegmentLen ) + { + Vector vecCurOffset = GetLocalOrigin() - pPrev->GetLocalOrigin(); + float p = vecCurOffset.Length() / flSegmentLen; + if ( GetTrainVelocityType() == TrainVelocity_EaseInEaseOut ) + { + p = SimpleSplineRemapVal( p, 0.0f, 1.0f, 0.0f, 1.0f ); + } + + m_flSpeed = m_dir * ( flPrevSpeed * ( 1 - p ) + flNextSpeed * p ); + } + } + else + { + m_flSpeed = m_dir * flPrevSpeed; + } + } + + Vector velDesired = nextPos - GetLocalOrigin(); + VectorNormalize( velDesired ); + velDesired *= fabs( m_flSpeed ); + SetLocalVelocity( velDesired ); + break; + } + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Controls how the train blends angles as it moves along the path. +//----------------------------------------------------------------------------- +TrainOrientationType_t CFuncTrackTrain::GetTrainOrientationType() +{ +#ifdef HL1_DLL + return TrainOrientation_AtPathTracks; +#else + return m_eOrientationType; +#endif +} + + +//----------------------------------------------------------------------------- +// Purpose: +// Input : pnext - +//----------------------------------------------------------------------------- +void CFuncTrackTrain::UpdateTrainOrientation( CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval ) +{ + // FIXME: old way of doing fixed orienation trains, remove! + if ( HasSpawnFlags( SF_TRACKTRAIN_FIXED_ORIENTATION ) ) + return; + + // Trains *can* work in local space, but only if all elements of the track share + // the same move parent as the train. + Assert( !pPrev || (pPrev->GetMoveParent() == GetMoveParent()) ); + + switch ( GetTrainOrientationType() ) + { + case TrainOrientation_Fixed: + { + // Fixed orientation. Do nothing. + break; + } + + case TrainOrientation_AtPathTracks: + { + UpdateOrientationAtPathTracks( pPrev, pNext, nextPos, flInterval ); + break; + } + + case TrainOrientation_EaseInEaseOut: + case TrainOrientation_LinearBlend: + { + UpdateOrientationBlend( GetTrainOrientationType(), pPrev, pNext, nextPos, flInterval ); + break; + } + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Adjusts our angles as we hit each path track. This is for support of +// trains with wheels that round corners a la HL1 trains. +// FIXME: move into path_track, have the angles come back from LookAhead +//----------------------------------------------------------------------------- +void CFuncTrackTrain::UpdateOrientationAtPathTracks( CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval ) +{ + if ( !m_ppath ) + return; + + Vector nextFront = GetLocalOrigin(); + + CPathTrack *pNextNode = NULL; + + nextFront.z -= m_height; + if ( m_length > 0 ) + { + m_ppath->LookAhead( nextFront, IsDirForward() ? m_length : -m_length, 0, &pNextNode ); + } + else + { + m_ppath->LookAhead( nextFront, IsDirForward() ? 100 : -100, 0, &pNextNode ); + } + nextFront.z += m_height; + + Vector vecFaceDir = nextFront - GetLocalOrigin(); + if ( !IsDirForward() ) + { + vecFaceDir *= -1; + } + QAngle angles; + VectorAngles( vecFaceDir, angles ); + // !!! All of this crap has to be done to make the angles not wrap around, revisit this. + FixupAngles( angles ); + + // Wrapped with this bool so we don't affect old trains + if ( m_bManualSpeedChanges ) + { + if ( pNextNode && pNextNode->GetOrientationType() == TrackOrientation_FacePathAngles ) + { + angles = pNextNode->GetOrientation( IsDirForward() ); + } + } + + QAngle curAngles = GetLocalAngles(); + FixupAngles( curAngles ); + + if ( !pPrev || (vecFaceDir.x == 0 && vecFaceDir.y == 0) ) + angles = curAngles; + + DoUpdateOrientation( curAngles, angles, flInterval ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Blends our angles using one of two orientation blending types. +// ASSUMES that eOrientationType is either LinearBlend or EaseInEaseOut. +// FIXME: move into path_track, have the angles come back from LookAhead +//----------------------------------------------------------------------------- +void CFuncTrackTrain::UpdateOrientationBlend( TrainOrientationType_t eOrientationType, CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval ) +{ + // Get the angles to blend from. + QAngle angPrev = pPrev->GetOrientation( IsDirForward() ); + FixupAngles( angPrev ); + + // Get the angles to blend to. + QAngle angNext; + if ( pNext ) + { + angNext = pNext->GetOrientation( IsDirForward() ); + FixupAngles( angNext ); + } + else + { + // At a dead end, just use the last path track's angles. + angNext = angPrev; + } + + if ( m_spawnflags & SF_TRACKTRAIN_NOPITCH ) + { + angNext[PITCH] = angPrev[PITCH]; + } + + // Calculate our parametric distance along the path segment from 0 to 1. + float p = 0; + if ( pPrev && ( angPrev != angNext ) ) + { + Vector vecSegment = pNext->GetLocalOrigin() - pPrev->GetLocalOrigin(); + float flSegmentLen = vecSegment.Length(); + if ( flSegmentLen ) + { + Vector vecCurOffset = GetLocalOrigin() - pPrev->GetLocalOrigin(); + p = vecCurOffset.Length() / flSegmentLen; + } + } + + if ( eOrientationType == TrainOrientation_EaseInEaseOut ) + { + p = SimpleSplineRemapVal( p, 0.0f, 1.0f, 0.0f, 1.0f ); + } + + //Msg( "UpdateOrientationFacePathAngles: %s->%s, p=%f, ", pPrev->GetDebugName(), pNext->GetDebugName(), p ); + + Quaternion qtPrev; + Quaternion qtNext; + + AngleQuaternion( angPrev, qtPrev ); + AngleQuaternion( angNext, qtNext ); + + QAngle angNew = angNext; + float flAngleDiff = QuaternionAngleDiff( qtPrev, qtNext ); + if ( flAngleDiff ) + { + Quaternion qtNew; + QuaternionSlerp( qtPrev, qtNext, p, qtNew ); + QuaternionAngles( qtNew, angNew ); + } + + if ( m_spawnflags & SF_TRACKTRAIN_NOPITCH ) + { + angNew[PITCH] = angPrev[PITCH]; + } + + DoUpdateOrientation( GetLocalAngles(), angNew, flInterval ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Sets our angular velocity to approach the target angles over the given interval. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::DoUpdateOrientation( const QAngle &curAngles, const QAngle &angles, float flInterval ) +{ + float vy, vx; + if ( !(m_spawnflags & SF_TRACKTRAIN_NOPITCH) ) + { + vx = UTIL_AngleDistance( angles.x, curAngles.x ); + } + else + { + vx = 0; + } + + vy = UTIL_AngleDistance( angles.y, curAngles.y ); + + // HACKHACK: Clamp really small angular deltas to avoid rotating movement on things + // that are close enough + if ( fabs(vx) < 0.1 ) + { + vx = 0; + } + if ( fabs(vy) < 0.1 ) + { + vy = 0; + } + + if ( flInterval == 0 ) + { + // Avoid dividing by zero + flInterval = 0.1; + } + + QAngle vecAngVel( vx / flInterval, vy / flInterval, GetLocalAngularVelocity().z ); + + if ( m_flBank != 0 ) + { + if ( vecAngVel.y < -5 ) + { + vecAngVel.z = UTIL_AngleDistance( UTIL_ApproachAngle( -m_flBank, curAngles.z, m_flBank*2 ), curAngles.z); + } + else if ( vecAngVel.y > 5 ) + { + vecAngVel.z = UTIL_AngleDistance( UTIL_ApproachAngle( m_flBank, curAngles.z, m_flBank*2 ), curAngles.z); + } + else + { + vecAngVel.z = UTIL_AngleDistance( UTIL_ApproachAngle( 0, curAngles.z, m_flBank*4 ), curAngles.z) * 4; + } + } + + SetLocalAngularVelocity( vecAngVel ); +} + + +//----------------------------------------------------------------------------- +// Purpose: +// Input : pTeleport - +//----------------------------------------------------------------------------- +void CFuncTrackTrain::TeleportToPathTrack( CPathTrack *pTeleport ) +{ + QAngle angCur = GetLocalAngles(); + + Vector nextPos = pTeleport->GetLocalOrigin(); + Vector look = nextPos; + pTeleport->LookAhead( look, m_length, 0 ); + + QAngle nextAngles; + if ( HasSpawnFlags( SF_TRACKTRAIN_FIXED_ORIENTATION ) || ( look == nextPos ) ) + { + nextAngles = GetLocalAngles(); + } + else + { + nextAngles = pTeleport->GetOrientation( IsDirForward() ); + if ( HasSpawnFlags( SF_TRACKTRAIN_NOPITCH ) ) + { + nextAngles[PITCH] = angCur[PITCH]; + } + } + + Teleport( &pTeleport->GetLocalOrigin(), &nextAngles, NULL ); + SetLocalAngularVelocity( vec3_angle ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Advances the train to the next path corner on the path. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::Next( void ) +{ + if ( !m_flSpeed ) + { + DevMsg( 2, "TRAIN(%s): Speed is 0\n", GetDebugName() ); + SoundStop(); + return; + } + + if ( !m_ppath ) + { + DevMsg( 2, "TRAIN(%s): Lost path\n", GetDebugName() ); + SoundStop(); + m_flSpeed = 0; + return; + } + + SoundUpdate(); + + // + // Based on our current position and speed, look ahead along our path and see + // where we should be in 0.1 seconds. + // + Vector nextPos = GetLocalOrigin(); + float flSpeed = m_flSpeed; + + nextPos.z -= m_height; + CPathTrack *pNextNext = NULL; + CPathTrack *pNext = m_ppath->LookAhead( nextPos, flSpeed * 0.1, 1, &pNextNext ); + //Assert( pNext != NULL ); + + // If we're moving towards a dead end, but our desired speed goes in the opposite direction + // this fixes us from stalling + if ( m_bManualSpeedChanges && ( ( flSpeed < 0 ) != ( m_flDesiredSpeed < 0 ) ) ) + { + if ( !pNext ) + pNext = m_ppath; + } + + if (m_debugOverlays & OVERLAY_BBOX_BIT) + { + if ( pNext != NULL ) + { + NDebugOverlay::Line( GetAbsOrigin(), pNext->GetAbsOrigin(), 255, 0, 0, true, 0.1 ); + NDebugOverlay::Line( pNext->GetAbsOrigin(), pNext->GetAbsOrigin() + Vector( 0,0,32), 255, 0, 0, true, 0.1 ); + NDebugOverlay::Box( pNext->GetAbsOrigin(), Vector( -8, -8, -8 ), Vector( 8, 8, 8 ), 255, 0, 0, 0, 0.1 ); + } + + if ( pNextNext != NULL ) + { + NDebugOverlay::Line( GetAbsOrigin(), pNextNext->GetAbsOrigin(), 0, 255, 0, true, 0.1 ); + NDebugOverlay::Line( pNextNext->GetAbsOrigin(), pNextNext->GetAbsOrigin() + Vector( 0,0,32), 0, 255, 0, true, 0.1 ); + NDebugOverlay::Box( pNextNext->GetAbsOrigin(), Vector( -8, -8, -8 ), Vector( 8, 8, 8 ), 0, 255, 0, 0, 0.1 ); + } + } + + nextPos.z += m_height; + + // Trains *can* work in local space, but only if all elements of the track share + // the same move parent as the train. + Assert( !pNext || (pNext->GetMoveParent() == GetMoveParent()) ); + + if ( pNext ) + { + UpdateTrainVelocity( pNext, pNextNext, nextPos, gpGlobals->frametime ); + UpdateTrainOrientation( pNext, pNextNext, nextPos, gpGlobals->frametime ); + + if ( pNext != m_ppath ) + { + // + // We have reached a new path track. Fire its OnPass output. + // + m_ppath = pNext; + ArriveAtNode( pNext ); +#ifdef HL1_DLL + m_bOnTrackChange = false; +#endif + + // + // See if we should teleport to the next path track. + // + CPathTrack *pTeleport = pNext->GetNext(); + if ( ( pTeleport != NULL ) && pTeleport->HasSpawnFlags( SF_PATH_TELEPORT ) ) + { + TeleportToPathTrack( pTeleport ); + } + } + + m_OnNext.FireOutput( pNext, this ); + + SetThink( &CFuncTrackTrain::Next ); + SetMoveDoneTime( 0.5 ); + SetNextThink( gpGlobals->curtime ); + SetMoveDone( NULL ); + } + else + { + // + // We've reached the end of the path, stop. + // + SoundStop(); + SetLocalVelocity(nextPos - GetLocalOrigin()); + SetLocalAngularVelocity( vec3_angle ); + float distance = GetLocalVelocity().Length(); + m_oldSpeed = m_flSpeed; + + m_flSpeed = 0; + + // Move to the dead end + + // Are we there yet? + if ( distance > 0 ) + { + // no, how long to get there? + float flTime = distance / fabs( m_oldSpeed ); + SetLocalVelocity( GetLocalVelocity() * (m_oldSpeed / distance) ); + SetMoveDone( &CFuncTrackTrain::DeadEnd ); + SetNextThink( TICK_NEVER_THINK ); + SetMoveDoneTime( flTime ); + } + else + { + DeadEnd(); + } + } +} + + +void CFuncTrackTrain::FirePassInputs( CPathTrack *pStart, CPathTrack *pEnd, bool forward ) +{ + CPathTrack *pCurrent = pStart; + + // swap if going backward + if ( !forward ) + { + pCurrent = pEnd; + pEnd = pStart; + } + variant_t emptyVariant; + + while ( pCurrent && pCurrent != pEnd ) + { + //Msg("Fired pass on %s\n", STRING(pCurrent->GetEntityName()) ); + pCurrent->AcceptInput( "InPass", this, this, emptyVariant, 0 ); + pCurrent = forward ? pCurrent->GetNext() : pCurrent->GetPrevious(); + } +} + + +void CFuncTrackTrain::DeadEnd( void ) +{ + // Fire the dead-end target if there is one + CPathTrack *pTrack, *pNext; + + pTrack = m_ppath; + + DevMsg( 2, "TRAIN(%s): Dead end ", GetDebugName() ); + // Find the dead end path node + // HACKHACK -- This is bugly, but the train can actually stop moving at a different node depending on it's speed + // so we have to traverse the list to it's end. + if ( pTrack ) + { + if ( m_oldSpeed < 0 ) + { + do + { + pNext = pTrack->ValidPath( pTrack->GetPrevious(), true ); + if ( pNext ) + pTrack = pNext; + } while ( pNext ); + } + else + { + do + { + pNext = pTrack->ValidPath( pTrack->GetNext(), true ); + if ( pNext ) + pTrack = pNext; + } while ( pNext ); + } + } + + SetLocalVelocity( vec3_origin ); + SetLocalAngularVelocity( vec3_angle ); + if ( pTrack ) + { + DevMsg( 2, "at %s\n", pTrack->GetDebugName() ); + variant_t emptyVariant; + pTrack->AcceptInput( "InPass", this, this, emptyVariant, 0 ); + } + else + { + DevMsg( 2, "\n" ); + } +} + + +void CFuncTrackTrain::SetControls( CBaseEntity *pControls ) +{ + Vector offset = pControls->GetLocalOrigin(); + + m_controlMins = pControls->WorldAlignMins() + offset; + m_controlMaxs = pControls->WorldAlignMaxs() + offset; +} + + +//----------------------------------------------------------------------------- +// Purpose: Returns true if the entity's origin is within the controls region. +//----------------------------------------------------------------------------- +bool CFuncTrackTrain::OnControls( CBaseEntity *pTest ) +{ + Vector offset = pTest->GetLocalOrigin() - GetLocalOrigin(); + + if ( m_spawnflags & SF_TRACKTRAIN_NOCONTROL ) + return false; + + // Transform offset into local coordinates + VMatrix tmp = SetupMatrixAngles( GetLocalAngles() ); + // rotate into local space + Vector local = tmp.VMul3x3Transpose( offset ); + + /* + NDebugOverlay::Box( GetLocalOrigin(), m_controlMins, m_controlMaxs, + 255, 0, 0, 100, 5.0 ); + + NDebugOverlay::Box( GetLocalOrigin() + local, Vector(-5,-5,-5), Vector(5,5,5), + 0, 0, 255, 100, 5.0 ); + */ + + if ( local.x >= m_controlMins.x && local.y >= m_controlMins.y && local.z >= m_controlMins.z && + local.x <= m_controlMaxs.x && local.y <= m_controlMaxs.y && local.z <= m_controlMaxs.z ) + return true; + + return false; +} + + +void CFuncTrackTrain::Find( void ) +{ + m_ppath = (CPathTrack *)gEntList.FindEntityByName( NULL, m_target ); + if ( !m_ppath ) + return; + + if ( !FClassnameIs( m_ppath, "path_track" ) +#ifndef PORTAL //env_portal_path_track is a child of path_track and would like to get found + && !FClassnameIs( m_ppath, "env_portal_path_track" ) +#endif //#ifndef PORTAL + ) + { + Warning( "func_track_train must be on a path of path_track\n" ); + Assert(0); + m_ppath = NULL; + return; + } + + + + Vector nextPos = m_ppath->GetLocalOrigin(); + Vector look = nextPos; + m_ppath->LookAhead( look, m_length, 0 ); + nextPos.z += m_height; + look.z += m_height; + + QAngle nextAngles; + if ( HasSpawnFlags( SF_TRACKTRAIN_FIXED_ORIENTATION ) ) + { + nextAngles = GetLocalAngles(); + } + else + { + VectorAngles( look - nextPos, nextAngles ); + if ( HasSpawnFlags( SF_TRACKTRAIN_NOPITCH ) ) + { + nextAngles.x = 0; + } + } + + Teleport( &nextPos, &nextAngles, NULL ); + + ArriveAtNode( m_ppath ); + + if ( m_flSpeed != 0 ) + { + SetNextThink( gpGlobals->curtime + 0.1f ); + SetThink( &CFuncTrackTrain::Next ); + SoundUpdate(); + } +} + + +void CFuncTrackTrain::NearestPath( void ) +{ + CBaseEntity *pTrack = NULL; + CBaseEntity *pNearest = NULL; + float dist, closest; + + closest = 1024; + + for ( CEntitySphereQuery sphere( GetAbsOrigin(), 1024 ); ( pTrack = sphere.GetCurrentEntity() ) != NULL; sphere.NextEntity() ) + { + // filter out non-tracks + if ( !(pTrack->GetFlags() & (FL_CLIENT|FL_NPC)) && FClassnameIs( pTrack, "path_track" ) ) + { + dist = (GetAbsOrigin() - pTrack->GetAbsOrigin()).Length(); + if ( dist < closest ) + { + closest = dist; + pNearest = pTrack; + } + } + } + + if ( !pNearest ) + { + Msg( "Can't find a nearby track !!!\n" ); + SetThink(NULL); + return; + } + + DevMsg( 2, "TRAIN: %s, Nearest track is %s\n", GetDebugName(), pNearest->GetDebugName() ); + // If I'm closer to the next path_track on this path, then it's my real path + pTrack = ((CPathTrack *)pNearest)->GetNext(); + if ( pTrack ) + { + if ( (GetLocalOrigin() - pTrack->GetLocalOrigin()).Length() < (GetLocalOrigin() - pNearest->GetLocalOrigin()).Length() ) + pNearest = pTrack; + } + + m_ppath = (CPathTrack *)pNearest; + + if ( m_flSpeed != 0 ) + { + SetMoveDoneTime( 0.1 ); + SetMoveDone( &CFuncTrackTrain::Next ); + } +} + +void CFuncTrackTrain::OnRestore( void ) +{ + BaseClass::OnRestore(); + if ( !m_ppath +#ifdef HL1_DLL + && !m_bOnTrackChange +#endif + ) + { + NearestPath(); + SetThink( NULL ); + } +} + + +CFuncTrackTrain *CFuncTrackTrain::Instance( edict_t *pent ) +{ + CBaseEntity *pEntity = CBaseEntity::Instance( pent ); + if ( FClassnameIs( pEntity, "func_tracktrain" ) ) + return (CFuncTrackTrain *)pEntity; + return NULL; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CFuncTrackTrain::Spawn( void ) +{ + if ( m_maxSpeed == 0 ) + { + if ( m_flSpeed == 0 ) + { + m_maxSpeed = 100; + } + else + { + m_maxSpeed = m_flSpeed; + } + } + + if ( m_nMoveSoundMinPitch == 0 ) + { + m_nMoveSoundMinPitch = 60; + } + + if ( m_nMoveSoundMaxPitch == 0 ) + { + m_nMoveSoundMaxPitch = 200; + } + + SetLocalVelocity(vec3_origin); + SetLocalAngularVelocity( vec3_angle ); + + m_dir = 1; + + if ( !m_target ) + { + Msg("FuncTrackTrain '%s' has no target.\n", GetDebugName()); + } + + SetModel( STRING( GetModelName() ) ); + SetMoveType( MOVETYPE_PUSH ); + +#ifdef HL1_DLL + // BUGBUG: For now, just force this for testing. Remove if we want to tag all of the trains in the levels + SetSolid( SOLID_BSP ); +#else + SetSolid( HasSpawnFlags( SF_TRACKTRAIN_HL1TRAIN ) ? SOLID_BSP : SOLID_VPHYSICS ); + //SetSolid( SOLID_VPHYSICS ); +#endif + + if ( HasSpawnFlags( SF_TRACKTRAIN_UNBLOCKABLE_BY_PLAYER ) ) + { + AddFlag( FL_UNBLOCKABLE_BY_PLAYER ); + } + if ( m_spawnflags & SF_TRACKTRAIN_PASSABLE ) + { + AddSolidFlags( FSOLID_NOT_SOLID ); + } + + m_controlMins = CollisionProp()->OBBMins(); + m_controlMaxs = CollisionProp()->OBBMaxs(); + m_controlMaxs.z += 72; +// start trains on the next frame, to make sure their targets have had +// a chance to spawn/activate + SetThink( &CFuncTrackTrain::Find ); + SetNextThink( gpGlobals->curtime ); + Precache(); + + CreateVPhysics(); +} + + +bool CFuncTrackTrain::CreateVPhysics( void ) +{ + VPhysicsInitShadow( false, false ); + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: Precaches the train sounds. +//----------------------------------------------------------------------------- +void CFuncTrackTrain::Precache( void ) +{ + if (m_flVolume == 0.0) + { + m_flVolume = 1.0; + } + + if ( m_iszSoundMove != NULL_STRING ) + { + PrecacheScriptSound( STRING( m_iszSoundMove ) ); + } + + if ( m_iszSoundMovePing != NULL_STRING ) + { + PrecacheScriptSound( STRING( m_iszSoundMovePing ) ); + } + + if ( m_iszSoundStart != NULL_STRING ) + { + PrecacheScriptSound( STRING( m_iszSoundStart ) ); + } + + if ( m_iszSoundStop != NULL_STRING ) + { + PrecacheScriptSound( STRING( m_iszSoundStop ) ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CFuncTrackTrain::UpdateOnRemove() +{ + SoundStop(); + BaseClass::UpdateOnRemove(); +} + +void CFuncTrackTrain::MoveDone() +{ + m_lastBlockPos.Init(); + m_lastBlockTick = -1; + BaseClass::MoveDone(); +} + + + +//----------------------------------------------------------------------------- +// Purpose: Defines the volume of space that the player must stand in to +// control the train +//----------------------------------------------------------------------------- +class CFuncTrainControls : public CBaseEntity +{ + DECLARE_CLASS( CFuncTrainControls, CBaseEntity ); +public: + void Spawn( void ); + void Find( void ); + + DECLARE_DATADESC(); +}; + +BEGIN_DATADESC( CFuncTrainControls ) + + // Function Pointers + DEFINE_FUNCTION( Find ), + +END_DATADESC() + +LINK_ENTITY_TO_CLASS( func_traincontrols, CFuncTrainControls ); + + +void CFuncTrainControls::Find( void ) +{ + CBaseEntity *pTarget = NULL; + + do + { + pTarget = gEntList.FindEntityByName( pTarget, m_target ); + } while ( pTarget && !FClassnameIs(pTarget, "func_tracktrain") ); + + if ( !pTarget ) + { + Msg( "No train %s\n", STRING(m_target) ); + return; + } + + CFuncTrackTrain *ptrain = (CFuncTrackTrain*) pTarget; + ptrain->SetControls( this ); + + SetThink( NULL ); +} + + +void CFuncTrainControls::Spawn( void ) +{ + SetSolid( SOLID_NONE ); + SetMoveType( MOVETYPE_NONE ); + SetModel( STRING( GetModelName() ) ); + AddEffects( EF_NODRAW ); + + Assert( GetParent() && "func_traincontrols needs parent to properly align to train" ); + + SetThink( &CFuncTrainControls::Find ); + SetNextThink( gpGlobals->curtime ); +} + + +#define SF_TRACK_ACTIVATETRAIN 0x00000001 +#define SF_TRACK_RELINK 0x00000002 +#define SF_TRACK_ROTMOVE 0x00000004 +#define SF_TRACK_STARTBOTTOM 0x00000008 +#define SF_TRACK_DONT_MOVE 0x00000010 + + +typedef enum { TRAIN_SAFE, TRAIN_BLOCKING, TRAIN_FOLLOWING } TRAIN_CODE; + + +//----------------------------------------------------------------------------- +// This entity is a rotating/moving platform that will carry a train to a new track. +// It must be larger in X-Y planar area than the train, since it must contain the +// train within these dimensions in order to operate when the train is near it. +//----------------------------------------------------------------------------- +class CFuncTrackChange : public CFuncPlatRot +{ + DECLARE_CLASS( CFuncTrackChange, CFuncPlatRot ); +public: + void Spawn( void ); + void Precache( void ); + +// virtual void Blocked( void ); + virtual void GoUp( void ); + virtual void GoDown( void ); + + void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); + void Find( void ); + TRAIN_CODE EvaluateTrain( CPathTrack *pcurrent ); + void UpdateTrain( QAngle &dest ); + virtual void HitBottom( void ); + virtual void HitTop( void ); + void Touch( CBaseEntity *pOther ); + virtual void UpdateAutoTargets( int toggleState ); + virtual bool IsTogglePlat( void ) { return true; } + + void DisableUse( void ) { m_use = 0; } + void EnableUse( void ) { m_use = 1; } + int UseEnabled( void ) { return m_use; } + + DECLARE_DATADESC(); + + CPathTrack *m_trackTop; + CPathTrack *m_trackBottom; + + CFuncTrackTrain *m_train; + + string_t m_trackTopName; + string_t m_trackBottomName; + string_t m_trainName; + TRAIN_CODE m_code; + int m_targetState; + int m_use; +}; + +LINK_ENTITY_TO_CLASS( func_trackchange, CFuncTrackChange ); + +BEGIN_DATADESC( CFuncTrackChange ) + + DEFINE_GLOBAL_FIELD( m_trackTop, FIELD_CLASSPTR ), + DEFINE_GLOBAL_FIELD( m_trackBottom, FIELD_CLASSPTR ), + DEFINE_GLOBAL_FIELD( m_train, FIELD_CLASSPTR ), + DEFINE_GLOBAL_KEYFIELD( m_trackTopName, FIELD_STRING, "toptrack" ), + DEFINE_GLOBAL_KEYFIELD( m_trackBottomName, FIELD_STRING, "bottomtrack" ), + DEFINE_GLOBAL_KEYFIELD( m_trainName, FIELD_STRING, "train" ), + DEFINE_FIELD( m_code, FIELD_INTEGER ), + DEFINE_FIELD( m_targetState, FIELD_INTEGER ), + DEFINE_FIELD( m_use, FIELD_INTEGER ), + + // Function Pointers + DEFINE_FUNCTION( Find ), + +END_DATADESC() + + +void CFuncTrackChange::Spawn( void ) +{ + Setup(); + if ( FBitSet( m_spawnflags, SF_TRACK_DONT_MOVE ) ) + m_vecPosition2.z = GetLocalOrigin().z; + + SetupRotation(); + + if ( FBitSet( m_spawnflags, SF_TRACK_STARTBOTTOM ) ) + { + UTIL_SetOrigin( this, m_vecPosition2); + m_toggle_state = TS_AT_BOTTOM; + SetLocalAngles( m_start ); + m_targetState = TS_AT_TOP; + } + else + { + UTIL_SetOrigin( this, m_vecPosition1); + m_toggle_state = TS_AT_TOP; + SetLocalAngles( m_end ); + m_targetState = TS_AT_BOTTOM; + } + + EnableUse(); + SetThink( &CFuncTrackChange::Find ); + SetNextThink( gpGlobals->curtime + 2 ); + Precache(); +} + + +void CFuncTrackChange::Precache( void ) +{ + BaseClass::Precache(); + + PrecacheScriptSound( "FuncTrackChange.Blocking" ); +} + + +// UNDONE: Filter touches before re-evaluating the train. +void CFuncTrackChange::Touch( CBaseEntity *pOther ) +{ +} + + +void CFuncTrackChange::Find( void ) +{ + // Find track entities + CBaseEntity *target; + + target = gEntList.FindEntityByName( NULL, m_trackTopName ); + if ( target ) + { + m_trackTop = (CPathTrack*) target; + target = gEntList.FindEntityByName( NULL, m_trackBottomName ); + if ( target ) + { + m_trackBottom = (CPathTrack*) target; + target = gEntList.FindEntityByName( NULL, m_trainName ); + if ( target ) + { + m_train = (CFuncTrackTrain *)gEntList.FindEntityByName( NULL, m_trainName ); + if ( !m_train ) + { + Warning( "Can't find train for track change! %s\n", STRING(m_trainName) ); + Assert(0); + return; + } + Vector center = WorldSpaceCenter(); + m_trackBottom = m_trackBottom->Nearest( center ); + m_trackTop = m_trackTop->Nearest( center ); + UpdateAutoTargets( m_toggle_state ); + SetThink( NULL ); + return; + } + else + { + Warning( "Can't find train for track change! %s\n", STRING(m_trainName) ); + Assert(0); + target = gEntList.FindEntityByName( NULL, m_trainName ); + } + } + else + { + Warning( "Can't find bottom track for track change! %s\n", STRING(m_trackBottomName) ); + Assert(0); + } + } + else + { + Warning( "Can't find top track for track change! %s\n", STRING(m_trackTopName) ); + Assert(0); + } +} + + +TRAIN_CODE CFuncTrackChange::EvaluateTrain( CPathTrack *pcurrent ) +{ + // Go ahead and work, we don't have anything to switch, so just be an elevator + if ( !pcurrent || !m_train ) + return TRAIN_SAFE; + + if ( m_train->m_ppath == pcurrent || (pcurrent->m_pprevious && m_train->m_ppath == pcurrent->m_pprevious) || + (pcurrent->m_pnext && m_train->m_ppath == pcurrent->m_pnext) ) + { + if ( m_train->m_flSpeed != 0 ) + return TRAIN_BLOCKING; + + Vector dist = GetLocalOrigin() - m_train->GetLocalOrigin(); + float length = dist.Length2D(); + if ( length < m_train->m_length ) // Empirically determined close distance + return TRAIN_FOLLOWING; + else if ( length > (150 + m_train->m_length) ) + return TRAIN_SAFE; + + return TRAIN_BLOCKING; + } + + return TRAIN_SAFE; +} + + +void CFuncTrackChange::UpdateTrain( QAngle &dest ) +{ + float time = GetMoveDoneTime(); + + m_train->SetAbsVelocity( GetAbsVelocity() ); + m_train->SetLocalAngularVelocity( GetLocalAngularVelocity() ); + m_train->SetMoveDoneTime( time ); + + // Attempt at getting the train to rotate properly around the origin of the trackchange + if ( time <= 0 ) + return; + + Vector offset = m_train->GetLocalOrigin() - GetLocalOrigin(); + QAngle delta = dest - GetLocalAngles(); + // Transform offset into local coordinates + Vector forward, right, up; + AngleVectorsTranspose( delta, &forward, &right, &up ); + Vector local; + local.x = DotProduct( offset, forward ); + local.y = DotProduct( offset, right ); + local.z = DotProduct( offset, up ); + + local = local - offset; + m_train->SetAbsVelocity( GetAbsVelocity() + (local * (1.0/time)) ); +} + + +void CFuncTrackChange::GoDown( void ) +{ + if ( m_code == TRAIN_BLOCKING ) + return; + + // HitBottom may get called during CFuncPlat::GoDown(), so set up for that + // before you call GoDown() + + UpdateAutoTargets( TS_GOING_DOWN ); + // If ROTMOVE, move & rotate + if ( FBitSet( m_spawnflags, SF_TRACK_DONT_MOVE ) ) + { + SetMoveDone( &CFuncTrackChange::CallHitBottom ); + m_toggle_state = TS_GOING_DOWN; + AngularMove( m_start, m_flSpeed ); + } + else + { + BaseClass::GoDown(); + SetMoveDone( &CFuncTrackChange::CallHitBottom ); + RotMove( m_start, GetMoveDoneTime() ); + } + // Otherwise, rotate first, move second + + // If the train is moving with the platform, update it + if ( m_code == TRAIN_FOLLOWING ) + { + UpdateTrain( m_start ); + m_train->m_ppath = NULL; +#ifdef HL1_DLL + m_train->m_bOnTrackChange = true; +#endif + } +} + + +// +// Platform is at bottom, now starts moving up +// +void CFuncTrackChange::GoUp( void ) +{ + if ( m_code == TRAIN_BLOCKING ) + return; + + // HitTop may get called during CFuncPlat::GoUp(), so set up for that + // before you call GoUp(); + + UpdateAutoTargets( TS_GOING_UP ); + if ( FBitSet( m_spawnflags, SF_TRACK_DONT_MOVE ) ) + { + m_toggle_state = TS_GOING_UP; + SetMoveDone( &CFuncTrackChange::CallHitTop ); + AngularMove( m_end, m_flSpeed ); + } + else + { + // If ROTMOVE, move & rotate + BaseClass::GoUp(); + SetMoveDone( &CFuncTrackChange::CallHitTop ); + RotMove( m_end, GetMoveDoneTime() ); + } + + // Otherwise, move first, rotate second + + // If the train is moving with the platform, update it + if ( m_code == TRAIN_FOLLOWING ) + { + UpdateTrain( m_end ); + m_train->m_ppath = NULL; + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Normal track change +// Input : toggleState - +//----------------------------------------------------------------------------- +void CFuncTrackChange::UpdateAutoTargets( int toggleState ) +{ + if ( !m_trackTop || !m_trackBottom ) + return; + + if ( toggleState == TS_AT_TOP ) + { + m_trackTop->RemoveSpawnFlags( SF_PATH_DISABLED ); + } + else + { + m_trackTop->AddSpawnFlags( SF_PATH_DISABLED ); + } + + if ( toggleState == TS_AT_BOTTOM ) + { + m_trackBottom->RemoveSpawnFlags( SF_PATH_DISABLED ); + } + else + { + m_trackBottom->AddSpawnFlags( SF_PATH_DISABLED ); + } +} + + +void CFuncTrackChange::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) +{ + if ( m_toggle_state != TS_AT_TOP && m_toggle_state != TS_AT_BOTTOM ) + return; + + // If train is in "safe" area, but not on the elevator, play alarm sound + if ( m_toggle_state == TS_AT_TOP ) + m_code = EvaluateTrain( m_trackTop ); + else if ( m_toggle_state == TS_AT_BOTTOM ) + m_code = EvaluateTrain( m_trackBottom ); + else + m_code = TRAIN_BLOCKING; + if ( m_code == TRAIN_BLOCKING ) + { + // Play alarm and return + EmitSound( "FuncTrackChange.Blocking" ); + return; + } + + // Otherwise, it's safe to move + // If at top, go down + // at bottom, go up + + DisableUse(); + if (m_toggle_state == TS_AT_TOP) + GoDown(); + else + GoUp(); +} + + +// +// Platform has hit bottom. Stops and waits forever. +// +void CFuncTrackChange::HitBottom( void ) +{ + BaseClass::HitBottom(); + if ( m_code == TRAIN_FOLLOWING ) + { +// UpdateTrain(); + m_train->SetTrack( m_trackBottom ); + } + SetMoveDone( NULL ); + SetMoveDoneTime( -1 ); + + UpdateAutoTargets( m_toggle_state ); + + EnableUse(); +} + + +// +// Platform has hit bottom. Stops and waits forever. +// +void CFuncTrackChange::HitTop( void ) +{ + BaseClass::HitTop(); + if ( m_code == TRAIN_FOLLOWING ) + { +// UpdateTrain(); + m_train->SetTrack( m_trackTop ); + } + + // Don't let the plat go back down + SetMoveDone( NULL ); + SetMoveDoneTime( -1 ); + UpdateAutoTargets( m_toggle_state ); + EnableUse(); +} + + +class CFuncTrackAuto : public CFuncTrackChange +{ + DECLARE_CLASS( CFuncTrackAuto, CFuncTrackChange ); +public: + void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); + virtual void UpdateAutoTargets( int toggleState ); + void TriggerTrackChange( inputdata_t &inputdata ); + + DECLARE_DATADESC(); +}; + +BEGIN_DATADESC( CFuncTrackAuto ) + DEFINE_INPUTFUNC( FIELD_VOID, "Trigger", TriggerTrackChange ), +END_DATADESC() + +LINK_ENTITY_TO_CLASS( func_trackautochange, CFuncTrackAuto ); + + +// Auto track change +void CFuncTrackAuto::UpdateAutoTargets( int toggleState ) +{ + CPathTrack *pTarget, *pNextTarget; + + if ( !m_trackTop || !m_trackBottom ) + return; + + if ( m_targetState == TS_AT_TOP ) + { + pTarget = m_trackTop->GetNext(); + pNextTarget = m_trackBottom->GetNext(); + } + else + { + pTarget = m_trackBottom->GetNext(); + pNextTarget = m_trackTop->GetNext(); + } + if ( pTarget ) + { + pTarget->RemoveSpawnFlags( SF_PATH_DISABLED ); + if ( m_code == TRAIN_FOLLOWING && m_train && m_train->m_flSpeed == 0 ) + { + m_train->SetSpeed( pTarget->m_flSpeed ); + m_train->Use( this, this, USE_SET, 0 ); + } + } + + if ( pNextTarget ) + { + pNextTarget->AddSpawnFlags( SF_PATH_DISABLED ); + } +} + + +void CFuncTrackAuto::TriggerTrackChange ( inputdata_t &inputdata ) +{ + CPathTrack *pTarget; + + if ( !UseEnabled() ) + return; + + if ( m_toggle_state == TS_AT_TOP ) + pTarget = m_trackTop; + else if ( m_toggle_state == TS_AT_BOTTOM ) + pTarget = m_trackBottom; + else + pTarget = NULL; + + if ( inputdata.pActivator && FClassnameIs( inputdata.pActivator, "func_tracktrain" ) ) + { + m_code = EvaluateTrain( pTarget ); + // Safe to fire? + if ( m_code == TRAIN_FOLLOWING && m_toggle_state != m_targetState ) + { + DisableUse(); + if (m_toggle_state == TS_AT_TOP) + GoDown(); + else + GoUp(); + } + } + else + { + if ( pTarget ) + pTarget = pTarget->GetNext(); + if ( pTarget && m_train->m_ppath != pTarget && ShouldToggle( USE_TOGGLE, m_targetState ) ) + { + if ( m_targetState == TS_AT_TOP ) + m_targetState = TS_AT_BOTTOM; + else + m_targetState = TS_AT_TOP; + } + + UpdateAutoTargets( m_targetState ); + } +} + + +void CFuncTrackAuto::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) +{ + CPathTrack *pTarget; + + if ( !UseEnabled() ) + return; + + if ( m_toggle_state == TS_AT_TOP ) + pTarget = m_trackTop; + else if ( m_toggle_state == TS_AT_BOTTOM ) + pTarget = m_trackBottom; + else + pTarget = NULL; + + if ( FClassnameIs( pActivator, "func_tracktrain" ) ) + { + m_code = EvaluateTrain( pTarget ); + // Safe to fire? + if ( m_code == TRAIN_FOLLOWING && m_toggle_state != m_targetState ) + { + DisableUse(); + if (m_toggle_state == TS_AT_TOP) + GoDown(); + else + GoUp(); + } + } + else + { + if ( pTarget ) + pTarget = pTarget->GetNext(); + if ( pTarget && m_train->m_ppath != pTarget && ShouldToggle( useType, m_targetState ) ) + { + if ( m_targetState == TS_AT_TOP ) + m_targetState = TS_AT_BOTTOM; + else + m_targetState = TS_AT_TOP; + } + + UpdateAutoTargets( m_targetState ); + } +} diff --git a/game/server/trigger_portal.cpp b/game/server/trigger_portal.cpp index 559d5de7..286af6e9 100644 --- a/game/server/trigger_portal.cpp +++ b/game/server/trigger_portal.cpp @@ -275,7 +275,7 @@ void CTriggerPortal::DisableForIncomingEntity( CBaseEntity *pEntity ) // Start thinking, and remove the other as soon as it's not touching me. // Needs to be done in addition to EndTouch, because entities may move fast // enough through the portal to come out not touching the other portal. - SetContextThink( DisabledThink, gpGlobals->curtime + 0.1, TRIGGER_DISABLED_THINK ); + SetContextThink( &CTriggerPortal::DisabledThink, gpGlobals->curtime + 0.1, TRIGGER_DISABLED_THINK ); } //----------------------------------------------------------------------------- @@ -299,7 +299,7 @@ void CTriggerPortal::DisabledThink( void ) } } - SetContextThink( DisabledThink, gpGlobals->curtime + 0.1, TRIGGER_DISABLED_THINK ); + SetContextThink( &CTriggerPortal::DisabledThink, gpGlobals->curtime + 0.1, TRIGGER_DISABLED_THINK ); } //----------------------------------------------------------------------------- @@ -340,4 +340,4 @@ bool CTriggerPortal::IsTouchingPortal( CBaseEntity *pEntity ) pPhysics->DestroyFrictionSnapshot( pSnapshot ); return bFound; -} \ No newline at end of file +} diff --git a/game/server/triggers.cpp b/game/server/triggers.cpp index b2aa138b..54ad7499 100644 --- a/game/server/triggers.cpp +++ b/game/server/triggers.cpp @@ -1522,7 +1522,6 @@ void CChangeLevel::WarnAboutActiveLead( void ) void CChangeLevel::ChangeLevelNow( CBaseEntity *pActivator ) { CBaseEntity *pLandmark; - levellist_t levels[16]; Assert(!FStrEq(m_szMapName, "")); @@ -3637,7 +3636,7 @@ void CTriggerProximity::MeasureThink( void ) // // ################################################################################## -#define MAX_WIND_CHANGE 5.0f +#define MAX_WIND_CHANGE 5 //------------------------------------------------------------------------------ // Purpose : @@ -3765,7 +3764,7 @@ END_DATADESC() void CTriggerWind::Spawn( void ) { m_bSwitch = true; - m_nDirBase = GetLocalAngles().y; + m_nDirBase = (int)GetLocalAngles().y; BaseClass::Spawn(); @@ -3888,7 +3887,7 @@ void CTriggerWind::WindThink( void ) // Set new target direction and speed m_nSpeedTarget = m_nSpeedBase + random->RandomInt( -m_nSpeedNoise, m_nSpeedNoise ); - m_nDirTarget = UTIL_AngleMod( m_nDirBase + random->RandomInt(-m_nDirNoise, m_nDirNoise) ); + m_nDirTarget = (int)UTIL_AngleMod( m_nDirBase + random->RandomInt(-m_nDirNoise, m_nDirNoise) ); } else { @@ -3903,7 +3902,7 @@ void CTriggerWind::WindThink( void ) if (abs(m_nDirTarget - m_nDirCurrent) > MAX_WIND_CHANGE) { - m_nDirCurrent = UTIL_ApproachAngle( m_nDirTarget, m_nDirCurrent, MAX_WIND_CHANGE ); + m_nDirCurrent = (int)UTIL_ApproachAngle( m_nDirTarget, m_nDirCurrent, MAX_WIND_CHANGE ); bDone = false; } diff --git a/game/server/util.cpp b/game/server/util.cpp index 2f4c0a07..d72ca646 100644 --- a/game/server/util.cpp +++ b/game/server/util.cpp @@ -719,10 +719,10 @@ void UTIL_GetPlayerConnectionInfo( int playerIndex, int& ping, int &packetloss ) // Source pings by half a tick to match the old GoldSrc pings. latency -= TICKS_TO_TIME( 0.5f ); - ping = latency * 1000.0f; // as msecs + ping = (int)(latency * 1000.0f); // as msecs ping = clamp( ping, 5, 1000 ); // set bounds, dont show pings under 5 msecs - packetloss = 100.0f * nci->GetAvgLoss( FLOW_INCOMING ); // loss in percentage + packetloss = (int)(100.0f * nci->GetAvgLoss( FLOW_INCOMING )); // loss in percentage packetloss = clamp( packetloss, 0, 100 ); } else @@ -736,7 +736,7 @@ static unsigned short FixedUnsigned16( float value, float scale ) { int output; - output = value * scale; + output = (int)(value * scale); if ( output < 0 ) output = 0; if ( output > 0xFFFF ) @@ -1326,7 +1326,7 @@ void UTIL_SnapDirectionToAxis( Vector &direction, float epsilon ) } } -char *UTIL_VarArgs( char *format, ... ) +char *UTIL_VarArgs( const char *format, ... ) { va_list argptr; static char string[1024]; @@ -1387,7 +1387,7 @@ Vector UTIL_RandomBloodVector( void ) // Input : // Output : //------------------------------------------------------------------------------ -void UTIL_ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ) +void UTIL_ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ) { CBaseEntity *pEntity = pTrace->m_pEnt; @@ -1766,7 +1766,7 @@ void UTIL_PrecacheOther( const char *szClassname, const char *modelName ) // UTIL_LogPrintf - Prints a logged message to console. // Preceded by LOG: ( timestamp ) < message > //========================================================= -void UTIL_LogPrintf( char *fmt, ... ) +void UTIL_LogPrintf( const char *fmt, ... ) { va_list argptr; char tempString[1024]; @@ -2189,7 +2189,7 @@ void UTIL_SetClientVisibilityPVS( edict_t *pClient, const unsigned char *pvs, in { if ( pClient == UTIL_GetCurrentCheckClient() ) { - Assert( pvssize <= sizeof(g_CheckClient.m_checkVisibilityPVS) ); + Assert( pvssize <= (int)sizeof(g_CheckClient.m_checkVisibilityPVS) ); g_CheckClient.m_bClientPVSIsExpanded = false; @@ -2327,7 +2327,6 @@ CBaseEntity *UTIL_EntitiesInPVS( CBaseEntity *pPVSEntity, CBaseEntity *pStarting Vector org; static byte pvs[ MAX_MAP_CLUSTERS/8 ]; static Vector lastOrg( 0, 0, 0 ); - static int lastCluster = -1; if ( !pPVSEntity ) return NULL; diff --git a/game/server/util.h b/game/server/util.h index f0ce2bc1..c713fbea 100644 --- a/game/server/util.h +++ b/game/server/util.h @@ -45,6 +45,7 @@ class IEntityFactory; #include "tier0/memdbgon.h" +CBaseEntity *CreateEntityByName(const char *className, int iForceEdictIndex); // entity creation // creates an entity that has not been linked to a classname @@ -64,7 +65,7 @@ T *_CreateEntityTemplate( T *newEnt, const char *className ) template< class T > T *_CreateEntity( T *newClass, const char *className ) { - T *newEnt = dynamic_cast( CreateEntityByName(className) ); + T *newEnt = dynamic_cast( CreateEntityByName(className, -1) ); if ( !newEnt ) { Warning( "classname %s used to create wrong class type\n" ); @@ -338,7 +339,7 @@ bool UTIL_IsMasterTriggered (string_t sMaster, CBaseEntity *pActivator); void UTIL_BloodStream( const Vector &origin, const Vector &direction, int color, int amount ); void UTIL_BloodSpray( const Vector &pos, const Vector &dir, int color, int amount, int flags ); Vector UTIL_RandomBloodVector( void ); -void UTIL_ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName = NULL ); +void UTIL_ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName = NULL ); void UTIL_PlayerDecalTrace( trace_t *pTrace, int playernum ); void UTIL_Smoke( const Vector &origin, const float scale, const float framerate ); void UTIL_AxisStringToPointDir( Vector &start, Vector &dir, const char *pString ); @@ -350,7 +351,7 @@ void UTIL_Beam( Vector &Start, Vector &End, int nModelIndex, int nHaloIndex, un float Life, unsigned char Width, unsigned char EndWidth, unsigned char FadeLength, unsigned char Noise, unsigned char Red, unsigned char Green, unsigned char Blue, unsigned char Brightness, unsigned char Speed); -char *UTIL_VarArgs( char *format, ... ); +char *UTIL_VarArgs( const char *format, ... ); bool UTIL_IsValidEntity( CBaseEntity *pEnt ); bool UTIL_TeamsMatch( const char *pTeamName1, const char *pTeamName2 ); @@ -460,7 +461,7 @@ void UTIL_HudMessage( CBasePlayer *pToPlayer, const hudtextparms_t &textparms, void UTIL_HudHintText( CBaseEntity *pEntity, const char *pMessage ); // Writes message to console with timestamp and FragLog header. -void UTIL_LogPrintf( char *fmt, ... ); +void UTIL_LogPrintf( const char *fmt, ... ); // Sorta like FInViewCone, but for nonNPCs. float UTIL_DotPoints ( const Vector &vecSrc, const Vector &vecCheck, const Vector &vecDir ); diff --git a/game/server/variant_t.h b/game/server/variant_t.h index 1f828e67..1d2c87aa 100644 --- a/game/server/variant_t.h +++ b/game/server/variant_t.h @@ -39,7 +39,7 @@ class variant_t public: // constructor - variant_t() : fieldType(FIELD_VOID), iVal(0) {} + variant_t() : iVal(0), fieldType(FIELD_VOID) {} inline bool Bool( void ) const { return( fieldType == FIELD_BOOLEAN ) ? bVal : false; } inline const char *String( void ) const { return( fieldType == FIELD_STRING ) ? STRING(iszVal) : ToString(); } diff --git a/game/server/vehicle_base.cpp b/game/server/vehicle_base.cpp index a3a9501e..a84e4dab 100644 --- a/game/server/vehicle_base.cpp +++ b/game/server/vehicle_base.cpp @@ -71,12 +71,16 @@ LINK_ENTITY_TO_CLASS( prop_vehicle, CPropVehicle ); //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- +#ifdef _MSC_VER #pragma warning (disable:4355) +#endif CPropVehicle::CPropVehicle() : m_VehiclePhysics( this ) { SetVehicleType( VEHICLE_TYPE_CAR_WHEELS ); } +#ifdef _MSC_VER #pragma warning (default:4355) +#endif //----------------------------------------------------------------------------- // Purpose: diff --git a/game/server/vehicle_baseserver.cpp b/game/server/vehicle_baseserver.cpp index 40329d40..7436929a 100644 --- a/game/server/vehicle_baseserver.cpp +++ b/game/server/vehicle_baseserver.cpp @@ -834,7 +834,7 @@ void CBaseServerVehicle::ParseNPCRoles( KeyValues *pkvPassengerList ) Msg("Passenger Roles Parsed:\t%d\n\n", m_PassengerRoles.Count() ); for ( int i = 0; i < m_PassengerRoles.Count(); i++ ) { - Msg("\tPassenger Role:\t%s (%d seats)\n", m_PassengerRoles[i].m_strName, m_PassengerRoles[i].m_PassengerSeats.Count() ); + Msg("\tPassenger Role:\t%s (%d seats)\n", STRING(m_PassengerRoles[i].m_strName), m_PassengerRoles[i].m_PassengerSeats.Count() ); // Iterate through all information sets under this name for ( int j = 0; j < m_PassengerRoles[i].m_PassengerSeats.Count(); j++ ) @@ -847,7 +847,7 @@ void CBaseServerVehicle::ParseNPCRoles( KeyValues *pkvPassengerList ) for ( int nEntry = 0; nEntry < m_PassengerRoles[i].m_PassengerSeats[j].m_EntryTransitions.Count(); nEntry++ ) { - Msg("\t\t\tAnimation:\t%s\t(Priority %d)\n", m_PassengerRoles[i].m_PassengerSeats[j].m_EntryTransitions[nEntry].m_strAnimationName, + Msg("\t\t\tAnimation:\t%s\t(Priority %d)\n", STRING(m_PassengerRoles[i].m_PassengerSeats[j].m_EntryTransitions[nEntry].m_strAnimationName), m_PassengerRoles[i].m_PassengerSeats[j].m_EntryTransitions[nEntry].m_nPriority ); } @@ -859,7 +859,7 @@ void CBaseServerVehicle::ParseNPCRoles( KeyValues *pkvPassengerList ) for ( int nExits = 0; nExits < m_PassengerRoles[i].m_PassengerSeats[j].m_ExitTransitions.Count(); nExits++ ) { - Msg("\t\t\tAnimation:\t%s\t(Priority %d)\n", m_PassengerRoles[i].m_PassengerSeats[j].m_ExitTransitions[nExits].m_strAnimationName, + Msg("\t\t\tAnimation:\t%s\t(Priority %d)\n", STRING(m_PassengerRoles[i].m_PassengerSeats[j].m_ExitTransitions[nExits].m_strAnimationName), m_PassengerRoles[i].m_PassengerSeats[j].m_ExitTransitions[nExits].m_nPriority ); } } @@ -1340,7 +1340,7 @@ int CBaseServerVehicle::GetExitAnimToUse( Vector &vecEyeExitEndpoint, bool &bAll if ( g_debug_vehicleexit.GetBool() ) { - NDebugOverlay::SweptBox( vecStart, vecEnd, VEC_HULL_MIN, Vector( VEC_HULL_MAX.x, VEC_HULL_MAX.y, VEC_HULL_MIN.y ), vec3_angle, 255, 255, 255, 8.0f, 20.0f ); + NDebugOverlay::SweptBox( vecStart, vecEnd, VEC_HULL_MIN, Vector( VEC_HULL_MAX.x, VEC_HULL_MAX.y, VEC_HULL_MIN.y ), vec3_angle, 255, 255, 255, 8, 20.0f ); } if ( tr.fraction < 1.0f ) @@ -1353,14 +1353,14 @@ int CBaseServerVehicle::GetExitAnimToUse( Vector &vecEyeExitEndpoint, bool &bAll { if ( g_debug_vehicleexit.GetBool() ) { - NDebugOverlay::Box( tr.endpos, VEC_HULL_MIN, VEC_HULL_MAX, 255, 0, 0, 8.0f, 20.0f ); + NDebugOverlay::Box( tr.endpos, VEC_HULL_MIN, VEC_HULL_MAX, 255, 0, 0, 8, 20.0f ); } continue; } if ( g_debug_vehicleexit.GetBool() ) { - NDebugOverlay::Box( tr.endpos, VEC_HULL_MIN, VEC_HULL_MAX, 0, 255, 0, 8.0f, 20.0f ); + NDebugOverlay::Box( tr.endpos, VEC_HULL_MIN, VEC_HULL_MAX, 0, 255, 0, 8, 20.0f ); } } else if ( tr.allsolid || ( ( tr.fraction == 1.0 ) && !GetDrivableVehicle()->AllowMidairExit( pPlayer, nRole ) ) ) @@ -1742,7 +1742,7 @@ const char *pSoundStateNames[] = static int SoundStateIndexFromName( const char *pName ) { - for ( int i = 0; i < SS_NUM_STATES; i++ ) + for ( size_t i = 0; i < SS_NUM_STATES; i++ ) { Assert( i < ARRAYSIZE(pSoundStateNames) ); if ( !strcmpi( pSoundStateNames[i], pName ) ) @@ -1930,6 +1930,8 @@ sound_states CBaseServerVehicle::SoundState_ChooseState( vbs_sound_update_t &par case SS_SHUTDOWN: case SS_SHUTDOWN_WATER: return m_soundState; + default: + break; } return SS_SHUTDOWN; } @@ -1984,6 +1986,9 @@ sound_states CBaseServerVehicle::SoundState_ChooseState( vbs_sound_update_t &par if ( CheckCrash(params) ) return SS_IDLE; break; + + default: + break; } switch( m_soundState ) @@ -2215,6 +2220,8 @@ void CBaseServerVehicle::SoundStartDisabled() case SS_START_WATER: PlaySound( StateSoundName(newState) ); break; + default: + break; } } @@ -2593,7 +2600,7 @@ vehiclesound g_iSoundsToStopOnExit[] = VS_ENGINE2_STOP, }; -char *vehiclesound_parsenames[VS_NUM_SOUNDS] = +const char *vehiclesound_parsenames[VS_NUM_SOUNDS] = { "skid_lowfriction", "skid_normalfriction", diff --git a/game/server/vehicle_choreo_generic.cpp b/game/server/vehicle_choreo_generic.cpp index 2b0bce2d..a041eab5 100644 --- a/game/server/vehicle_choreo_generic.cpp +++ b/game/server/vehicle_choreo_generic.cpp @@ -61,10 +61,10 @@ extern ConVar g_debug_vehicledriver; class CPropVehicleChoreoGeneric; -static const char *pChoreoGenericFollowerBoneNames[] = +/*static const char *pChoreoGenericFollowerBoneNames[] = { "base", -}; +};*/ //----------------------------------------------------------------------------- @@ -982,4 +982,4 @@ void CVehicleChoreoViewParser::SetDefaults( void *pData ) pView->flPitchMin = CHOREO_VEHICLE_VIEW_PITCH_MIN; pView->flPitchMax = CHOREO_VEHICLE_VIEW_PITCH_MAX; -} \ No newline at end of file +} diff --git a/game/server/vehicle_sounds.h b/game/server/vehicle_sounds.h index ab08999f..fc10102f 100644 --- a/game/server/vehicle_sounds.h +++ b/game/server/vehicle_sounds.h @@ -30,7 +30,7 @@ enum vehiclesound VS_NUM_SOUNDS, }; -extern char *vehiclesound_parsenames[VS_NUM_SOUNDS]; +extern const char *vehiclesound_parsenames[VS_NUM_SOUNDS]; // This is a list of vehiclesounds to automatically stop when the vehicle's driver exits the vehicle #define NUM_SOUNDS_TO_STOP_ON_EXIT 4 diff --git a/game/server/vguiscreen.cpp b/game/server/vguiscreen.cpp index e5a017c7..499196ad 100644 --- a/game/server/vguiscreen.cpp +++ b/game/server/vguiscreen.cpp @@ -58,7 +58,7 @@ END_DATADESC() CVGuiScreen::CVGuiScreen() { m_nOverlayMaterial = OVERLAY_MATERIAL_INVALID_STRING; - m_hPlayerOwner = NULL; + m_hPlayerOwner = 0; } diff --git a/game/server/wcedit.h b/game/server/wcedit.h index 102109b7..67de6623 100644 --- a/game/server/wcedit.h +++ b/game/server/wcedit.h @@ -33,4 +33,4 @@ namespace NWCEdit void UpdateEntityPosition( CBaseEntity *pEntity ); }; -#endif // WCEDIT_H \ No newline at end of file +#endif // WCEDIT_H diff --git a/game/server/world.cpp b/game/server/world.cpp index dd7cfdcf..be975923 100644 --- a/game/server/world.cpp +++ b/game/server/world.cpp @@ -168,7 +168,7 @@ void CDecal::StaticDecal( void ) if ( pEntity->IsEffectActive( EF_NODRAW ) ) return false; - for ( int i = 0; i < ARRAYSIZE(ppszIgnoredClasses); i++ ) + for ( size_t i = 0; i < ARRAYSIZE(ppszIgnoredClasses); i++ ) { if ( pEntity->ClassMatches( ppszIgnoredClasses[i] ) ) return false; @@ -188,7 +188,7 @@ void CDecal::StaticDecal( void ) bool canDraw = true; - entityIndex = (short)trace.m_pEnt ? trace.m_pEnt->entindex() : 0; + entityIndex = trace.m_pEnt ? trace.m_pEnt->entindex() : 0; if ( entityIndex ) { CBaseEntity *ent = trace.m_pEnt; @@ -567,7 +567,7 @@ static const char *g_DefaultLightstyles[] = const char *GetDefaultLightstyleString( int styleIndex ) { - if ( styleIndex < ARRAYSIZE(g_DefaultLightstyles) ) + if ( styleIndex < (int)ARRAYSIZE(g_DefaultLightstyles) ) { return g_DefaultLightstyles[styleIndex]; } @@ -651,7 +651,7 @@ void CWorld::Precache( void ) // // Setup light animation tables. 'a' is total darkness, 'z' is maxbright. // - for ( int i = 0; i < ARRAYSIZE(g_DefaultLightstyles); i++ ) + for ( int i = 0; i < (int)ARRAYSIZE(g_DefaultLightstyles); i++ ) { engine->LightStyle( i, GetDefaultLightstyleString(i) ); } diff --git a/game/shared/GameEventListener.h b/game/shared/GameEventListener.h index 77642ce0..3371b3b2 100644 --- a/game/shared/GameEventListener.h +++ b/game/shared/GameEventListener.h @@ -61,4 +61,4 @@ private: bool m_bRegisteredForEvents; }; -#endif \ No newline at end of file +#endif diff --git a/game/shared/GameStats.cpp b/game/shared/GameStats.cpp index 0f05707f..4a8dd8c0 100644 --- a/game/shared/GameStats.cpp +++ b/game/shared/GameStats.cpp @@ -1,1451 +1,1451 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= -// -// Purpose: -// -//============================================================================= - -#include "cbase.h" - - -#include "igamesystem.h" -#include "GameStats.h" -#include "tier1/utlstring.h" -#include "filesystem.h" -#include "tier1/utlbuffer.h" -#include "fmtstr.h" - -#ifndef SWDS -#include "iregistry.h" -#endif - -#include "tier1/utldict.h" -#include "tier0/icommandline.h" -#include -#ifdef GAME_DLL -#include "vehicle_base.h" -#endif - -#if defined( _X360 ) -#include "xbox/xbox_win32stubs.h" -#endif - -#define GAMESTATS_LOG_FILE "gamestats.log" -#define GAMESTATS_PATHID "MOD" - -/* -#define ONE_DAY_IN_SECONDS 86400 - -// Lower threshold in debug for testing... -#if defined( _DEBUG ) -#define WALKED_AWAY_FROM_KEYBOARD_SECONDS 15.0f // 15 seconds of movement == might be paused -#else -#define WALKED_AWAY_FROM_KEYBOARD_SECONDS 300.0f // 5 minutes of no movement == might be paused -#endif -*/ - -extern IUploadGameStats *gamestatsuploader; - -static char s_szPseudoUniqueID[20] = ""; - -static inline char const *SafeString( char const *pStr ) -{ - return ( pStr ) ? pStr : "?"; -} - -static CBaseGameStats s_GameStats_Singleton; -CBaseGameStats *gamestats = &s_GameStats_Singleton; //start out pointing at the basic version which does nothing by default -extern ConVar skill; -void OverWriteCharsWeHate( char *pStr ); - -bool StatsTrackingIsFullyEnabled( void ); - -class CGamestatsData -{ -public: - CGamestatsData() - { - m_pKVData = NULL; - m_bHaveData = false; - AllocData(); - } - - ~CGamestatsData() - { - FreeData(); - } - - void AllocData() - { - FreeData(); - m_pKVData = new KeyValues( "gamestats" ); - } - void FreeData() - { - if ( m_pKVData != NULL ) - { - m_pKVData->deleteThis(); - m_pKVData = NULL; - } - } - - KeyValues *m_pKVData; - bool m_bHaveData; -}; - -//used to drive most of the game stat event handlers as well as track basic stats under the hood of CBaseGameStats -class CBaseGameStats_Driver : public CAutoGameSystemPerFrame -{ -public: - CBaseGameStats_Driver( void ); - - typedef CAutoGameSystemPerFrame BaseClass; - - // IGameSystem overloads - virtual bool Init(); - virtual void Shutdown(); - - // Level init, shutdown - virtual void LevelInitPreEntity(); - virtual void LevelShutdownPreEntity(); - // Called during game save - virtual void OnSave(); - // Called during game restore, after the local player has connected and entities have been fully restored - virtual void OnRestore(); - - virtual void FrameUpdatePostEntityThink(); - - void PossibleMapChange( void ); - - void CollectData( StatSendType_t sendType ); - void SendData(); - void ResetData(); - bool AddBaseDataForSend( KeyValues *pKV, StatSendType_t sendType ); - - StatsBufferRecord_t m_StatsBuffer[STATS_WINDOW_SIZE]; - bool m_bBufferFull; - int m_nWriteIndex; - float m_flLastRealTime; - float m_flLastSampleTime; - float m_flTotalTimeInLevels; - int m_iNumLevels; - - template T AverageStat( T StatsBufferRecord_t::*field ) const - { - T sum = 0; - for( int i = 0; i < STATS_WINDOW_SIZE; i++ ) - sum += m_StatsBuffer[i].*field; - return sum / STATS_WINDOW_SIZE; - } - - template T MaxStat( T StatsBufferRecord_t::*field ) const - { - T maxsofar = -16000000; - for( int i = 0; i < STATS_WINDOW_SIZE; i++ ) - maxsofar = max( maxsofar, m_StatsBuffer[i].*field ); - return maxsofar; - } - - template T MinStat( T StatsBufferRecord_t::*field ) const - { - T minsofar = 16000000; - for( int i = 0; i < STATS_WINDOW_SIZE; i++ ) - minsofar = min( minsofar, m_StatsBuffer[i].*field ); - return minsofar; - } - - inline void AdvanceIndex( void ) - { - m_nWriteIndex++; - if ( m_nWriteIndex == STATS_WINDOW_SIZE ) - { - m_nWriteIndex = 0; - m_bBufferFull = true; - } - } - - void UpdatePerfStats( void ) - { - float flCurTime = Plat_FloatTime(); - if ( - ( m_flLastSampleTime == -1 ) || - ( flCurTime - m_flLastSampleTime >= STATS_RECORD_INTERVAL ) ) - { - if ( ( m_flLastRealTime > 0 ) && ( flCurTime > m_flLastRealTime ) ) - { - float flFrameRate = 1.0 / ( flCurTime - m_flLastRealTime ); - StatsBufferRecord_t &stat = m_StatsBuffer[m_nWriteIndex]; - stat.m_flFrameRate = flFrameRate; - AdvanceIndex(); - m_flLastSampleTime = flCurTime; - } - } - m_flLastRealTime = flCurTime; - } - - CUtlString m_PrevMapName; //used to track "OnMapChange" events - int m_iLoadedVersion; - char m_szLoadedUserID[ 17 ]; // GUID - - bool m_bEnabled; //false if incapable of uploading or the user doesn't want to enable stat tracking - bool m_bShuttingDown; - bool m_bInLevel; - bool m_bFirstLevel; - time_t m_tLastUpload; - - float m_flLevelStartTime; - - bool m_bStationary; - float m_flLastMovementTime; - CUserCmd m_LastUserCmd; - bool m_bGamePaused; - float m_flPauseStartTime; - - CGamestatsData *m_pGamestatsData; -}; -static CBaseGameStats_Driver CBGSDriver; - -void UpdatePerfStats( void ) -{ - CBGSDriver.UpdatePerfStats(); -} - -CBaseGameStats_Driver::CBaseGameStats_Driver( void ) : - BaseClass( "CGameStats" ), - m_iLoadedVersion( -1 ), - m_bEnabled( false ), - m_bShuttingDown( false ), - m_bInLevel( false ), - m_bFirstLevel( true ), - m_flLevelStartTime( 0.0f ), - m_bStationary( false ), - m_flLastMovementTime( 0.0f ), - m_bGamePaused( false ), - m_pGamestatsData( NULL ), - m_bBufferFull( false ), - m_nWriteIndex( 0 ), - m_flLastRealTime( -1 ), - m_flLastSampleTime( -1 ), - m_flTotalTimeInLevels( 0 ), - m_iNumLevels( 0 ) - -{ - m_szLoadedUserID[0] = 0;; - m_tLastUpload = 0; - m_LastUserCmd.Reset(); -} - -static FileHandle_t g_LogFileHandle = FILESYSTEM_INVALID_HANDLE; - -CBaseGameStats::CBaseGameStats() : - m_bLogging( false ), - m_bLoggingToFile( false ) -{ -} - -bool CBaseGameStats::StatTrackingAllowed( void ) -{ - return CBGSDriver.m_bEnabled; -} - -// Don't care about vcr hooks here... -#undef localtime -#undef asctime - -#include - -void CBaseGameStats::StatsLog( char const *fmt, ... ) -{ - if ( !m_bLogging && !m_bLoggingToFile ) - return; - - char buf[ 2048 ]; - va_list argptr; - va_start( argptr, fmt ); - Q_vsnprintf( buf, sizeof( buf ), fmt, argptr ); - va_end( argptr ); - - // Prepend timestamp and spew it - - // Prepend the time. - time_t aclock; - time( &aclock ); - struct tm *newtime = localtime( &aclock ); - - char timeString[ 128 ]; - Q_strncpy( timeString, asctime( newtime ), sizeof( timeString ) ); - // Get rid of the \n. - char *pEnd = strstr( timeString, "\n" ); - if ( pEnd ) - { - *pEnd = 0; - } - - if ( m_bLogging ) - { - DevMsg( "[GS %s - %7.2f] %s", timeString, gpGlobals->realtime, buf ); - } - - if ( m_bLoggingToFile ) - { - if ( FILESYSTEM_INVALID_HANDLE == g_LogFileHandle ) - { - g_LogFileHandle = filesystem->Open( GAMESTATS_LOG_FILE, "a", GAMESTATS_PATHID ); - } - - if ( FILESYSTEM_INVALID_HANDLE != g_LogFileHandle ) - { - filesystem->FPrintf( g_LogFileHandle, "[GS %s - %7.2f] %s", timeString, gpGlobals->realtime, buf ); - filesystem->Flush( g_LogFileHandle ); - } - } -} - -static char s_szSaveFileName[256] = ""; -static char s_szStatUploadRegistryKeyName[256] = ""; - -const char *CBaseGameStats::GetStatSaveFileName( void ) -{ - AssertMsg( s_szSaveFileName[0] != '\0', "Don't know what file to save stats to." ); - return s_szSaveFileName; -} - -const char *CBaseGameStats::GetStatUploadRegistryKeyName( void ) -{ - AssertMsg( s_szStatUploadRegistryKeyName[0] != '\0', "Don't know the registry key to use to mark stats uploads." ); - return s_szStatUploadRegistryKeyName; -} - -const char *CBaseGameStats::GetUserPseudoUniqueID( void ) -{ - AssertMsg( s_szPseudoUniqueID[0] != '\0', "Don't have a pseudo unique ID." ); - return s_szPseudoUniqueID; -} - -void CBaseGameStats::Event_Init( void ) -{ -#ifdef GAME_DLL - SetHL2UnlockedChapterStatistic(); - SetSteamStatistic( filesystem->IsSteam() ); - SetCyberCafeStatistic( gamestatsuploader->IsCyberCafeUser() ); - ConVarRef pDXLevel( "mat_dxlevel" ); - if( pDXLevel.IsValid() ) - { - SetDXLevelStatistic( pDXLevel.GetInt() ); - } - ++m_BasicStats.m_Summary.m_nCount; - - StatsLog( "CBaseGameStats::Event_Init [%dth session]\n", m_BasicStats.m_Summary.m_nCount ); -#endif // GAME_DLL -} - -void CBaseGameStats::Event_Shutdown( void ) -{ -#ifdef GAME_DLL - StatsLog( "CBaseGameStats::Event_Shutdown [%dth session]\n", m_BasicStats.m_Summary.m_nCount ); - - StatsLog( "\n====================================================================\n\n" ); -#endif -} - -void CBaseGameStats::Event_MapChange( const char *szOldMapName, const char *szNewMapName ) -{ - StatsLog( "CBaseGameStats::Event_MapChange to [%s]\n", szNewMapName ); -} - -void CBaseGameStats::Event_LevelInit( void ) -{ -#ifdef GAME_DLL - StatsLog( "CBaseGameStats::Event_LevelInit [%s]\n", CBGSDriver.m_PrevMapName.String() ); - - BasicGameStatsRecord_t *map = gamestats->m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); - ++map->m_nCount; - - // HACK HACK: Punching this hole through only works in single player!!! - if ( gpGlobals->maxClients == 1 ) - { - ConVarRef closecaption( "closecaption" ); - if( closecaption.IsValid() ) - SetCaptionsStatistic( closecaption.GetBool() ); - - SetHDRStatistic( gamestatsuploader->IsHDREnabled() ); - - SetSkillStatistic( skill.GetInt() ); - SetSteamStatistic( filesystem->IsSteam() ); - SetCyberCafeStatistic( gamestatsuploader->IsCyberCafeUser() ); - } -#endif // GAME_DLL -} - -void CBaseGameStats::Event_LevelShutdown( float flElapsed ) -{ -#ifdef GAME_DLL - BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); - Assert( map ); - map->m_nSeconds += (int)flElapsed; - gamestats->m_BasicStats.m_Summary.m_nSeconds += (int)flElapsed; - - StatsLog( "CBaseGameStats::Event_LevelShutdown [%s] %.2f elapsed %d total\n", CBGSDriver.m_PrevMapName.String(), flElapsed, gamestats->m_BasicStats.m_Summary.m_nSeconds ); -#endif // GAME_DLL -} - -void CBaseGameStats::Event_SaveGame( void ) -{ - StatsLog( "CBaseGameStats::Event_SaveGame [%s]\n", CBGSDriver.m_PrevMapName.String() ); -} - -void CBaseGameStats::Event_LoadGame( void ) -{ -#ifdef GAME_DLL - char const *pchSaveFile = engine->GetMostRecentlyLoadedFileName(); - StatsLog( "CBaseGameStats::Event_LoadGame [%s] from %s\n", CBGSDriver.m_PrevMapName.String(), pchSaveFile ); -#endif -} - -#ifdef GAME_DLL - -void CBaseGameStats::Event_PlayerKilled( CBasePlayer *pPlayer, const CTakeDamageInfo &info ) -{ - ++m_BasicStats.m_Summary.m_nDeaths; - - if( CBGSDriver.m_bInLevel ) - { - BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); - ++map->m_nDeaths; - StatsLog( " Player died %dth time in level [%s]!!!\n", map->m_nDeaths, CBGSDriver.m_PrevMapName.String() ); - } - else - { - StatsLog( " Player died, but not in a level!!!\n" ); - Assert( 0 ); - } - - StatsLog( "CBaseGameStats::Event_PlayerKilled [%s] [%dth death]\n", pPlayer->GetPlayerName(), m_BasicStats.m_Summary.m_nDeaths ); -} - -void CBaseGameStats::Event_Commentary() -{ - if( CBGSDriver.m_bInLevel ) - { - BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); - ++map->m_nCommentary; - } - - ++m_BasicStats.m_Summary.m_nCommentary; - - StatsLog( "CBaseGameStats::Event_Commentary [%d]\n", m_BasicStats.m_Summary.m_nCommentary ); -} - -void CBaseGameStats::Event_Credits() -{ - StatsLog( "CBaseGameStats::Event_Credits\n" ); - - float elapsed = 0.0f; - if( CBGSDriver.m_bInLevel ) - { - elapsed = gpGlobals->realtime - CBGSDriver.m_flLevelStartTime; - } - - if( elapsed < 0.0f ) - { - Assert( 0 ); - Warning( "EVENT_CREDITS with negative elapsed time (rt %f starttime %f)\n", gpGlobals->realtime, CBGSDriver.m_flLevelStartTime ); - elapsed = 0.0f; - } - - // Only set this one time!!! - if( gamestats->m_BasicStats.m_nSecondsToCompleteGame == 0 ) - { - if( gamestats->UserPlayedAllTheMaps() ) - { - gamestats->m_BasicStats.m_nSecondsToCompleteGame = elapsed + gamestats->m_BasicStats.m_Summary.m_nSeconds; - gamestats->SaveToFileNOW(); - } - } -} - -void CBaseGameStats::Event_CrateSmashed() -{ - StatsLog( "CBaseGameStats::Event_CrateSmashed\n" ); -} - -void CBaseGameStats::Event_Punted( CBaseEntity *pObject ) -{ - StatsLog( "CBaseGameStats::Event_Punted [%s]\n", pObject->GetClassname() ); -} - -void CBaseGameStats::Event_PlayerTraveled( CBasePlayer *pBasePlayer, float distanceInInches, bool bInVehicle, bool bSprinting ) -{ -} - -void CBaseGameStats::Event_FlippedVehicle( CBasePlayer *pDriver, CPropVehicleDriveable *pVehicle ) -{ - StatsLog( "CBaseGameStats::Event_FlippedVehicle [%s] flipped [%s]\n", pDriver->GetPlayerName(), pVehicle->GetClassname() ); -} - -// Called before .sav file is actually loaded (player should still be in previous level, if any) -void CBaseGameStats::Event_PreSaveGameLoaded( char const *pSaveName, bool bInGame ) -{ - StatsLog( "CBaseGameStats::Event_PreSaveGameLoaded [%s] %s\n", pSaveName, bInGame ? "in-game" : "at console" ); -} - -bool CBaseGameStats::SaveToFileNOW( bool bForceSyncWrite /* = false */ ) -{ - if ( !StatsTrackingIsFullyEnabled() ) - return false; - - // this code path is only for old format stats. Products that use new format take a different path. - if ( !gamestats->UseOldFormat() ) - return false; - - CUtlBuffer buf; - buf.PutShort( GAMESTATS_FILE_VERSION ); - buf.Put( s_szPseudoUniqueID, 16 ); - - if( ShouldTrackStandardStats() ) - m_BasicStats.SaveToBuffer( buf ); - else - buf.PutInt( GAMESTATS_STANDARD_NOT_SAVED ); - - gamestats->AppendCustomDataToSaveBuffer( buf ); - - char fullpath[ 512 ] = { 0 }; - if ( filesystem->FileExists( GetStatSaveFileName(), GAMESTATS_PATHID ) ) - { - filesystem->RelativePathToFullPath( GetStatSaveFileName(), GAMESTATS_PATHID, fullpath, sizeof( fullpath ) ); - } - else - { - // filename is local to game dir for Steam, so we need to prepend game dir for regular file save - char gamePath[256]; - engine->GetGameDir( gamePath, 256 ); - Q_StripTrailingSlash( gamePath ); - Q_snprintf( fullpath, sizeof( fullpath ), "%s/%s", gamePath, GetStatSaveFileName() ); - Q_strlower( fullpath ); - Q_FixSlashes( fullpath ); - } - - // StatsLog( "SaveToFileNOW '%s'\n", fullpath ); - - if( CBGSDriver.m_bShuttingDown || bForceSyncWrite ) //write synchronously - { - filesystem->WriteFile( fullpath, GAMESTATS_PATHID, buf ); - - StatsLog( "Shut down wrote to '%s'\n", fullpath ); - } - else - { - // Allocate memory for async system to use (and free afterward!!!) - size_t nBufferSize = buf.TellPut(); - void *pMem = malloc(nBufferSize); - CUtlBuffer statsBuffer( pMem, nBufferSize ); - statsBuffer.Put( buf.Base(), nBufferSize ); - - // Write data async - filesystem->AsyncWrite( fullpath, statsBuffer.Base(), statsBuffer.TellPut(), true, false ); - } - - return true; -} - -void CBaseGameStats::Event_PlayerConnected( CBasePlayer *pBasePlayer ) -{ - StatsLog( "CBaseGameStats::Event_PlayerConnected [%s]\n", pBasePlayer->GetPlayerName() ); -} - -void CBaseGameStats::Event_PlayerDisconnected( CBasePlayer *pBasePlayer ) -{ - StatsLog( "CBaseGameStats::Event_PlayerDisconnected\n", pBasePlayer->GetPlayerName() ); -} - -void CBaseGameStats::Event_PlayerDamage( CBasePlayer *pBasePlayer, const CTakeDamageInfo &info ) -{ - //StatsLog( "CBaseGameStats::Event_PlayerDamage [%s] took %.2f damage\n", pBasePlayer->GetPlayerName(), info.GetDamage() ); -} - -void CBaseGameStats::Event_PlayerKilledOther( CBasePlayer *pAttacker, CBaseEntity *pVictim, const CTakeDamageInfo &info ) -{ - StatsLog( "CBaseGameStats::Event_PlayerKilledOther [%s] killed [%s]\n", pAttacker->GetPlayerName(), pVictim->GetClassname() ); -} - -void CBaseGameStats::Event_WeaponFired( CBasePlayer *pShooter, bool bPrimary, char const *pchWeaponName ) -{ - StatsLog( "CBaseGameStats::Event_WeaponFired [%s] %s weapon [%s]\n", pShooter->GetPlayerName(), bPrimary ? "primary" : "secondary", pchWeaponName ); -} - -void CBaseGameStats::Event_WeaponHit( CBasePlayer *pShooter, bool bPrimary, char const *pchWeaponName, const CTakeDamageInfo &info ) -{ - StatsLog( "CBaseGameStats::Event_WeaponHit [%s] %s weapon [%s] damage [%f]\n", pShooter->GetPlayerName(), bPrimary ? "primary" : "secondary", pchWeaponName, info.GetDamage() ); -} - -void CBaseGameStats::Event_PlayerEnteredGodMode( CBasePlayer *pBasePlayer ) -{ - StatsLog( "CBaseGameStats::Event_PlayerEnteredGodMode [%s] entered GOD mode\n", pBasePlayer->GetPlayerName() ); -} - -void CBaseGameStats::Event_PlayerEnteredNoClip( CBasePlayer *pBasePlayer ) -{ - StatsLog( "CBaseGameStats::Event_PlayerEnteredNoClip [%s] entered NOCLIPe\n", pBasePlayer->GetPlayerName() ); -} - -void CBaseGameStats::Event_DecrementPlayerEnteredNoClip( CBasePlayer *pBasePlayer ) -{ - StatsLog( "CBaseGameStats::Event_DecrementPlayerEnteredNoClip [%s] decrementing NOCLIPe\n", pBasePlayer->GetPlayerName() ); -} - -void CBaseGameStats::Event_IncrementCountedStatistic( const Vector& vecAbsOrigin, char const *pchStatisticName, float flIncrementAmount ) -{ - StatsLog( "Incrementing %s by %f at pos (%d, %d, %d)\n", pchStatisticName, flIncrementAmount, (int)vecAbsOrigin.x, (int)vecAbsOrigin.y, (int)vecAbsOrigin.z ); -} - -bool CBaseGameStats::UploadStatsFileNOW( void ) -{ - if( !StatsTrackingIsFullyEnabled() || !HaveValidData() || !gamestats->UseOldFormat() ) - return false; - - if ( !filesystem->FileExists( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID ) ) - { - return false; - } - - int curtime = Plat_FloatTime(); - - CBGSDriver.m_tLastUpload = curtime; - - // Update the registry -#ifndef SWDS - IRegistry *reg = InstanceRegistry( "Steam" ); - Assert( reg ); - reg->WriteInt( GetStatUploadRegistryKeyName(), CBGSDriver.m_tLastUpload ); - ReleaseInstancedRegistry( reg ); -#endif - - CUtlBuffer buf; - filesystem->ReadFile( GetStatSaveFileName(), GAMESTATS_PATHID, buf ); - unsigned int uBlobSize = buf.TellPut(); - if ( uBlobSize == 0 ) - { - return false; - } - - const void *pvBlobData = ( const void * )buf.Base(); - - if( gamestatsuploader ) - { - return gamestatsuploader->UploadGameStats( "", - 1, - uBlobSize, - pvBlobData ); - } - - return false; -} - - -void CBaseGameStats::LoadingEvent_PlayerIDDifferentThanLoadedStats( void ) -{ - StatsLog( "CBaseGameStats::LoadingEvent_PlayerIDDifferentThanLoadedStats\n" ); -} - - -bool CBaseGameStats::LoadFromFile( void ) -{ - if ( filesystem->FileExists( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID ) ) - { - char fullpath[ 512 ]; - filesystem->RelativePathToFullPath( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID, fullpath, sizeof( fullpath ) ); - StatsLog( "Loading stats from '%s'\n", fullpath ); - } - - CUtlBuffer buf; - if ( filesystem->ReadFile( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID, buf ) ) - { - bool bRetVal = true; - - int version = buf.GetShort(); - if ( version > GAMESTATS_FILE_VERSION ) - return false; //file is beyond our comprehension - - // Set global parse version - CBGSDriver.m_iLoadedVersion = version; - - buf.Get( CBGSDriver.m_szLoadedUserID, 16 ); - CBGSDriver.m_szLoadedUserID[ sizeof( CBGSDriver.m_szLoadedUserID ) - 1 ] = 0; - - if ( s_szPseudoUniqueID[ 0 ] != 0 ) - { - if ( Q_stricmp( CBGSDriver.m_szLoadedUserID, s_szPseudoUniqueID ) ) - { - //UserID changed, blow away log!!! - filesystem->RemoveFile( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID ); - filesystem->RemoveFile( GAMESTATS_LOG_FILE, GAMESTATS_PATHID ); - Warning( "Userid changed, clearing stats file\n" ); - CBGSDriver.m_szLoadedUserID[0] = '\0'; - CBGSDriver.m_iLoadedVersion = -1; - gamestats->m_BasicStats.Clear(); - gamestats->LoadingEvent_PlayerIDDifferentThanLoadedStats(); - bRetVal = false; - } - - if ( version <= GAMESTATS_FILE_VERSION_OLD5 ) - { - gamestats->m_BasicStats.Clear(); - bRetVal = false; - } - else - { - // Peek ahead in buffer to see if we have the "no default stats" secret flag set. - int iCheckForStandardStatsInFile = *( int * )buf.PeekGet(); - bool bValid = true; - - if ( iCheckForStandardStatsInFile != GAMESTATS_STANDARD_NOT_SAVED ) - { - //the GAMESTATS_STANDARD_NOT_SAVED flag coincides with user completion time, rewind so the gamestats parser can grab it - bValid = gamestats->m_BasicStats.ParseFromBuffer( buf, version ); - } - else - { - // skip over the flag - buf.GetInt(); - } - - if( !bValid ) - { - m_BasicStats.Clear(); - } - - if( ( buf.TellPut() - buf.TellGet() ) != 0 ) //more data left, must be custom data - { - gamestats->LoadCustomDataFromBuffer( buf ); - } - } - } - - return bRetVal; - } - else - { - filesystem->RemoveFile( GAMESTATS_LOG_FILE, GAMESTATS_PATHID ); - } - - return false; -} - -#endif // GAME_DLL - -bool CBaseGameStats_Driver::Init() -{ - const char *pGameDir = CommandLine()->ParmValue( "-game", "hl2" ); - - //standardizing is a good thing - char szLoweredGameDir[256]; - Q_strncpy( szLoweredGameDir, pGameDir, sizeof( szLoweredGameDir ) ); - Q_strlower( szLoweredGameDir ); - - gamestats = gamestats->OnInit( gamestats, szLoweredGameDir ); - - //determine constant strings needed for saving and uploading - Q_strncpy( s_szSaveFileName, szLoweredGameDir, sizeof( s_szSaveFileName ) ); - Q_strncat( s_szSaveFileName, "_gamestats.dat", sizeof( s_szSaveFileName ) ); - - Q_strncpy( s_szStatUploadRegistryKeyName, "GameStatsUpload_", sizeof( s_szStatUploadRegistryKeyName ) ); - Q_strncat( s_szStatUploadRegistryKeyName, szLoweredGameDir, sizeof( s_szStatUploadRegistryKeyName ) ); - - gamestats->m_bLoggingToFile = CommandLine()->FindParm( "-gamestatsloggingtofile" ) ? true : false; - gamestats->m_bLogging = CommandLine()->FindParm( "-gamestatslogging" ) ? true : false; - - if ( gamestatsuploader ) - { - m_bEnabled = gamestatsuploader->IsGameStatsLoggingEnabled(); - if ( m_bEnabled ) - { - gamestatsuploader->GetPseudoUniqueId( s_szPseudoUniqueID, sizeof( s_szPseudoUniqueID ) ); - } - } - - ResetData(); - -#ifdef GAME_DLL - if ( StatsTrackingIsFullyEnabled() ) - { - // FIXME: Load m_tLastUpload from registry and save it back out, too -#ifndef SWDS - IRegistry *reg = InstanceRegistry( "Steam" ); - Assert( reg ); - m_tLastUpload = reg->ReadInt( gamestats->GetStatUploadRegistryKeyName(), 0 ); - ReleaseInstancedRegistry( reg ); -#endif - //load existing stats - gamestats->LoadFromFile(); - } -#endif // GAME_DLL - - if ( s_szPseudoUniqueID[ 0 ] != 0 ) - { - gamestats->Event_Init(); -#ifdef GAME_DLL - if ( gamestats->UseOldFormat() ) - { - if( gamestats->AutoSave_OnInit() ) - gamestats->SaveToFileNOW(); - - if( gamestats->AutoUpload_OnInit() ) - gamestats->UploadStatsFileNOW(); - } -#endif - } - else - { - m_bEnabled = false; //unable to generate a pseudo-unique ID, disable tracking - } - - return true; -} - - -void CBaseGameStats_Driver::Shutdown() -{ - m_bShuttingDown = true; - - gamestats->Event_Shutdown(); - - if ( gamestats->UseOldFormat() ) - { -#ifdef GAME_DLL - if( gamestats->AutoSave_OnShutdown() ) - gamestats->SaveToFileNOW(); - - if( gamestats->AutoUpload_OnShutdown() ) - gamestats->UploadStatsFileNOW(); -#endif // GAME_DLL - } - else - { - // code path for new format game stats - if ( gamestats->ShouldSendDataOnAppShutdown() ) - { - CollectData( STATSEND_APPSHUTDOWN ); - SendData(); - } - } - if ( FILESYSTEM_INVALID_HANDLE != g_LogFileHandle ) - { - filesystem->Close( g_LogFileHandle ); - g_LogFileHandle = FILESYSTEM_INVALID_HANDLE; - } - - if ( m_pGamestatsData != NULL ) - { -#ifdef CLIENT_DLL - engine->SetGamestatsData( NULL ); -#endif - delete m_pGamestatsData; - m_pGamestatsData = NULL; - } -} - -void CBaseGameStats_Driver::PossibleMapChange( void ) -{ -#ifdef GAME_DLL - //detect and copy map changes - if ( Q_stricmp( m_PrevMapName.String(), STRING( gpGlobals->mapname ) ) ) - { - MEM_ALLOC_CREDIT(); - - CUtlString PrevMapBackup = m_PrevMapName; - - m_PrevMapName = STRING( gpGlobals->mapname ); - - gamestats->Event_MapChange( PrevMapBackup.String(), STRING( gpGlobals->mapname ) ); - - if ( gamestats->UseOldFormat() ) - { - if( gamestats->AutoSave_OnMapChange() ) - gamestats->SaveToFileNOW(); - - if( gamestats->AutoUpload_OnMapChange() ) - gamestats->UploadStatsFileNOW(); - } - } -#endif -} - - - -void CBaseGameStats_Driver::LevelInitPreEntity() -{ - m_bInLevel = true; - m_bFirstLevel = false; - - if ( Q_stricmp( s_szPseudoUniqueID, "unknown" ) == 0 ) - { - // "unknown" means this is a dedicated server and we weren't able to generate a unique ID (e.g. Linux server). - // Change the unique ID to be a hash of IP & port. We couldn't do this earlier because IP is not known until level - // init time. - ConVar *hostip = cvar->FindVar( "hostip" ); - ConVar *hostport = cvar->FindVar( "hostport" ); - if ( hostip && hostport ) - { - int crcInput[2]; - crcInput[0] = hostip->GetInt(); - crcInput[1] = hostport->GetInt(); - if ( crcInput[0] && crcInput[1] ) - { - CRC32_t crc = CRC32_ProcessSingleBuffer( crcInput, sizeof( crcInput ) ); - Q_snprintf( s_szPseudoUniqueID, ARRAYSIZE( s_szPseudoUniqueID ), "H:%x", crc ); - } - } - } - - PossibleMapChange(); - - m_flPauseStartTime = 0.0f; - m_flLevelStartTime = gpGlobals->realtime; - - gamestats->Event_LevelInit(); - -#ifdef GAME_DLL - if ( gamestats->UseOldFormat() ) - { - if( gamestats->AutoSave_OnLevelInit() ) - gamestats->SaveToFileNOW(); - - if( gamestats->AutoUpload_OnLevelInit() ) - gamestats->UploadStatsFileNOW(); - } -#endif -} - - -void CBaseGameStats_Driver::LevelShutdownPreEntity() -{ - float flElapsed = gpGlobals->realtime - m_flLevelStartTime; - - if ( flElapsed < 0.0f ) - { - Assert( 0 ); - Warning( "EVENT_LEVELSHUTDOWN: with negative elapsed time (rt %f starttime %f)\n", gpGlobals->realtime, m_flLevelStartTime ); - flElapsed = 0.0f; - } - - //Assert( m_bInLevel ); //so, apparently shutdowns can happen before inits - -#ifdef GAME_DLL - if ( m_bInLevel && ( gpGlobals->eLoadType != MapLoad_Background ) ) -#else - if ( m_bInLevel ) -#endif - { - m_flTotalTimeInLevels += flElapsed; - m_iNumLevels ++; - - gamestats->Event_LevelShutdown( flElapsed ); - - if ( gamestats->UseOldFormat() ) - { -#ifdef GAME_DLL - if( gamestats->AutoSave_OnLevelShutdown() ) - gamestats->SaveToFileNOW( true ); - - if( gamestats->AutoUpload_OnLevelShutdown() ) - gamestats->UploadStatsFileNOW(); -#endif - } - else - { - // code path for new format game stats - CollectData( STATSEND_LEVELSHUTDOWN ); - if ( gamestats->ShouldSendDataOnLevelShutdown() ) - { - SendData(); - } - } - m_bInLevel = false; - } -} - -void CBaseGameStats_Driver::OnSave() -{ - gamestats->Event_SaveGame(); -} - - -void CBaseGameStats_Driver::CollectData( StatSendType_t sendType ) -{ - CGamestatsData *pGamestatsData = NULL; -#ifdef GAME_DLL - // for server, check with the engine to see if there already a gamestats data container registered. (There will be if there is a client - // running in the same process.) - pGamestatsData = engine->GetGamestatsData(); - if ( pGamestatsData ) - { - // use the registered gamestats container, so free the one we allocated - if ( m_pGamestatsData != NULL ) - { - delete m_pGamestatsData; - m_pGamestatsData = NULL; - } - } - else - { - pGamestatsData = m_pGamestatsData; - } -#else - pGamestatsData = m_pGamestatsData; -#endif - Assert( pGamestatsData ); - KeyValues *pKV = pGamestatsData->m_pKVData; - - int iAppID = engine->GetAppID(); - pKV->SetInt( "appid", iAppID ); - - switch ( sendType ) - { - case STATSEND_LEVELSHUTDOWN: - { - // make a map node in the KeyValues to use for this level - char szMap[MAX_PATH+1]=""; -#ifdef CLIENT_DLL - Q_FileBase( engine->GetLevelName(), szMap, ARRAYSIZE( szMap ) ); -#else - Q_strncpy( szMap, gpGlobals->mapname.ToCStr(), ARRAYSIZE( szMap ) ); -#endif // CLIENT_DLL - if ( !szMap[0] ) - return; - KeyValues *pKVMap = new KeyValues( "map" ); - pKV->AddSubKey( pKVMap ); - pKVMap->SetString( "mapname", szMap ); - pKV = pKVMap; - - } - break; - case STATSEND_APPSHUTDOWN: - break; - default: - Assert( false ); - break; - } - - // add common data - pGamestatsData->m_bHaveData |= AddBaseDataForSend( pKV, sendType ); - // add game-specific data - pGamestatsData->m_bHaveData |= gamestats->AddDataForSend( pKV, sendType ); -} - - -void CBaseGameStats_Driver::SendData() -{ - // if we don't own the data container or there's no valid data, nothing to do - if ( !m_pGamestatsData || !m_pGamestatsData->m_bHaveData ) - return; - - // save the data to a buffer - CUtlBuffer buf( 0, 0, CUtlBuffer::TEXT_BUFFER ); - m_pGamestatsData->m_pKVData->RecursiveSaveToFile( buf, 0 ); - - if ( CommandLine()->FindParm( "-gamestatsfileoutputonly" ) ) - { - // write file for debugging - const char szFileName[] = "gamestats.dat"; - filesystem->WriteFile( szFileName, GAMESTATS_PATHID, buf ); - } - else - { - // upload the file to Steam - if ( gamestatsuploader ) - gamestatsuploader->UploadGameStats( "", 1, buf.TellPut(), buf.Base() ); - } - - ResetData(); -} - -bool CBaseGameStats_Driver::AddBaseDataForSend( KeyValues *pKV, StatSendType_t sendType ) -{ - switch ( sendType ) - { - case STATSEND_APPSHUTDOWN: -#ifdef CLIENT_DLL - if ( m_iNumLevels > 0 ) - { - // add playtime data - KeyValues *pKVData = new KeyValues( "playtime" ); - pKVData->SetInt( "TotalLevelTime", m_flTotalTimeInLevels ); - pKVData->SetInt( "NumLevels", m_iNumLevels ); - pKV->AddSubKey( pKVData ); - return true; - } -#endif - break; - case STATSEND_LEVELSHUTDOWN: -#ifdef CLIENT_DLL - if ( m_bBufferFull ) - { - // add perf data - KeyValues *pKVPerf = new KeyValues( "perfdata" ); - float flAverageFrameRate = AverageStat( &StatsBufferRecord_t::m_flFrameRate ); - float flMinFrameRate = MinStat( &StatsBufferRecord_t::m_flFrameRate ); - float flMaxFrameRate = MaxStat( &StatsBufferRecord_t::m_flFrameRate ); - - pKVPerf->SetFloat( "AvgFPS", flAverageFrameRate ); - pKVPerf->SetFloat( "MinFPS", flMinFrameRate ); - pKVPerf->SetFloat( "MaxFPS", flMaxFrameRate ); - - pKV->AddSubKey( pKVPerf ); - - return true; - } -#endif - break; - } - - return false; -} - - -void CBaseGameStats_Driver::ResetData() -{ -#ifdef GAME_DLL - // on the server, if there is a gamestats data container registered (by a client in the same process), they're in charge of resetting it, nothing for us to do - if ( engine->GetGamestatsData() != NULL ) - return; -#endif - - if ( m_pGamestatsData != NULL ) - { - delete m_pGamestatsData; - m_pGamestatsData = NULL; - } - - m_pGamestatsData = new CGamestatsData(); - KeyValues *pKV = m_pGamestatsData->m_pKVData; - - pKV->SetInt( "version", GAMESTATS_VERSION ); - pKV->SetString( "srcid", s_szPseudoUniqueID ); - -#ifdef CLIENT_DLL - const CPUInformation &cpu = GetCPUInformation(); - OverWriteCharsWeHate( cpu.m_szProcessorID ); - pKV->SetString( "CPUID", cpu.m_szProcessorID ); - pKV->SetFloat( "CPUGhz", cpu.m_Speed * ( 1.0 / 1.0e9 ) ); - pKV->SetInt( "NumCores", cpu.m_nPhysicalProcessors ); - - MaterialAdapterInfo_t gpu; - materials->GetDisplayAdapterInfo( materials->GetCurrentAdapter(), gpu ); - - CMatRenderContextPtr pRenderContext( materials ); - int dest_width,dest_height; - pRenderContext->GetRenderTargetDimensions( dest_width, dest_height ); - - if ( gpu.m_pDriverName ) - { - OverWriteCharsWeHate( gpu.m_pDriverName ); - } - pKV->SetString( "GPUDrv", SafeString( gpu.m_pDriverName ) ); - pKV->SetInt( "GPUVendor", gpu.m_VendorID ); - pKV->SetInt( "GPUDeviceID", gpu.m_DeviceID ); - pKV->SetString( "GPUDriverVersion", CFmtStr( "%d.%d", gpu.m_nDriverVersionHigh, gpu.m_nDriverVersionLow ) ); - pKV->SetInt( "DxLvl", g_pMaterialSystemHardwareConfig->GetDXSupportLevel() ); - pKV->SetInt( "Width", dest_width ); - pKV->SetInt( "Height", dest_height ); - - engine->SetGamestatsData( m_pGamestatsData ); -#endif -} - -void CBaseGameStats_Driver::OnRestore() -{ - PossibleMapChange(); - - gamestats->Event_LoadGame(); -} - - -void CBaseGameStats_Driver::FrameUpdatePostEntityThink() -{ - bool bGamePaused = ( gpGlobals->frametime == 0.0f ); - - if ( !m_bInLevel ) - { - m_flPauseStartTime = 0.0f; - } - else if ( m_bGamePaused != bGamePaused ) - { - if ( bGamePaused ) - { - m_flPauseStartTime = gpGlobals->realtime; - } - else if ( m_flPauseStartTime != 0.0f ) - { - float flPausedTime = gpGlobals->realtime - m_flPauseStartTime; - if ( flPausedTime < 0.0f ) - { - Assert( 0 ); - Warning( "Game paused time showing up negative (rt %f pausestart %f)\n", gpGlobals->realtime, m_flPauseStartTime ); - flPausedTime = 0.0f; - } - - // Remove this from global time counters - - // Msg( "Pause: adding %f to level starttime\n", flPausedTime ); - - m_flLevelStartTime += flPausedTime; - m_flPauseStartTime = 0.0f; - - // Msg( "Paused for %.2f seconds\n", flPausedTime ); - } - m_bGamePaused = bGamePaused; - } -} - -bool StatsTrackingIsFullyEnabled( void ) -{ - return CBGSDriver.m_bEnabled && gamestats->StatTrackingEnabledForMod(); -} - -void CBaseGameStats::Clear( void ) -{ -#ifdef GAME_DLL - gamestats->m_BasicStats.Clear(); -#endif -} - -//----------------------------------------------------------------------------- -// Nukes any dangerous characters and replaces w/space char -//----------------------------------------------------------------------------- -void OverWriteCharsWeHate( char *pStr ) -{ - while( *pStr ) - { - switch( *pStr ) - { - case '\n': - case '\r': - case '\\': - case '\"': - case '\'': - case '\032': - case ';': - *pStr = ' '; - } - pStr++; - } -} - -#ifdef GAME_DLL - -void CBaseGameStats::SetSteamStatistic( bool bUsingSteam ) -{ - if( CBGSDriver.m_bFirstLevel ) - { - m_BasicStats.m_Summary.m_bSteam = bUsingSteam; - } - - if( CBGSDriver.m_bInLevel ) - { - BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); - map->m_bSteam = bUsingSteam; - } - - m_BasicStats.m_bSteam = bUsingSteam; -} - -void CBaseGameStats::SetCyberCafeStatistic( bool bIsCyberCafeUser ) -{ - if( CBGSDriver.m_bFirstLevel ) - { - m_BasicStats.m_Summary.m_bCyberCafe = bIsCyberCafeUser; - } - - if( CBGSDriver.m_bInLevel ) - { - BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); - map->m_bCyberCafe = bIsCyberCafeUser; - } - - m_BasicStats.m_bCyberCafe = bIsCyberCafeUser; -} - -void CBaseGameStats::SetHDRStatistic( bool bHDREnabled ) -{ - if( bHDREnabled ) - { - if( CBGSDriver.m_bInLevel ) - { - BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); - ++map->m_nHDR; - } - - if( CBGSDriver.m_bFirstLevel ) - { - ++m_BasicStats.m_Summary.m_nHDR; - } - } -} - -void CBaseGameStats::SetCaptionsStatistic( bool bClosedCaptionsEnabled ) -{ - if( CBGSDriver.m_bInLevel ) - { - BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); - ++map->m_nCaptions; - } - - if( CBGSDriver.m_bFirstLevel ) - { - ++m_BasicStats.m_Summary.m_nCaptions; - } -} - -void CBaseGameStats::SetSkillStatistic( int iSkillSetting ) -{ - int skill = clamp( iSkillSetting, 1, 3 ) - 1; - - if( CBGSDriver.m_bInLevel ) - { - BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); - ++map->m_nSkill[ skill ]; - } - - if ( CBGSDriver. m_bFirstLevel ) - { - ++m_BasicStats.m_Summary.m_nSkill[ skill ]; - } -} - -void CBaseGameStats::SetDXLevelStatistic( int iDXLevel ) -{ - m_BasicStats.m_nDXLevel = iDXLevel; -} - -void CBaseGameStats::SetHL2UnlockedChapterStatistic( void ) -{ - // Now grab the hl2/cfg/config.cfg and suss out the sv_unlockedchapters cvar to estimate how far they got in HL2 - char const *relative = "cfg/config.cfg"; - char fullpath[ 512 ]; - char gamedir[256]; - engine->GetGameDir( gamedir, 256 ); - Q_snprintf( fullpath, sizeof( fullpath ), "%s/../hl2/%s", gamedir, relative ); - - if ( filesystem->FileExists( fullpath ) ) - { - FileHandle_t fh = filesystem->Open( fullpath, "rb" ); - if ( FILESYSTEM_INVALID_HANDLE != fh ) - { - // read file into memory - int size = filesystem->Size(fh); - char *configBuffer = new char[ size + 1 ]; - filesystem->Read( configBuffer, size, fh ); - configBuffer[size] = 0; - filesystem->Close( fh ); - - // loop through looking for all the cvars to apply - const char *search = Q_stristr(configBuffer, "sv_unlockedchapters" ); - if ( search ) - { - // read over the token - search = strtok( (char *)search, " \n" ); - search = strtok( NULL, " \n" ); - - if ( search[0]== '\"' ) - ++search; - - // read the value - int iChapter = Q_atoi( search ); - m_BasicStats.m_nHL2ChaptureUnlocked = iChapter; - } - - // free - delete [] configBuffer; - } - } -} - -static void CC_ResetGameStats( const CCommand &args ) -{ - gamestats->Clear(); - gamestats->SaveToFileNOW(); - gamestats->StatsLog( "CC_ResetGameStats : Server cleared game stats\n" ); -} - -static ConCommand resetGameStats("_resetgamestats", CC_ResetGameStats, "Erases current game stats and writes out a blank stats file", 0 ); - -class CPointGamestatsCounter : public CPointEntity -{ -public: - DECLARE_CLASS( CPointGamestatsCounter, CPointEntity ); - DECLARE_DATADESC(); - - CPointGamestatsCounter(); - -protected: - - void InputSetName( inputdata_t &inputdata ); - void InputIncrement( inputdata_t &inputdata ); - - void InputEnable( inputdata_t &inputdata ); - void InputDisable( inputdata_t &inputdata ); -private: - - string_t m_strStatisticName; - bool m_bDisabled; -}; - -BEGIN_DATADESC( CPointGamestatsCounter ) - - DEFINE_KEYFIELD( m_strStatisticName, FIELD_STRING, "Name" ), - DEFINE_FIELD( m_bDisabled, FIELD_BOOLEAN ), - - // Inputs - DEFINE_INPUTFUNC( FIELD_STRING, "SetName", InputSetName ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "Increment", InputIncrement ), - - DEFINE_INPUTFUNC( FIELD_VOID, "Enable", InputEnable ), - DEFINE_INPUTFUNC( FIELD_VOID, "Disable", InputDisable ), - -END_DATADESC() - -LINK_ENTITY_TO_CLASS( point_gamestats_counter, CPointGamestatsCounter ) - - -CPointGamestatsCounter::CPointGamestatsCounter() : - m_strStatisticName( NULL_STRING ), - m_bDisabled( false ) -{ -} - -//----------------------------------------------------------------------------- -// Purpose: Changes name of statistic -//----------------------------------------------------------------------------- -void CPointGamestatsCounter::InputSetName( inputdata_t &inputdata ) -{ - m_strStatisticName = inputdata.value.StringID(); -} - -//----------------------------------------------------------------------------- -// Purpose: Changes name of statistic -//----------------------------------------------------------------------------- -void CPointGamestatsCounter::InputIncrement( inputdata_t &inputdata ) -{ - if ( m_bDisabled ) - return; - - if ( NULL_STRING == m_strStatisticName ) - { - DevMsg( 1, "CPointGamestatsCounter::InputIncrement: No stat name specified for point_gamestats_counter @%f, %f, %f [ent index %d]\n", - GetAbsOrigin().x, GetAbsOrigin().y, GetAbsOrigin().z, entindex() ); - return; - } - - gamestats->Event_IncrementCountedStatistic( GetAbsOrigin(), STRING( m_strStatisticName ), inputdata.value.Float() ); -} - -void CPointGamestatsCounter::InputEnable( inputdata_t &inputdata ) -{ - m_bDisabled = false; -} - -void CPointGamestatsCounter::InputDisable( inputdata_t &inputdata ) -{ - m_bDisabled = true; -} - -#endif // GAME_DLL +//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#include "cbase.h" + + +#include "igamesystem.h" +#include "GameStats.h" +#include "tier1/utlstring.h" +#include "filesystem.h" +#include "tier1/utlbuffer.h" +#include "fmtstr.h" + +#ifndef SWDS +#include "iregistry.h" +#endif + +#include "tier1/utldict.h" +#include "tier0/icommandline.h" +#include +#ifdef GAME_DLL +#include "vehicle_base.h" +#endif + +#if defined( _X360 ) +#include "xbox/xbox_win32stubs.h" +#endif + +#define GAMESTATS_LOG_FILE "gamestats.log" +#define GAMESTATS_PATHID "MOD" + +/* +#define ONE_DAY_IN_SECONDS 86400 + +// Lower threshold in debug for testing... +#if defined( _DEBUG ) +#define WALKED_AWAY_FROM_KEYBOARD_SECONDS 15.0f // 15 seconds of movement == might be paused +#else +#define WALKED_AWAY_FROM_KEYBOARD_SECONDS 300.0f // 5 minutes of no movement == might be paused +#endif +*/ + +extern IUploadGameStats *gamestatsuploader; + +static char s_szPseudoUniqueID[20] = ""; + +static inline char const *SafeString( char const *pStr ) +{ + return ( pStr ) ? pStr : "?"; +} + +static CBaseGameStats s_GameStats_Singleton; +CBaseGameStats *gamestats = &s_GameStats_Singleton; //start out pointing at the basic version which does nothing by default +extern ConVar skill; +void OverWriteCharsWeHate( char *pStr ); + +bool StatsTrackingIsFullyEnabled( void ); + +class CGamestatsData +{ +public: + CGamestatsData() + { + m_pKVData = NULL; + m_bHaveData = false; + AllocData(); + } + + ~CGamestatsData() + { + FreeData(); + } + + void AllocData() + { + FreeData(); + m_pKVData = new KeyValues( "gamestats" ); + } + void FreeData() + { + if ( m_pKVData != NULL ) + { + m_pKVData->deleteThis(); + m_pKVData = NULL; + } + } + + KeyValues *m_pKVData; + bool m_bHaveData; +}; + +//used to drive most of the game stat event handlers as well as track basic stats under the hood of CBaseGameStats +class CBaseGameStats_Driver : public CAutoGameSystemPerFrame +{ +public: + CBaseGameStats_Driver( void ); + + typedef CAutoGameSystemPerFrame BaseClass; + + // IGameSystem overloads + virtual bool Init(); + virtual void Shutdown(); + + // Level init, shutdown + virtual void LevelInitPreEntity(); + virtual void LevelShutdownPreEntity(); + // Called during game save + virtual void OnSave(); + // Called during game restore, after the local player has connected and entities have been fully restored + virtual void OnRestore(); + + virtual void FrameUpdatePostEntityThink(); + + void PossibleMapChange( void ); + + void CollectData( StatSendType_t sendType ); + void SendData(); + void ResetData(); + bool AddBaseDataForSend( KeyValues *pKV, StatSendType_t sendType ); + + StatsBufferRecord_t m_StatsBuffer[STATS_WINDOW_SIZE]; + bool m_bBufferFull; + int m_nWriteIndex; + float m_flLastRealTime; + float m_flLastSampleTime; + float m_flTotalTimeInLevels; + int m_iNumLevels; + + template T AverageStat( T StatsBufferRecord_t::*field ) const + { + T sum = 0; + for( int i = 0; i < STATS_WINDOW_SIZE; i++ ) + sum += m_StatsBuffer[i].*field; + return sum / STATS_WINDOW_SIZE; + } + + template T MaxStat( T StatsBufferRecord_t::*field ) const + { + T maxsofar = -16000000; + for( int i = 0; i < STATS_WINDOW_SIZE; i++ ) + maxsofar = max( maxsofar, m_StatsBuffer[i].*field ); + return maxsofar; + } + + template T MinStat( T StatsBufferRecord_t::*field ) const + { + T minsofar = 16000000; + for( int i = 0; i < STATS_WINDOW_SIZE; i++ ) + minsofar = min( minsofar, m_StatsBuffer[i].*field ); + return minsofar; + } + + inline void AdvanceIndex( void ) + { + m_nWriteIndex++; + if ( m_nWriteIndex == STATS_WINDOW_SIZE ) + { + m_nWriteIndex = 0; + m_bBufferFull = true; + } + } + + void UpdatePerfStats( void ) + { + float flCurTime = Plat_FloatTime(); + if ( + ( m_flLastSampleTime == -1 ) || + ( flCurTime - m_flLastSampleTime >= STATS_RECORD_INTERVAL ) ) + { + if ( ( m_flLastRealTime > 0 ) && ( flCurTime > m_flLastRealTime ) ) + { + float flFrameRate = 1.0 / ( flCurTime - m_flLastRealTime ); + StatsBufferRecord_t &stat = m_StatsBuffer[m_nWriteIndex]; + stat.m_flFrameRate = flFrameRate; + AdvanceIndex(); + m_flLastSampleTime = flCurTime; + } + } + m_flLastRealTime = flCurTime; + } + + CUtlString m_PrevMapName; //used to track "OnMapChange" events + int m_iLoadedVersion; + char m_szLoadedUserID[ 17 ]; // GUID + + bool m_bEnabled; //false if incapable of uploading or the user doesn't want to enable stat tracking + bool m_bShuttingDown; + bool m_bInLevel; + bool m_bFirstLevel; + time_t m_tLastUpload; + + float m_flLevelStartTime; + + bool m_bStationary; + float m_flLastMovementTime; + CUserCmd m_LastUserCmd; + bool m_bGamePaused; + float m_flPauseStartTime; + + CGamestatsData *m_pGamestatsData; +}; +static CBaseGameStats_Driver CBGSDriver; + +void UpdatePerfStats( void ) +{ + CBGSDriver.UpdatePerfStats(); +} + +CBaseGameStats_Driver::CBaseGameStats_Driver( void ) : + BaseClass( "CGameStats" ), + m_bBufferFull( false ), + m_nWriteIndex( 0 ), + m_flLastRealTime( -1 ), + m_flLastSampleTime( -1 ), + m_flTotalTimeInLevels( 0 ), + m_iNumLevels( 0 ), + m_iLoadedVersion( -1 ), + m_bEnabled( false ), + m_bShuttingDown( false ), + m_bInLevel( false ), + m_bFirstLevel( true ), + m_flLevelStartTime( 0.0f ), + m_bStationary( false ), + m_flLastMovementTime( 0.0f ), + m_bGamePaused( false ), + m_pGamestatsData( NULL ) + +{ + m_szLoadedUserID[0] = 0;; + m_tLastUpload = 0; + m_LastUserCmd.Reset(); +} + +static FileHandle_t g_LogFileHandle = FILESYSTEM_INVALID_HANDLE; + +CBaseGameStats::CBaseGameStats() : + m_bLogging( false ), + m_bLoggingToFile( false ) +{ +} + +bool CBaseGameStats::StatTrackingAllowed( void ) +{ + return CBGSDriver.m_bEnabled; +} + +// Don't care about vcr hooks here... +#undef localtime +#undef asctime + +#include + +void CBaseGameStats::StatsLog( char const *fmt, ... ) +{ + if ( !m_bLogging && !m_bLoggingToFile ) + return; + + char buf[ 2048 ]; + va_list argptr; + va_start( argptr, fmt ); + Q_vsnprintf( buf, sizeof( buf ), fmt, argptr ); + va_end( argptr ); + + // Prepend timestamp and spew it + + // Prepend the time. + time_t aclock; + time( &aclock ); + struct tm *newtime = localtime( &aclock ); + + char timeString[ 128 ]; + Q_strncpy( timeString, asctime( newtime ), sizeof( timeString ) ); + // Get rid of the \n. + char *pEnd = strstr( timeString, "\n" ); + if ( pEnd ) + { + *pEnd = 0; + } + + if ( m_bLogging ) + { + DevMsg( "[GS %s - %7.2f] %s", timeString, gpGlobals->realtime, buf ); + } + + if ( m_bLoggingToFile ) + { + if ( FILESYSTEM_INVALID_HANDLE == g_LogFileHandle ) + { + g_LogFileHandle = filesystem->Open( GAMESTATS_LOG_FILE, "a", GAMESTATS_PATHID ); + } + + if ( FILESYSTEM_INVALID_HANDLE != g_LogFileHandle ) + { + filesystem->FPrintf( g_LogFileHandle, "[GS %s - %7.2f] %s", timeString, gpGlobals->realtime, buf ); + filesystem->Flush( g_LogFileHandle ); + } + } +} + +static char s_szSaveFileName[256] = ""; +static char s_szStatUploadRegistryKeyName[256] = ""; + +const char *CBaseGameStats::GetStatSaveFileName( void ) +{ + AssertMsg( s_szSaveFileName[0] != '\0', "Don't know what file to save stats to." ); + return s_szSaveFileName; +} + +const char *CBaseGameStats::GetStatUploadRegistryKeyName( void ) +{ + AssertMsg( s_szStatUploadRegistryKeyName[0] != '\0', "Don't know the registry key to use to mark stats uploads." ); + return s_szStatUploadRegistryKeyName; +} + +const char *CBaseGameStats::GetUserPseudoUniqueID( void ) +{ + AssertMsg( s_szPseudoUniqueID[0] != '\0', "Don't have a pseudo unique ID." ); + return s_szPseudoUniqueID; +} + +void CBaseGameStats::Event_Init( void ) +{ +#ifdef GAME_DLL + SetHL2UnlockedChapterStatistic(); + SetSteamStatistic( filesystem->IsSteam() ); + SetCyberCafeStatistic( gamestatsuploader->IsCyberCafeUser() ); + ConVarRef pDXLevel( "mat_dxlevel" ); + if( pDXLevel.IsValid() ) + { + SetDXLevelStatistic( pDXLevel.GetInt() ); + } + ++m_BasicStats.m_Summary.m_nCount; + + StatsLog( "CBaseGameStats::Event_Init [%dth session]\n", m_BasicStats.m_Summary.m_nCount ); +#endif // GAME_DLL +} + +void CBaseGameStats::Event_Shutdown( void ) +{ +#ifdef GAME_DLL + StatsLog( "CBaseGameStats::Event_Shutdown [%dth session]\n", m_BasicStats.m_Summary.m_nCount ); + + StatsLog( "\n====================================================================\n\n" ); +#endif +} + +void CBaseGameStats::Event_MapChange( const char *szOldMapName, const char *szNewMapName ) +{ + StatsLog( "CBaseGameStats::Event_MapChange to [%s]\n", szNewMapName ); +} + +void CBaseGameStats::Event_LevelInit( void ) +{ +#ifdef GAME_DLL + StatsLog( "CBaseGameStats::Event_LevelInit [%s]\n", CBGSDriver.m_PrevMapName.String() ); + + BasicGameStatsRecord_t *map = gamestats->m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); + ++map->m_nCount; + + // HACK HACK: Punching this hole through only works in single player!!! + if ( gpGlobals->maxClients == 1 ) + { + ConVarRef closecaption( "closecaption" ); + if( closecaption.IsValid() ) + SetCaptionsStatistic( closecaption.GetBool() ); + + SetHDRStatistic( gamestatsuploader->IsHDREnabled() ); + + SetSkillStatistic( skill.GetInt() ); + SetSteamStatistic( filesystem->IsSteam() ); + SetCyberCafeStatistic( gamestatsuploader->IsCyberCafeUser() ); + } +#endif // GAME_DLL +} + +void CBaseGameStats::Event_LevelShutdown( float flElapsed ) +{ +#ifdef GAME_DLL + BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); + Assert( map ); + map->m_nSeconds += (int)flElapsed; + gamestats->m_BasicStats.m_Summary.m_nSeconds += (int)flElapsed; + + StatsLog( "CBaseGameStats::Event_LevelShutdown [%s] %.2f elapsed %d total\n", CBGSDriver.m_PrevMapName.String(), flElapsed, gamestats->m_BasicStats.m_Summary.m_nSeconds ); +#endif // GAME_DLL +} + +void CBaseGameStats::Event_SaveGame( void ) +{ + StatsLog( "CBaseGameStats::Event_SaveGame [%s]\n", CBGSDriver.m_PrevMapName.String() ); +} + +void CBaseGameStats::Event_LoadGame( void ) +{ +#ifdef GAME_DLL + char const *pchSaveFile = engine->GetMostRecentlyLoadedFileName(); + StatsLog( "CBaseGameStats::Event_LoadGame [%s] from %s\n", CBGSDriver.m_PrevMapName.String(), pchSaveFile ); +#endif +} + +#ifdef GAME_DLL + +void CBaseGameStats::Event_PlayerKilled( CBasePlayer *pPlayer, const CTakeDamageInfo &info ) +{ + ++m_BasicStats.m_Summary.m_nDeaths; + + if( CBGSDriver.m_bInLevel ) + { + BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); + ++map->m_nDeaths; + StatsLog( " Player died %dth time in level [%s]!!!\n", map->m_nDeaths, CBGSDriver.m_PrevMapName.String() ); + } + else + { + StatsLog( " Player died, but not in a level!!!\n" ); + Assert( 0 ); + } + + StatsLog( "CBaseGameStats::Event_PlayerKilled [%s] [%dth death]\n", pPlayer->GetPlayerName(), m_BasicStats.m_Summary.m_nDeaths ); +} + +void CBaseGameStats::Event_Commentary() +{ + if( CBGSDriver.m_bInLevel ) + { + BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); + ++map->m_nCommentary; + } + + ++m_BasicStats.m_Summary.m_nCommentary; + + StatsLog( "CBaseGameStats::Event_Commentary [%d]\n", m_BasicStats.m_Summary.m_nCommentary ); +} + +void CBaseGameStats::Event_Credits() +{ + StatsLog( "CBaseGameStats::Event_Credits\n" ); + + float elapsed = 0.0f; + if( CBGSDriver.m_bInLevel ) + { + elapsed = gpGlobals->realtime - CBGSDriver.m_flLevelStartTime; + } + + if( elapsed < 0.0f ) + { + Assert( 0 ); + Warning( "EVENT_CREDITS with negative elapsed time (rt %f starttime %f)\n", gpGlobals->realtime, CBGSDriver.m_flLevelStartTime ); + elapsed = 0.0f; + } + + // Only set this one time!!! + if( gamestats->m_BasicStats.m_nSecondsToCompleteGame == 0 ) + { + if( gamestats->UserPlayedAllTheMaps() ) + { + gamestats->m_BasicStats.m_nSecondsToCompleteGame = (int)(elapsed + gamestats->m_BasicStats.m_Summary.m_nSeconds); + gamestats->SaveToFileNOW(); + } + } +} + +void CBaseGameStats::Event_CrateSmashed() +{ + StatsLog( "CBaseGameStats::Event_CrateSmashed\n" ); +} + +void CBaseGameStats::Event_Punted( CBaseEntity *pObject ) +{ + StatsLog( "CBaseGameStats::Event_Punted [%s]\n", pObject->GetClassname() ); +} + +void CBaseGameStats::Event_PlayerTraveled( CBasePlayer *pBasePlayer, float distanceInInches, bool bInVehicle, bool bSprinting ) +{ +} + +void CBaseGameStats::Event_FlippedVehicle( CBasePlayer *pDriver, CPropVehicleDriveable *pVehicle ) +{ + StatsLog( "CBaseGameStats::Event_FlippedVehicle [%s] flipped [%s]\n", pDriver->GetPlayerName(), pVehicle->GetClassname() ); +} + +// Called before .sav file is actually loaded (player should still be in previous level, if any) +void CBaseGameStats::Event_PreSaveGameLoaded( char const *pSaveName, bool bInGame ) +{ + StatsLog( "CBaseGameStats::Event_PreSaveGameLoaded [%s] %s\n", pSaveName, bInGame ? "in-game" : "at console" ); +} + +bool CBaseGameStats::SaveToFileNOW( bool bForceSyncWrite /* = false */ ) +{ + if ( !StatsTrackingIsFullyEnabled() ) + return false; + + // this code path is only for old format stats. Products that use new format take a different path. + if ( !gamestats->UseOldFormat() ) + return false; + + CUtlBuffer buf; + buf.PutShort( GAMESTATS_FILE_VERSION ); + buf.Put( s_szPseudoUniqueID, 16 ); + + if( ShouldTrackStandardStats() ) + m_BasicStats.SaveToBuffer( buf ); + else + buf.PutInt( GAMESTATS_STANDARD_NOT_SAVED ); + + gamestats->AppendCustomDataToSaveBuffer( buf ); + + char fullpath[ 512 ] = { 0 }; + if ( filesystem->FileExists( GetStatSaveFileName(), GAMESTATS_PATHID ) ) + { + filesystem->RelativePathToFullPath( GetStatSaveFileName(), GAMESTATS_PATHID, fullpath, sizeof( fullpath ) ); + } + else + { + // filename is local to game dir for Steam, so we need to prepend game dir for regular file save + char gamePath[256]; + engine->GetGameDir( gamePath, 256 ); + Q_StripTrailingSlash( gamePath ); + Q_snprintf( fullpath, sizeof( fullpath ), "%s/%s", gamePath, GetStatSaveFileName() ); + Q_strlower( fullpath ); + Q_FixSlashes( fullpath ); + } + + // StatsLog( "SaveToFileNOW '%s'\n", fullpath ); + + if( CBGSDriver.m_bShuttingDown || bForceSyncWrite ) //write synchronously + { + filesystem->WriteFile( fullpath, GAMESTATS_PATHID, buf ); + + StatsLog( "Shut down wrote to '%s'\n", fullpath ); + } + else + { + // Allocate memory for async system to use (and free afterward!!!) + size_t nBufferSize = buf.TellPut(); + void *pMem = malloc(nBufferSize); + CUtlBuffer statsBuffer( pMem, nBufferSize ); + statsBuffer.Put( buf.Base(), nBufferSize ); + + // Write data async + filesystem->AsyncWrite( fullpath, statsBuffer.Base(), statsBuffer.TellPut(), true, false ); + } + + return true; +} + +void CBaseGameStats::Event_PlayerConnected( CBasePlayer *pBasePlayer ) +{ + StatsLog( "CBaseGameStats::Event_PlayerConnected [%s]\n", pBasePlayer->GetPlayerName() ); +} + +void CBaseGameStats::Event_PlayerDisconnected( CBasePlayer *pBasePlayer ) +{ + StatsLog( "CBaseGameStats::Event_PlayerDisconnected\n", pBasePlayer->GetPlayerName() ); +} + +void CBaseGameStats::Event_PlayerDamage( CBasePlayer *pBasePlayer, const CTakeDamageInfo &info ) +{ + //StatsLog( "CBaseGameStats::Event_PlayerDamage [%s] took %.2f damage\n", pBasePlayer->GetPlayerName(), info.GetDamage() ); +} + +void CBaseGameStats::Event_PlayerKilledOther( CBasePlayer *pAttacker, CBaseEntity *pVictim, const CTakeDamageInfo &info ) +{ + StatsLog( "CBaseGameStats::Event_PlayerKilledOther [%s] killed [%s]\n", pAttacker->GetPlayerName(), pVictim->GetClassname() ); +} + +void CBaseGameStats::Event_WeaponFired( CBasePlayer *pShooter, bool bPrimary, char const *pchWeaponName ) +{ + StatsLog( "CBaseGameStats::Event_WeaponFired [%s] %s weapon [%s]\n", pShooter->GetPlayerName(), bPrimary ? "primary" : "secondary", pchWeaponName ); +} + +void CBaseGameStats::Event_WeaponHit( CBasePlayer *pShooter, bool bPrimary, char const *pchWeaponName, const CTakeDamageInfo &info ) +{ + StatsLog( "CBaseGameStats::Event_WeaponHit [%s] %s weapon [%s] damage [%f]\n", pShooter->GetPlayerName(), bPrimary ? "primary" : "secondary", pchWeaponName, info.GetDamage() ); +} + +void CBaseGameStats::Event_PlayerEnteredGodMode( CBasePlayer *pBasePlayer ) +{ + StatsLog( "CBaseGameStats::Event_PlayerEnteredGodMode [%s] entered GOD mode\n", pBasePlayer->GetPlayerName() ); +} + +void CBaseGameStats::Event_PlayerEnteredNoClip( CBasePlayer *pBasePlayer ) +{ + StatsLog( "CBaseGameStats::Event_PlayerEnteredNoClip [%s] entered NOCLIPe\n", pBasePlayer->GetPlayerName() ); +} + +void CBaseGameStats::Event_DecrementPlayerEnteredNoClip( CBasePlayer *pBasePlayer ) +{ + StatsLog( "CBaseGameStats::Event_DecrementPlayerEnteredNoClip [%s] decrementing NOCLIPe\n", pBasePlayer->GetPlayerName() ); +} + +void CBaseGameStats::Event_IncrementCountedStatistic( const Vector& vecAbsOrigin, char const *pchStatisticName, float flIncrementAmount ) +{ + StatsLog( "Incrementing %s by %f at pos (%d, %d, %d)\n", pchStatisticName, flIncrementAmount, (int)vecAbsOrigin.x, (int)vecAbsOrigin.y, (int)vecAbsOrigin.z ); +} + +bool CBaseGameStats::UploadStatsFileNOW( void ) +{ + if( !StatsTrackingIsFullyEnabled() || !HaveValidData() || !gamestats->UseOldFormat() ) + return false; + + if ( !filesystem->FileExists( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID ) ) + { + return false; + } + + int curtime = (int)Plat_FloatTime(); + + CBGSDriver.m_tLastUpload = curtime; + + // Update the registry +#ifndef SWDS + IRegistry *reg = InstanceRegistry( "Steam" ); + Assert( reg ); + reg->WriteInt( GetStatUploadRegistryKeyName(), CBGSDriver.m_tLastUpload ); + ReleaseInstancedRegistry( reg ); +#endif + + CUtlBuffer buf; + filesystem->ReadFile( GetStatSaveFileName(), GAMESTATS_PATHID, buf ); + unsigned int uBlobSize = buf.TellPut(); + if ( uBlobSize == 0 ) + { + return false; + } + + const void *pvBlobData = ( const void * )buf.Base(); + + if( gamestatsuploader ) + { + return gamestatsuploader->UploadGameStats( "", + 1, + uBlobSize, + pvBlobData ); + } + + return false; +} + + +void CBaseGameStats::LoadingEvent_PlayerIDDifferentThanLoadedStats( void ) +{ + StatsLog( "CBaseGameStats::LoadingEvent_PlayerIDDifferentThanLoadedStats\n" ); +} + + +bool CBaseGameStats::LoadFromFile( void ) +{ + if ( filesystem->FileExists( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID ) ) + { + char fullpath[ 512 ]; + filesystem->RelativePathToFullPath( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID, fullpath, sizeof( fullpath ) ); + StatsLog( "Loading stats from '%s'\n", fullpath ); + } + + CUtlBuffer buf; + if ( filesystem->ReadFile( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID, buf ) ) + { + bool bRetVal = true; + + int version = buf.GetShort(); + if ( version > GAMESTATS_FILE_VERSION ) + return false; //file is beyond our comprehension + + // Set global parse version + CBGSDriver.m_iLoadedVersion = version; + + buf.Get( CBGSDriver.m_szLoadedUserID, 16 ); + CBGSDriver.m_szLoadedUserID[ sizeof( CBGSDriver.m_szLoadedUserID ) - 1 ] = 0; + + if ( s_szPseudoUniqueID[ 0 ] != 0 ) + { + if ( Q_stricmp( CBGSDriver.m_szLoadedUserID, s_szPseudoUniqueID ) ) + { + //UserID changed, blow away log!!! + filesystem->RemoveFile( gamestats->GetStatSaveFileName(), GAMESTATS_PATHID ); + filesystem->RemoveFile( GAMESTATS_LOG_FILE, GAMESTATS_PATHID ); + Warning( "Userid changed, clearing stats file\n" ); + CBGSDriver.m_szLoadedUserID[0] = '\0'; + CBGSDriver.m_iLoadedVersion = -1; + gamestats->m_BasicStats.Clear(); + gamestats->LoadingEvent_PlayerIDDifferentThanLoadedStats(); + bRetVal = false; + } + + if ( version <= GAMESTATS_FILE_VERSION_OLD5 ) + { + gamestats->m_BasicStats.Clear(); + bRetVal = false; + } + else + { + // Peek ahead in buffer to see if we have the "no default stats" secret flag set. + int iCheckForStandardStatsInFile = *( int * )buf.PeekGet(); + bool bValid = true; + + if ( iCheckForStandardStatsInFile != (int)GAMESTATS_STANDARD_NOT_SAVED ) + { + //the GAMESTATS_STANDARD_NOT_SAVED flag coincides with user completion time, rewind so the gamestats parser can grab it + bValid = gamestats->m_BasicStats.ParseFromBuffer( buf, version ); + } + else + { + // skip over the flag + buf.GetInt(); + } + + if( !bValid ) + { + m_BasicStats.Clear(); + } + + if( ( buf.TellPut() - buf.TellGet() ) != 0 ) //more data left, must be custom data + { + gamestats->LoadCustomDataFromBuffer( buf ); + } + } + } + + return bRetVal; + } + else + { + filesystem->RemoveFile( GAMESTATS_LOG_FILE, GAMESTATS_PATHID ); + } + + return false; +} + +#endif // GAME_DLL + +bool CBaseGameStats_Driver::Init() +{ + const char *pGameDir = CommandLine()->ParmValue( "-game", "hl2" ); + + //standardizing is a good thing + char szLoweredGameDir[256]; + Q_strncpy( szLoweredGameDir, pGameDir, sizeof( szLoweredGameDir ) ); + Q_strlower( szLoweredGameDir ); + + gamestats = gamestats->OnInit( gamestats, szLoweredGameDir ); + + //determine constant strings needed for saving and uploading + Q_strncpy( s_szSaveFileName, szLoweredGameDir, sizeof( s_szSaveFileName ) ); + Q_strncat( s_szSaveFileName, "_gamestats.dat", sizeof( s_szSaveFileName ) ); + + Q_strncpy( s_szStatUploadRegistryKeyName, "GameStatsUpload_", sizeof( s_szStatUploadRegistryKeyName ) ); + Q_strncat( s_szStatUploadRegistryKeyName, szLoweredGameDir, sizeof( s_szStatUploadRegistryKeyName ) ); + + gamestats->m_bLoggingToFile = CommandLine()->FindParm( "-gamestatsloggingtofile" ) ? true : false; + gamestats->m_bLogging = CommandLine()->FindParm( "-gamestatslogging" ) ? true : false; + + if ( gamestatsuploader ) + { + m_bEnabled = gamestatsuploader->IsGameStatsLoggingEnabled(); + if ( m_bEnabled ) + { + gamestatsuploader->GetPseudoUniqueId( s_szPseudoUniqueID, sizeof( s_szPseudoUniqueID ) ); + } + } + + ResetData(); + +#ifdef GAME_DLL + if ( StatsTrackingIsFullyEnabled() ) + { + // FIXME: Load m_tLastUpload from registry and save it back out, too +#ifndef SWDS + IRegistry *reg = InstanceRegistry( "Steam" ); + Assert( reg ); + m_tLastUpload = reg->ReadInt( gamestats->GetStatUploadRegistryKeyName(), 0 ); + ReleaseInstancedRegistry( reg ); +#endif + //load existing stats + gamestats->LoadFromFile(); + } +#endif // GAME_DLL + + if ( s_szPseudoUniqueID[ 0 ] != 0 ) + { + gamestats->Event_Init(); +#ifdef GAME_DLL + if ( gamestats->UseOldFormat() ) + { + if( gamestats->AutoSave_OnInit() ) + gamestats->SaveToFileNOW(); + + if( gamestats->AutoUpload_OnInit() ) + gamestats->UploadStatsFileNOW(); + } +#endif + } + else + { + m_bEnabled = false; //unable to generate a pseudo-unique ID, disable tracking + } + + return true; +} + + +void CBaseGameStats_Driver::Shutdown() +{ + m_bShuttingDown = true; + + gamestats->Event_Shutdown(); + + if ( gamestats->UseOldFormat() ) + { +#ifdef GAME_DLL + if( gamestats->AutoSave_OnShutdown() ) + gamestats->SaveToFileNOW(); + + if( gamestats->AutoUpload_OnShutdown() ) + gamestats->UploadStatsFileNOW(); +#endif // GAME_DLL + } + else + { + // code path for new format game stats + if ( gamestats->ShouldSendDataOnAppShutdown() ) + { + CollectData( STATSEND_APPSHUTDOWN ); + SendData(); + } + } + if ( FILESYSTEM_INVALID_HANDLE != g_LogFileHandle ) + { + filesystem->Close( g_LogFileHandle ); + g_LogFileHandle = FILESYSTEM_INVALID_HANDLE; + } + + if ( m_pGamestatsData != NULL ) + { +#ifdef CLIENT_DLL + engine->SetGamestatsData( NULL ); +#endif + delete m_pGamestatsData; + m_pGamestatsData = NULL; + } +} + +void CBaseGameStats_Driver::PossibleMapChange( void ) +{ +#ifdef GAME_DLL + //detect and copy map changes + if ( Q_stricmp( m_PrevMapName.String(), STRING( gpGlobals->mapname ) ) ) + { + MEM_ALLOC_CREDIT(); + + CUtlString PrevMapBackup = m_PrevMapName; + + m_PrevMapName = STRING( gpGlobals->mapname ); + + gamestats->Event_MapChange( PrevMapBackup.String(), STRING( gpGlobals->mapname ) ); + + if ( gamestats->UseOldFormat() ) + { + if( gamestats->AutoSave_OnMapChange() ) + gamestats->SaveToFileNOW(); + + if( gamestats->AutoUpload_OnMapChange() ) + gamestats->UploadStatsFileNOW(); + } + } +#endif +} + + + +void CBaseGameStats_Driver::LevelInitPreEntity() +{ + m_bInLevel = true; + m_bFirstLevel = false; + + if ( Q_stricmp( s_szPseudoUniqueID, "unknown" ) == 0 ) + { + // "unknown" means this is a dedicated server and we weren't able to generate a unique ID (e.g. Linux server). + // Change the unique ID to be a hash of IP & port. We couldn't do this earlier because IP is not known until level + // init time. + ConVar *hostip = cvar->FindVar( "hostip" ); + ConVar *hostport = cvar->FindVar( "hostport" ); + if ( hostip && hostport ) + { + int crcInput[2]; + crcInput[0] = hostip->GetInt(); + crcInput[1] = hostport->GetInt(); + if ( crcInput[0] && crcInput[1] ) + { + CRC32_t crc = CRC32_ProcessSingleBuffer( crcInput, sizeof( crcInput ) ); + Q_snprintf( s_szPseudoUniqueID, ARRAYSIZE( s_szPseudoUniqueID ), "H:%x", crc ); + } + } + } + + PossibleMapChange(); + + m_flPauseStartTime = 0.0f; + m_flLevelStartTime = gpGlobals->realtime; + + gamestats->Event_LevelInit(); + +#ifdef GAME_DLL + if ( gamestats->UseOldFormat() ) + { + if( gamestats->AutoSave_OnLevelInit() ) + gamestats->SaveToFileNOW(); + + if( gamestats->AutoUpload_OnLevelInit() ) + gamestats->UploadStatsFileNOW(); + } +#endif +} + + +void CBaseGameStats_Driver::LevelShutdownPreEntity() +{ + float flElapsed = gpGlobals->realtime - m_flLevelStartTime; + + if ( flElapsed < 0.0f ) + { + Assert( 0 ); + Warning( "EVENT_LEVELSHUTDOWN: with negative elapsed time (rt %f starttime %f)\n", gpGlobals->realtime, m_flLevelStartTime ); + flElapsed = 0.0f; + } + + //Assert( m_bInLevel ); //so, apparently shutdowns can happen before inits + +#ifdef GAME_DLL + if ( m_bInLevel && ( gpGlobals->eLoadType != MapLoad_Background ) ) +#else + if ( m_bInLevel ) +#endif + { + m_flTotalTimeInLevels += flElapsed; + m_iNumLevels ++; + + gamestats->Event_LevelShutdown( flElapsed ); + + if ( gamestats->UseOldFormat() ) + { +#ifdef GAME_DLL + if( gamestats->AutoSave_OnLevelShutdown() ) + gamestats->SaveToFileNOW( true ); + + if( gamestats->AutoUpload_OnLevelShutdown() ) + gamestats->UploadStatsFileNOW(); +#endif + } + else + { + // code path for new format game stats + CollectData( STATSEND_LEVELSHUTDOWN ); + if ( gamestats->ShouldSendDataOnLevelShutdown() ) + { + SendData(); + } + } + m_bInLevel = false; + } +} + +void CBaseGameStats_Driver::OnSave() +{ + gamestats->Event_SaveGame(); +} + + +void CBaseGameStats_Driver::CollectData( StatSendType_t sendType ) +{ + CGamestatsData *pGamestatsData = NULL; +#ifdef GAME_DLL + // for server, check with the engine to see if there already a gamestats data container registered. (There will be if there is a client + // running in the same process.) + pGamestatsData = engine->GetGamestatsData(); + if ( pGamestatsData ) + { + // use the registered gamestats container, so free the one we allocated + if ( m_pGamestatsData != NULL ) + { + delete m_pGamestatsData; + m_pGamestatsData = NULL; + } + } + else + { + pGamestatsData = m_pGamestatsData; + } +#else + pGamestatsData = m_pGamestatsData; +#endif + Assert( pGamestatsData ); + KeyValues *pKV = pGamestatsData->m_pKVData; + + int iAppID = engine->GetAppID(); + pKV->SetInt( "appid", iAppID ); + + switch ( sendType ) + { + case STATSEND_LEVELSHUTDOWN: + { + // make a map node in the KeyValues to use for this level + char szMap[MAX_PATH+1]=""; +#ifdef CLIENT_DLL + Q_FileBase( engine->GetLevelName(), szMap, ARRAYSIZE( szMap ) ); +#else + Q_strncpy( szMap, gpGlobals->mapname.ToCStr(), ARRAYSIZE( szMap ) ); +#endif // CLIENT_DLL + if ( !szMap[0] ) + return; + KeyValues *pKVMap = new KeyValues( "map" ); + pKV->AddSubKey( pKVMap ); + pKVMap->SetString( "mapname", szMap ); + pKV = pKVMap; + + } + break; + case STATSEND_APPSHUTDOWN: + break; + default: + Assert( false ); + break; + } + + // add common data + pGamestatsData->m_bHaveData |= AddBaseDataForSend( pKV, sendType ); + // add game-specific data + pGamestatsData->m_bHaveData |= gamestats->AddDataForSend( pKV, sendType ); +} + + +void CBaseGameStats_Driver::SendData() +{ + // if we don't own the data container or there's no valid data, nothing to do + if ( !m_pGamestatsData || !m_pGamestatsData->m_bHaveData ) + return; + + // save the data to a buffer + CUtlBuffer buf( 0, 0, CUtlBuffer::TEXT_BUFFER ); + m_pGamestatsData->m_pKVData->RecursiveSaveToFile( buf, 0 ); + + if ( CommandLine()->FindParm( "-gamestatsfileoutputonly" ) ) + { + // write file for debugging + const char szFileName[] = "gamestats.dat"; + filesystem->WriteFile( szFileName, GAMESTATS_PATHID, buf ); + } + else + { + // upload the file to Steam + if ( gamestatsuploader ) + gamestatsuploader->UploadGameStats( "", 1, buf.TellPut(), buf.Base() ); + } + + ResetData(); +} + +bool CBaseGameStats_Driver::AddBaseDataForSend( KeyValues *pKV, StatSendType_t sendType ) +{ + switch ( sendType ) + { + case STATSEND_APPSHUTDOWN: +#ifdef CLIENT_DLL + if ( m_iNumLevels > 0 ) + { + // add playtime data + KeyValues *pKVData = new KeyValues( "playtime" ); + pKVData->SetInt( "TotalLevelTime", m_flTotalTimeInLevels ); + pKVData->SetInt( "NumLevels", m_iNumLevels ); + pKV->AddSubKey( pKVData ); + return true; + } +#endif + break; + case STATSEND_LEVELSHUTDOWN: +#ifdef CLIENT_DLL + if ( m_bBufferFull ) + { + // add perf data + KeyValues *pKVPerf = new KeyValues( "perfdata" ); + float flAverageFrameRate = AverageStat( &StatsBufferRecord_t::m_flFrameRate ); + float flMinFrameRate = MinStat( &StatsBufferRecord_t::m_flFrameRate ); + float flMaxFrameRate = MaxStat( &StatsBufferRecord_t::m_flFrameRate ); + + pKVPerf->SetFloat( "AvgFPS", flAverageFrameRate ); + pKVPerf->SetFloat( "MinFPS", flMinFrameRate ); + pKVPerf->SetFloat( "MaxFPS", flMaxFrameRate ); + + pKV->AddSubKey( pKVPerf ); + + return true; + } +#endif + break; + } + + return false; +} + + +void CBaseGameStats_Driver::ResetData() +{ +#ifdef GAME_DLL + // on the server, if there is a gamestats data container registered (by a client in the same process), they're in charge of resetting it, nothing for us to do + if ( engine->GetGamestatsData() != NULL ) + return; +#endif + + if ( m_pGamestatsData != NULL ) + { + delete m_pGamestatsData; + m_pGamestatsData = NULL; + } + + m_pGamestatsData = new CGamestatsData(); + KeyValues *pKV = m_pGamestatsData->m_pKVData; + + pKV->SetInt( "version", GAMESTATS_VERSION ); + pKV->SetString( "srcid", s_szPseudoUniqueID ); + +#ifdef CLIENT_DLL + const CPUInformation &cpu = GetCPUInformation(); + OverWriteCharsWeHate( cpu.m_szProcessorID ); + pKV->SetString( "CPUID", cpu.m_szProcessorID ); + pKV->SetFloat( "CPUGhz", cpu.m_Speed * ( 1.0 / 1.0e9 ) ); + pKV->SetInt( "NumCores", cpu.m_nPhysicalProcessors ); + + MaterialAdapterInfo_t gpu; + materials->GetDisplayAdapterInfo( materials->GetCurrentAdapter(), gpu ); + + CMatRenderContextPtr pRenderContext( materials ); + int dest_width,dest_height; + pRenderContext->GetRenderTargetDimensions( dest_width, dest_height ); + + if ( gpu.m_pDriverName ) + { + OverWriteCharsWeHate( gpu.m_pDriverName ); + } + pKV->SetString( "GPUDrv", SafeString( gpu.m_pDriverName ) ); + pKV->SetInt( "GPUVendor", gpu.m_VendorID ); + pKV->SetInt( "GPUDeviceID", gpu.m_DeviceID ); + pKV->SetString( "GPUDriverVersion", CFmtStr( "%d.%d", gpu.m_nDriverVersionHigh, gpu.m_nDriverVersionLow ) ); + pKV->SetInt( "DxLvl", g_pMaterialSystemHardwareConfig->GetDXSupportLevel() ); + pKV->SetInt( "Width", dest_width ); + pKV->SetInt( "Height", dest_height ); + + engine->SetGamestatsData( m_pGamestatsData ); +#endif +} + +void CBaseGameStats_Driver::OnRestore() +{ + PossibleMapChange(); + + gamestats->Event_LoadGame(); +} + + +void CBaseGameStats_Driver::FrameUpdatePostEntityThink() +{ + bool bGamePaused = ( gpGlobals->frametime == 0.0f ); + + if ( !m_bInLevel ) + { + m_flPauseStartTime = 0.0f; + } + else if ( m_bGamePaused != bGamePaused ) + { + if ( bGamePaused ) + { + m_flPauseStartTime = gpGlobals->realtime; + } + else if ( m_flPauseStartTime != 0.0f ) + { + float flPausedTime = gpGlobals->realtime - m_flPauseStartTime; + if ( flPausedTime < 0.0f ) + { + Assert( 0 ); + Warning( "Game paused time showing up negative (rt %f pausestart %f)\n", gpGlobals->realtime, m_flPauseStartTime ); + flPausedTime = 0.0f; + } + + // Remove this from global time counters + + // Msg( "Pause: adding %f to level starttime\n", flPausedTime ); + + m_flLevelStartTime += flPausedTime; + m_flPauseStartTime = 0.0f; + + // Msg( "Paused for %.2f seconds\n", flPausedTime ); + } + m_bGamePaused = bGamePaused; + } +} + +bool StatsTrackingIsFullyEnabled( void ) +{ + return CBGSDriver.m_bEnabled && gamestats->StatTrackingEnabledForMod(); +} + +void CBaseGameStats::Clear( void ) +{ +#ifdef GAME_DLL + gamestats->m_BasicStats.Clear(); +#endif +} + +//----------------------------------------------------------------------------- +// Nukes any dangerous characters and replaces w/space char +//----------------------------------------------------------------------------- +void OverWriteCharsWeHate( char *pStr ) +{ + while( *pStr ) + { + switch( *pStr ) + { + case '\n': + case '\r': + case '\\': + case '\"': + case '\'': + case '\032': + case ';': + *pStr = ' '; + } + pStr++; + } +} + +#ifdef GAME_DLL + +void CBaseGameStats::SetSteamStatistic( bool bUsingSteam ) +{ + if( CBGSDriver.m_bFirstLevel ) + { + m_BasicStats.m_Summary.m_bSteam = bUsingSteam; + } + + if( CBGSDriver.m_bInLevel ) + { + BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); + map->m_bSteam = bUsingSteam; + } + + m_BasicStats.m_bSteam = bUsingSteam; +} + +void CBaseGameStats::SetCyberCafeStatistic( bool bIsCyberCafeUser ) +{ + if( CBGSDriver.m_bFirstLevel ) + { + m_BasicStats.m_Summary.m_bCyberCafe = bIsCyberCafeUser; + } + + if( CBGSDriver.m_bInLevel ) + { + BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); + map->m_bCyberCafe = bIsCyberCafeUser; + } + + m_BasicStats.m_bCyberCafe = bIsCyberCafeUser; +} + +void CBaseGameStats::SetHDRStatistic( bool bHDREnabled ) +{ + if( bHDREnabled ) + { + if( CBGSDriver.m_bInLevel ) + { + BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); + ++map->m_nHDR; + } + + if( CBGSDriver.m_bFirstLevel ) + { + ++m_BasicStats.m_Summary.m_nHDR; + } + } +} + +void CBaseGameStats::SetCaptionsStatistic( bool bClosedCaptionsEnabled ) +{ + if( CBGSDriver.m_bInLevel ) + { + BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); + ++map->m_nCaptions; + } + + if( CBGSDriver.m_bFirstLevel ) + { + ++m_BasicStats.m_Summary.m_nCaptions; + } +} + +void CBaseGameStats::SetSkillStatistic( int iSkillSetting ) +{ + int skill = clamp( iSkillSetting, 1, 3 ) - 1; + + if( CBGSDriver.m_bInLevel ) + { + BasicGameStatsRecord_t *map = m_BasicStats.FindOrAddRecordForMap( CBGSDriver.m_PrevMapName.String() ); + ++map->m_nSkill[ skill ]; + } + + if ( CBGSDriver. m_bFirstLevel ) + { + ++m_BasicStats.m_Summary.m_nSkill[ skill ]; + } +} + +void CBaseGameStats::SetDXLevelStatistic( int iDXLevel ) +{ + m_BasicStats.m_nDXLevel = iDXLevel; +} + +void CBaseGameStats::SetHL2UnlockedChapterStatistic( void ) +{ + // Now grab the hl2/cfg/config.cfg and suss out the sv_unlockedchapters cvar to estimate how far they got in HL2 + char const *relative = "cfg/config.cfg"; + char fullpath[ 512 ]; + char gamedir[256]; + engine->GetGameDir( gamedir, 256 ); + Q_snprintf( fullpath, sizeof( fullpath ), "%s/../hl2/%s", gamedir, relative ); + + if ( filesystem->FileExists( fullpath ) ) + { + FileHandle_t fh = filesystem->Open( fullpath, "rb" ); + if ( FILESYSTEM_INVALID_HANDLE != fh ) + { + // read file into memory + int size = filesystem->Size(fh); + char *configBuffer = new char[ size + 1 ]; + filesystem->Read( configBuffer, size, fh ); + configBuffer[size] = 0; + filesystem->Close( fh ); + + // loop through looking for all the cvars to apply + const char *search = Q_stristr(configBuffer, "sv_unlockedchapters" ); + if ( search ) + { + // read over the token + search = strtok( (char *)search, " \n" ); + search = strtok( NULL, " \n" ); + + if ( search[0]== '\"' ) + ++search; + + // read the value + int iChapter = Q_atoi( search ); + m_BasicStats.m_nHL2ChaptureUnlocked = iChapter; + } + + // free + delete [] configBuffer; + } + } +} + +static void CC_ResetGameStats( const CCommand &args ) +{ + gamestats->Clear(); + gamestats->SaveToFileNOW(); + gamestats->StatsLog( "CC_ResetGameStats : Server cleared game stats\n" ); +} + +static ConCommand resetGameStats("_resetgamestats", CC_ResetGameStats, "Erases current game stats and writes out a blank stats file", 0 ); + +class CPointGamestatsCounter : public CPointEntity +{ +public: + DECLARE_CLASS( CPointGamestatsCounter, CPointEntity ); + DECLARE_DATADESC(); + + CPointGamestatsCounter(); + +protected: + + void InputSetName( inputdata_t &inputdata ); + void InputIncrement( inputdata_t &inputdata ); + + void InputEnable( inputdata_t &inputdata ); + void InputDisable( inputdata_t &inputdata ); +private: + + string_t m_strStatisticName; + bool m_bDisabled; +}; + +BEGIN_DATADESC( CPointGamestatsCounter ) + + DEFINE_KEYFIELD( m_strStatisticName, FIELD_STRING, "Name" ), + DEFINE_FIELD( m_bDisabled, FIELD_BOOLEAN ), + + // Inputs + DEFINE_INPUTFUNC( FIELD_STRING, "SetName", InputSetName ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "Increment", InputIncrement ), + + DEFINE_INPUTFUNC( FIELD_VOID, "Enable", InputEnable ), + DEFINE_INPUTFUNC( FIELD_VOID, "Disable", InputDisable ), + +END_DATADESC() + +LINK_ENTITY_TO_CLASS( point_gamestats_counter, CPointGamestatsCounter ) + + +CPointGamestatsCounter::CPointGamestatsCounter() : + m_strStatisticName( NULL_STRING ), + m_bDisabled( false ) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: Changes name of statistic +//----------------------------------------------------------------------------- +void CPointGamestatsCounter::InputSetName( inputdata_t &inputdata ) +{ + m_strStatisticName = inputdata.value.StringID(); +} + +//----------------------------------------------------------------------------- +// Purpose: Changes name of statistic +//----------------------------------------------------------------------------- +void CPointGamestatsCounter::InputIncrement( inputdata_t &inputdata ) +{ + if ( m_bDisabled ) + return; + + if ( NULL_STRING == m_strStatisticName ) + { + DevMsg( 1, "CPointGamestatsCounter::InputIncrement: No stat name specified for point_gamestats_counter @%f, %f, %f [ent index %d]\n", + GetAbsOrigin().x, GetAbsOrigin().y, GetAbsOrigin().z, entindex() ); + return; + } + + gamestats->Event_IncrementCountedStatistic( GetAbsOrigin(), STRING( m_strStatisticName ), inputdata.value.Float() ); +} + +void CPointGamestatsCounter::InputEnable( inputdata_t &inputdata ) +{ + m_bDisabled = false; +} + +void CPointGamestatsCounter::InputDisable( inputdata_t &inputdata ) +{ + m_bDisabled = true; +} + +#endif // GAME_DLL diff --git a/game/shared/GameStats.h b/game/shared/GameStats.h index a7edb738..2adf4d07 100644 --- a/game/shared/GameStats.h +++ b/game/shared/GameStats.h @@ -1,337 +1,337 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= -// -// Purpose: -// -//============================================================================= - -#ifndef GAMESTATS_H -#define GAMESTATS_H -#ifdef _WIN32 -#pragma once -#endif - -#include "tier1/utldict.h" -#include "tier1/utlbuffer.h" -#include "igamesystem.h" - -const int GAMESTATS_VERSION = 1; - -enum StatSendType_t -{ - STATSEND_LEVELSHUTDOWN, - STATSEND_APPSHUTDOWN -}; - -struct StatsBufferRecord_t -{ - float m_flFrameRate; // fps - -}; - -#define STATS_WINDOW_SIZE ( 60 * 10 ) // # of records to hold -#define STATS_RECORD_INTERVAL 1 // # of seconds between data grabs. 2 * 300 = every 10 minutes - -class CGameStats; - -void UpdatePerfStats( void ); -void SetGameStatsHandler( CGameStats *pGameStats ); - -class CBasePlayer; -class CPropVehicleDriveable; -class CTakeDamageInfo; - -#ifdef GAME_DLL - -#define GAMESTATS_STANDARD_NOT_SAVED 0xFEEDBEEF - -enum GameStatsVersions_t -{ - GAMESTATS_FILE_VERSION_OLD = 001, - GAMESTATS_FILE_VERSION_OLD2, - GAMESTATS_FILE_VERSION_OLD3, - GAMESTATS_FILE_VERSION_OLD4, - GAMESTATS_FILE_VERSION_OLD5, - GAMESTATS_FILE_VERSION -}; - -struct BasicGameStatsRecord_t -{ -public: - BasicGameStatsRecord_t() : - m_nCount( 0 ), - m_nSeconds( 0 ), - m_nCommentary( 0 ), - m_nHDR( 0 ), - m_nCaptions( 0 ), - m_bSteam( true ), - m_bCyberCafe( false ), - m_nDeaths( 0 ) - { - Q_memset( m_nSkill, 0, sizeof( m_nSkill ) ); - } - - void Clear(); - - void SaveToBuffer( CUtlBuffer& buf ); - bool ParseFromBuffer( CUtlBuffer& buf, int iBufferStatsVersion ); - - // Data -public: - int m_nCount; - int m_nSeconds; - - int m_nCommentary; - int m_nHDR; - int m_nCaptions; - int m_nSkill[ 3 ]; - bool m_bSteam; - bool m_bCyberCafe; - int m_nDeaths; -}; - -struct BasicGameStats_t -{ -public: - BasicGameStats_t() : - m_nSecondsToCompleteGame( 0 ), - m_nHL2ChaptureUnlocked( 0 ), - m_bSteam( true ), - m_bCyberCafe( false ), - m_nDXLevel( 0 ) - { - } - - void Clear(); - - void SaveToBuffer( CUtlBuffer& buf ); - bool ParseFromBuffer( CUtlBuffer& buf, int iBufferStatsVersion ); - - BasicGameStatsRecord_t *FindOrAddRecordForMap( char const *mapname ); - - // Data -public: - int m_nSecondsToCompleteGame; // 0 means they haven't finished playing yet - - BasicGameStatsRecord_t m_Summary; // Summary record - CUtlDict< BasicGameStatsRecord_t, unsigned short > m_MapTotals; - bool m_bSteam; - bool m_bCyberCafe; - int m_nHL2ChaptureUnlocked; - int m_nDXLevel; -}; -#endif // GAME_DLL - -class CBaseGameStats -{ -public: - CBaseGameStats(); - - // override this to declare what format you want to send. New products should use new format. - virtual bool UseOldFormat() - { -#ifdef GAME_DLL - return true; // servers by default send old format for backward compat -#else - return false; // clients never used old format so no backward compat issues, they use new format by default -#endif - } - - // Implement this if you support new format gamestats. - // Return true if you added data to KeyValues, false if you have no data to report - virtual bool AddDataForSend( KeyValues *pKV, StatSendType_t sendType ) { return false; } - - // These methods used for new format gamestats only and control when data gets sent. - virtual bool ShouldSendDataOnLevelShutdown() - { - // by default, servers send data at every level change and clients don't -#ifdef GAME_DLL - return true; -#else - return false; -#endif - } - virtual bool ShouldSendDataOnAppShutdown() - { - // by default, clients send data at app shutdown and servers don't -#ifdef GAME_DLL - return false; -#else - return true; -#endif - } - - virtual void Event_Init( void ); - virtual void Event_Shutdown( void ); - virtual void Event_MapChange( const char *szOldMapName, const char *szNewMapName ); - virtual void Event_LevelInit( void ); - virtual void Event_LevelShutdown( float flElapsed ); - virtual void Event_SaveGame( void ); - virtual void Event_LoadGame( void ); - - void StatsLog( char const *fmt, ... ); - - // This is the first call made, so that we can "subclass" the CBaseGameStats based on gamedir as needed (e.g., ep2 vs. episodic) - virtual CBaseGameStats *OnInit( CBaseGameStats *pCurrentGameStats, char const *gamedir ) { return pCurrentGameStats; } - - // Frees up data from gamestats and resets it to a clean state. - virtual void Clear( void ); - - virtual bool StatTrackingEnabledForMod( void ) { return false; } //Override this to turn on the system. Stat tracking is disabled by default and will always be disabled at the user's request - static bool StatTrackingAllowed( void ); //query whether stat tracking is possible and warranted by the user - virtual bool HaveValidData( void ) { return true; } // whether we currently have an interesting enough data set to upload. Called at upload time; if false, data is not uploaded. - - virtual bool ShouldTrackStandardStats( void ) { return true; } //exactly what was tracked for EP1 release - - //Get mod specific strings used for tracking, defaults should work fine for most cases - virtual const char *GetStatSaveFileName( void ); - virtual const char *GetStatUploadRegistryKeyName( void ); - const char *GetUserPseudoUniqueID( void ); - - virtual bool UserPlayedAllTheMaps( void ) { return false; } //be sure to override this to determine user completion time - -#ifdef GAME_DLL - virtual void Event_PlayerKilled( CBasePlayer *pPlayer, const CTakeDamageInfo &info ); - virtual void Event_PlayerConnected( CBasePlayer *pBasePlayer ); - virtual void Event_PlayerDisconnected( CBasePlayer *pBasePlayer ); - virtual void Event_PlayerDamage( CBasePlayer *pBasePlayer, const CTakeDamageInfo &info ); - virtual void Event_PlayerKilledOther( CBasePlayer *pAttacker, CBaseEntity *pVictim, const CTakeDamageInfo &info ); - virtual void Event_Credits(); - virtual void Event_Commentary(); - virtual void Event_CrateSmashed(); - virtual void Event_Punted( CBaseEntity *pObject ); - virtual void Event_PlayerTraveled( CBasePlayer *pBasePlayer, float distanceInInches, bool bInVehicle, bool bSprinting ); - virtual void Event_WeaponFired( CBasePlayer *pShooter, bool bPrimary, char const *pchWeaponName ); - virtual void Event_WeaponHit( CBasePlayer *pShooter, bool bPrimary, char const *pchWeaponName, const CTakeDamageInfo &info ); - virtual void Event_FlippedVehicle( CBasePlayer *pDriver, CPropVehicleDriveable *pVehicle ); - virtual void Event_PreSaveGameLoaded( char const *pSaveName, bool bInGame ); - virtual void Event_PlayerEnteredGodMode( CBasePlayer *pBasePlayer ); - virtual void Event_PlayerEnteredNoClip( CBasePlayer *pBasePlayer ); - virtual void Event_DecrementPlayerEnteredNoClip( CBasePlayer *pBasePlayer ); - virtual void Event_IncrementCountedStatistic( const Vector& vecAbsOrigin, char const *pchStatisticName, float flIncrementAmount ); - //custom data to tack onto existing stats if you're not doing a complete overhaul - virtual void AppendCustomDataToSaveBuffer( CUtlBuffer &SaveBuffer ) { } //custom data you want thrown into the default save and upload path - virtual void LoadCustomDataFromBuffer( CUtlBuffer &LoadBuffer ) { }; //when loading the saved stats file, this will point to where you started saving data to the save buffer - - virtual void LoadingEvent_PlayerIDDifferentThanLoadedStats( void ); //Only called if you use the base SaveToFileNOW() and LoadFromFile() functions. Used in case you want to keep/invalidate data that was just loaded. - - virtual bool LoadFromFile( void ); //called just before Event_Init() - virtual bool SaveToFileNOW( bool bForceSyncWrite = false ); //saves buffers to their respective files now, returns success or failure - virtual bool UploadStatsFileNOW( void ); //uploads data to the CSER now, returns success or failure - - static bool AppendLump( int nMaxLumpCount, CUtlBuffer &SaveBuffer, unsigned short iLump, unsigned short iLumpCount, size_t nSize, void *pData ); - static bool GetLumpHeader( int nMaxLumpCount, CUtlBuffer &LoadBuffer, unsigned short &iLump, unsigned short &iLumpCount, bool bPermissive = false ); - static void LoadLump( CUtlBuffer &LoadBuffer, unsigned short iLumpCount, size_t nSize, void *pData ); - - //default save behavior is to save on level shutdown, and game shutdown - virtual bool AutoSave_OnInit( void ) { return false; } - virtual bool AutoSave_OnShutdown( void ) { return true; } - virtual bool AutoSave_OnMapChange( void ) { return false; } - virtual bool AutoSave_OnLevelInit( void ) { return false; } - virtual bool AutoSave_OnLevelShutdown( void ) { return true; } - - //default upload behavior is to upload on game shutdown - virtual bool AutoUpload_OnInit( void ) { return false; } - virtual bool AutoUpload_OnShutdown( void ) { return true; } - virtual bool AutoUpload_OnMapChange( void ) { return false; } - virtual bool AutoUpload_OnLevelInit( void ) { return false; } - virtual bool AutoUpload_OnLevelShutdown( void ) { return false; } - - // Helper for builtin stuff - void SetSteamStatistic( bool bUsingSteam ); - void SetCyberCafeStatistic( bool bIsCyberCafeUser ); - void SetHDRStatistic( bool bHDREnabled ); - void SetCaptionsStatistic( bool bClosedCaptionsEnabled ); - void SetSkillStatistic( int iSkillSetting ); - void SetDXLevelStatistic( int iDXLevel ); - void SetHL2UnlockedChapterStatistic( void ); -#endif // GAMEDLL -public: -#ifdef GAME_DLL - BasicGameStats_t m_BasicStats; //exposed in case you do a complete overhaul and still want to save it -#endif - bool m_bLogging : 1; - bool m_bLoggingToFile : 1; -}; - -#ifdef GAME_DLL - -//----------------------------------------------------------------------------- -// Purpose: -// Input : &SaveBuffer - -// iLump - -// iLumpCount - -//----------------------------------------------------------------------------- -inline bool CBaseGameStats::AppendLump( int nMaxLumpCount, CUtlBuffer &SaveBuffer, unsigned short iLump, unsigned short iLumpCount, size_t nSize, void *pData ) -{ - // Verify the lump index. - Assert( ( iLump > 0 ) && ( iLump < nMaxLumpCount ) ); - - if ( !( ( iLump > 0 ) && ( iLump < nMaxLumpCount ) ) ) - return false; - - // Check to see if we have any elements to save. - if ( iLumpCount <= 0 ) - return false; - - // Write the lump id and element count. - SaveBuffer.PutUnsignedShort( iLump ); - SaveBuffer.PutUnsignedShort( iLumpCount ); - - size_t nTotalSize = iLumpCount * nSize; - SaveBuffer.Put( pData, nTotalSize ); - - return true; -} - -//----------------------------------------------------------------------------- -// Purpose: -// Input : &LoadBuffer - -// &iLump - -// &iLumpCount - -// Output : Returns true on success, false on failure. -//----------------------------------------------------------------------------- -inline bool CBaseGameStats::GetLumpHeader( int nMaxLumpCount, CUtlBuffer &LoadBuffer, unsigned short &iLump, unsigned short &iLumpCount, bool bPermissive /*= false*/ ) -{ - // Get the lump id and element count. - iLump = LoadBuffer.GetUnsignedShort(); - if ( !LoadBuffer.IsValid() ) - { - // check for EOF - return false; - } - iLumpCount = LoadBuffer.GetUnsignedShort(); - - if ( bPermissive ) - return true; - - // Verify the lump index. - Assert( ( iLump > 0 ) && ( iLump < nMaxLumpCount ) ); - if ( !( ( iLump > 0 ) && ( iLump < nMaxLumpCount ) ) ) - { - return false; - } - - // Check to see if we have any elements to save. - if ( iLumpCount <= 0 ) - return false; - - return true; -} - -//----------------------------------------------------------------------------- -// Purpose: Loads 1 or more lumps of raw data -// Input : &LoadBuffer - buffer to be read from -// iLumpCount - # of lumps to read -// nSize - size of each lump -// pData - where to store the data -//----------------------------------------------------------------------------- -inline void CBaseGameStats::LoadLump( CUtlBuffer &LoadBuffer, unsigned short iLumpCount, size_t nSize, void *pData ) -{ - LoadBuffer.Get( pData, iLumpCount * nSize ); -} - -extern CBaseGameStats *gamestats; //starts out pointing at a singleton of the class above, overriding this in any constructor should work for replacing it - -#endif // GAME_DLL - -#endif // GAMESTATS_H +//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef GAMESTATS_H +#define GAMESTATS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "tier1/utldict.h" +#include "tier1/utlbuffer.h" +#include "igamesystem.h" + +const int GAMESTATS_VERSION = 1; + +enum StatSendType_t +{ + STATSEND_LEVELSHUTDOWN, + STATSEND_APPSHUTDOWN +}; + +struct StatsBufferRecord_t +{ + float m_flFrameRate; // fps + +}; + +#define STATS_WINDOW_SIZE ( 60 * 10 ) // # of records to hold +#define STATS_RECORD_INTERVAL 1 // # of seconds between data grabs. 2 * 300 = every 10 minutes + +class CGameStats; + +void UpdatePerfStats( void ); +void SetGameStatsHandler( CGameStats *pGameStats ); + +class CBasePlayer; +class CPropVehicleDriveable; +class CTakeDamageInfo; + +#ifdef GAME_DLL + +#define GAMESTATS_STANDARD_NOT_SAVED 0xFEEDBEEF + +enum GameStatsVersions_t +{ + GAMESTATS_FILE_VERSION_OLD = 001, + GAMESTATS_FILE_VERSION_OLD2, + GAMESTATS_FILE_VERSION_OLD3, + GAMESTATS_FILE_VERSION_OLD4, + GAMESTATS_FILE_VERSION_OLD5, + GAMESTATS_FILE_VERSION +}; + +struct BasicGameStatsRecord_t +{ +public: + BasicGameStatsRecord_t() : + m_nCount( 0 ), + m_nSeconds( 0 ), + m_nCommentary( 0 ), + m_nHDR( 0 ), + m_nCaptions( 0 ), + m_bSteam( true ), + m_bCyberCafe( false ), + m_nDeaths( 0 ) + { + Q_memset( m_nSkill, 0, sizeof( m_nSkill ) ); + } + + void Clear(); + + void SaveToBuffer( CUtlBuffer& buf ); + bool ParseFromBuffer( CUtlBuffer& buf, int iBufferStatsVersion ); + + // Data +public: + int m_nCount; + int m_nSeconds; + + int m_nCommentary; + int m_nHDR; + int m_nCaptions; + int m_nSkill[ 3 ]; + bool m_bSteam; + bool m_bCyberCafe; + int m_nDeaths; +}; + +struct BasicGameStats_t +{ +public: + BasicGameStats_t() : + m_nSecondsToCompleteGame( 0 ), + m_bSteam( true ), + m_bCyberCafe( false ), + m_nHL2ChaptureUnlocked( 0 ), + m_nDXLevel( 0 ) + { + } + + void Clear(); + + void SaveToBuffer( CUtlBuffer& buf ); + bool ParseFromBuffer( CUtlBuffer& buf, int iBufferStatsVersion ); + + BasicGameStatsRecord_t *FindOrAddRecordForMap( char const *mapname ); + + // Data +public: + int m_nSecondsToCompleteGame; // 0 means they haven't finished playing yet + + BasicGameStatsRecord_t m_Summary; // Summary record + CUtlDict< BasicGameStatsRecord_t, unsigned short > m_MapTotals; + bool m_bSteam; + bool m_bCyberCafe; + int m_nHL2ChaptureUnlocked; + int m_nDXLevel; +}; +#endif // GAME_DLL + +class CBaseGameStats +{ +public: + CBaseGameStats(); + + // override this to declare what format you want to send. New products should use new format. + virtual bool UseOldFormat() + { +#ifdef GAME_DLL + return true; // servers by default send old format for backward compat +#else + return false; // clients never used old format so no backward compat issues, they use new format by default +#endif + } + + // Implement this if you support new format gamestats. + // Return true if you added data to KeyValues, false if you have no data to report + virtual bool AddDataForSend( KeyValues *pKV, StatSendType_t sendType ) { return false; } + + // These methods used for new format gamestats only and control when data gets sent. + virtual bool ShouldSendDataOnLevelShutdown() + { + // by default, servers send data at every level change and clients don't +#ifdef GAME_DLL + return true; +#else + return false; +#endif + } + virtual bool ShouldSendDataOnAppShutdown() + { + // by default, clients send data at app shutdown and servers don't +#ifdef GAME_DLL + return false; +#else + return true; +#endif + } + + virtual void Event_Init( void ); + virtual void Event_Shutdown( void ); + virtual void Event_MapChange( const char *szOldMapName, const char *szNewMapName ); + virtual void Event_LevelInit( void ); + virtual void Event_LevelShutdown( float flElapsed ); + virtual void Event_SaveGame( void ); + virtual void Event_LoadGame( void ); + + void StatsLog( char const *fmt, ... ); + + // This is the first call made, so that we can "subclass" the CBaseGameStats based on gamedir as needed (e.g., ep2 vs. episodic) + virtual CBaseGameStats *OnInit( CBaseGameStats *pCurrentGameStats, char const *gamedir ) { return pCurrentGameStats; } + + // Frees up data from gamestats and resets it to a clean state. + virtual void Clear( void ); + + virtual bool StatTrackingEnabledForMod( void ) { return false; } //Override this to turn on the system. Stat tracking is disabled by default and will always be disabled at the user's request + static bool StatTrackingAllowed( void ); //query whether stat tracking is possible and warranted by the user + virtual bool HaveValidData( void ) { return true; } // whether we currently have an interesting enough data set to upload. Called at upload time; if false, data is not uploaded. + + virtual bool ShouldTrackStandardStats( void ) { return true; } //exactly what was tracked for EP1 release + + //Get mod specific strings used for tracking, defaults should work fine for most cases + virtual const char *GetStatSaveFileName( void ); + virtual const char *GetStatUploadRegistryKeyName( void ); + const char *GetUserPseudoUniqueID( void ); + + virtual bool UserPlayedAllTheMaps( void ) { return false; } //be sure to override this to determine user completion time + +#ifdef GAME_DLL + virtual void Event_PlayerKilled( CBasePlayer *pPlayer, const CTakeDamageInfo &info ); + virtual void Event_PlayerConnected( CBasePlayer *pBasePlayer ); + virtual void Event_PlayerDisconnected( CBasePlayer *pBasePlayer ); + virtual void Event_PlayerDamage( CBasePlayer *pBasePlayer, const CTakeDamageInfo &info ); + virtual void Event_PlayerKilledOther( CBasePlayer *pAttacker, CBaseEntity *pVictim, const CTakeDamageInfo &info ); + virtual void Event_Credits(); + virtual void Event_Commentary(); + virtual void Event_CrateSmashed(); + virtual void Event_Punted( CBaseEntity *pObject ); + virtual void Event_PlayerTraveled( CBasePlayer *pBasePlayer, float distanceInInches, bool bInVehicle, bool bSprinting ); + virtual void Event_WeaponFired( CBasePlayer *pShooter, bool bPrimary, char const *pchWeaponName ); + virtual void Event_WeaponHit( CBasePlayer *pShooter, bool bPrimary, char const *pchWeaponName, const CTakeDamageInfo &info ); + virtual void Event_FlippedVehicle( CBasePlayer *pDriver, CPropVehicleDriveable *pVehicle ); + virtual void Event_PreSaveGameLoaded( char const *pSaveName, bool bInGame ); + virtual void Event_PlayerEnteredGodMode( CBasePlayer *pBasePlayer ); + virtual void Event_PlayerEnteredNoClip( CBasePlayer *pBasePlayer ); + virtual void Event_DecrementPlayerEnteredNoClip( CBasePlayer *pBasePlayer ); + virtual void Event_IncrementCountedStatistic( const Vector& vecAbsOrigin, char const *pchStatisticName, float flIncrementAmount ); + //custom data to tack onto existing stats if you're not doing a complete overhaul + virtual void AppendCustomDataToSaveBuffer( CUtlBuffer &SaveBuffer ) { } //custom data you want thrown into the default save and upload path + virtual void LoadCustomDataFromBuffer( CUtlBuffer &LoadBuffer ) { }; //when loading the saved stats file, this will point to where you started saving data to the save buffer + + virtual void LoadingEvent_PlayerIDDifferentThanLoadedStats( void ); //Only called if you use the base SaveToFileNOW() and LoadFromFile() functions. Used in case you want to keep/invalidate data that was just loaded. + + virtual bool LoadFromFile( void ); //called just before Event_Init() + virtual bool SaveToFileNOW( bool bForceSyncWrite = false ); //saves buffers to their respective files now, returns success or failure + virtual bool UploadStatsFileNOW( void ); //uploads data to the CSER now, returns success or failure + + static bool AppendLump( int nMaxLumpCount, CUtlBuffer &SaveBuffer, unsigned short iLump, unsigned short iLumpCount, size_t nSize, void *pData ); + static bool GetLumpHeader( int nMaxLumpCount, CUtlBuffer &LoadBuffer, unsigned short &iLump, unsigned short &iLumpCount, bool bPermissive = false ); + static void LoadLump( CUtlBuffer &LoadBuffer, unsigned short iLumpCount, size_t nSize, void *pData ); + + //default save behavior is to save on level shutdown, and game shutdown + virtual bool AutoSave_OnInit( void ) { return false; } + virtual bool AutoSave_OnShutdown( void ) { return true; } + virtual bool AutoSave_OnMapChange( void ) { return false; } + virtual bool AutoSave_OnLevelInit( void ) { return false; } + virtual bool AutoSave_OnLevelShutdown( void ) { return true; } + + //default upload behavior is to upload on game shutdown + virtual bool AutoUpload_OnInit( void ) { return false; } + virtual bool AutoUpload_OnShutdown( void ) { return true; } + virtual bool AutoUpload_OnMapChange( void ) { return false; } + virtual bool AutoUpload_OnLevelInit( void ) { return false; } + virtual bool AutoUpload_OnLevelShutdown( void ) { return false; } + + // Helper for builtin stuff + void SetSteamStatistic( bool bUsingSteam ); + void SetCyberCafeStatistic( bool bIsCyberCafeUser ); + void SetHDRStatistic( bool bHDREnabled ); + void SetCaptionsStatistic( bool bClosedCaptionsEnabled ); + void SetSkillStatistic( int iSkillSetting ); + void SetDXLevelStatistic( int iDXLevel ); + void SetHL2UnlockedChapterStatistic( void ); +#endif // GAMEDLL +public: +#ifdef GAME_DLL + BasicGameStats_t m_BasicStats; //exposed in case you do a complete overhaul and still want to save it +#endif + bool m_bLogging : 1; + bool m_bLoggingToFile : 1; +}; + +#ifdef GAME_DLL + +//----------------------------------------------------------------------------- +// Purpose: +// Input : &SaveBuffer - +// iLump - +// iLumpCount - +//----------------------------------------------------------------------------- +inline bool CBaseGameStats::AppendLump( int nMaxLumpCount, CUtlBuffer &SaveBuffer, unsigned short iLump, unsigned short iLumpCount, size_t nSize, void *pData ) +{ + // Verify the lump index. + Assert( ( iLump > 0 ) && ( iLump < nMaxLumpCount ) ); + + if ( !( ( iLump > 0 ) && ( iLump < nMaxLumpCount ) ) ) + return false; + + // Check to see if we have any elements to save. + if ( iLumpCount <= 0 ) + return false; + + // Write the lump id and element count. + SaveBuffer.PutUnsignedShort( iLump ); + SaveBuffer.PutUnsignedShort( iLumpCount ); + + size_t nTotalSize = iLumpCount * nSize; + SaveBuffer.Put( pData, nTotalSize ); + + return true; +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : &LoadBuffer - +// &iLump - +// &iLumpCount - +// Output : Returns true on success, false on failure. +//----------------------------------------------------------------------------- +inline bool CBaseGameStats::GetLumpHeader( int nMaxLumpCount, CUtlBuffer &LoadBuffer, unsigned short &iLump, unsigned short &iLumpCount, bool bPermissive /*= false*/ ) +{ + // Get the lump id and element count. + iLump = LoadBuffer.GetUnsignedShort(); + if ( !LoadBuffer.IsValid() ) + { + // check for EOF + return false; + } + iLumpCount = LoadBuffer.GetUnsignedShort(); + + if ( bPermissive ) + return true; + + // Verify the lump index. + Assert( ( iLump > 0 ) && ( iLump < nMaxLumpCount ) ); + if ( !( ( iLump > 0 ) && ( iLump < nMaxLumpCount ) ) ) + { + return false; + } + + // Check to see if we have any elements to save. + if ( iLumpCount <= 0 ) + return false; + + return true; +} + +//----------------------------------------------------------------------------- +// Purpose: Loads 1 or more lumps of raw data +// Input : &LoadBuffer - buffer to be read from +// iLumpCount - # of lumps to read +// nSize - size of each lump +// pData - where to store the data +//----------------------------------------------------------------------------- +inline void CBaseGameStats::LoadLump( CUtlBuffer &LoadBuffer, unsigned short iLumpCount, size_t nSize, void *pData ) +{ + LoadBuffer.Get( pData, iLumpCount * nSize ); +} + +extern CBaseGameStats *gamestats; //starts out pointing at a singleton of the class above, overriding this in any constructor should work for replacing it + +#endif // GAME_DLL + +#endif // GAMESTATS_H diff --git a/game/shared/ModelSoundsCache.cpp b/game/shared/ModelSoundsCache.cpp index 6588b66a..6ce8f6e5 100644 --- a/game/shared/ModelSoundsCache.cpp +++ b/game/shared/ModelSoundsCache.cpp @@ -214,4 +214,4 @@ void CModelSoundsCache::BuildAnimationEventSoundList( CStudioHdr *hdr, CUtlVecto } } } -} \ No newline at end of file +} diff --git a/game/shared/Multiplayer/multiplayer_animstate.cpp b/game/shared/Multiplayer/multiplayer_animstate.cpp index ee1db92f..a2158b31 100644 --- a/game/shared/Multiplayer/multiplayer_animstate.cpp +++ b/game/shared/Multiplayer/multiplayer_animstate.cpp @@ -860,6 +860,7 @@ Activity CMultiPlayerAnimState::TranslateActivity( Activity actDesired ) case ACT_MP_ATTACK_STAND_SECONDARYFIRE: { actDesired = ACT_MP_ATTACK_SWIM_SECONDARYFIRE; break; } case ACT_MP_ATTACK_STAND_GRENADE: { actDesired = ACT_MP_ATTACK_SWIM_GRENADE; break; } case ACT_MP_RELOAD_STAND: { actDesired = ACT_MP_RELOAD_SWIM; break; } + default: break; } } diff --git a/game/shared/Multiplayer/multiplayer_animstate.h b/game/shared/Multiplayer/multiplayer_animstate.h index 2fec3902..3d33d6c4 100644 --- a/game/shared/Multiplayer/multiplayer_animstate.h +++ b/game/shared/Multiplayer/multiplayer_animstate.h @@ -317,4 +317,4 @@ protected: // to the local player if he's the one being watched. extern ConVar cl_showanimstate; -#endif // DOD_PLAYERANIMSTATE_H \ No newline at end of file +#endif // DOD_PLAYERANIMSTATE_H diff --git a/game/shared/Sprite.cpp b/game/shared/Sprite.cpp index dd71ac04..3761f980 100644 --- a/game/shared/Sprite.cpp +++ b/game/shared/Sprite.cpp @@ -605,19 +605,19 @@ void CSprite::InputShowSprite( inputdata_t &inputdata ) void CSprite::InputColorRedValue( inputdata_t &inputdata ) { - int nNewColor = clamp( inputdata.value.Float(), 0, 255 ); + int nNewColor = clamp( inputdata.value.Int(), 0, 255 ); SetColor( nNewColor, m_clrRender->g, m_clrRender->b ); } void CSprite::InputColorGreenValue( inputdata_t &inputdata ) { - int nNewColor = clamp( inputdata.value.Float(), 0, 255 ); + int nNewColor = clamp( inputdata.value.Int(), 0, 255 ); SetColor( m_clrRender->r, nNewColor, m_clrRender->b ); } void CSprite::InputColorBlueValue( inputdata_t &inputdata ) { - int nNewColor = clamp( inputdata.value.Float(), 0, 255 ); + int nNewColor = clamp( inputdata.value.Int(), 0, 255 ); SetColor( m_clrRender->r, m_clrRender->g, nNewColor ); } diff --git a/game/shared/achievement_saverestore.cpp b/game/shared/achievement_saverestore.cpp index 833f69e7..1b9bdeb5 100644 --- a/game/shared/achievement_saverestore.cpp +++ b/game/shared/achievement_saverestore.cpp @@ -154,4 +154,4 @@ ISaveRestoreBlockHandler *GetAchievementSaveRestoreBlockHandler() } -#endif // GAME_DLL \ No newline at end of file +#endif // GAME_DLL diff --git a/game/shared/achievementmgr.h b/game/shared/achievementmgr.h index 01ff7dac..02723709 100644 --- a/game/shared/achievementmgr.h +++ b/game/shared/achievementmgr.h @@ -55,7 +55,7 @@ public: void PrintAchievementStatus(); float GetLastClassChangeTime() { return m_flLastClassChangeTime; } float GetTeamplayStartTime() { return m_flTeamplayStartTime; } - int GetMiniroundsCompleted() { return m_iMiniroundsCompleted; } + int GetMiniroundsCompleted() { return (int)m_iMiniroundsCompleted; } const char *GetMapName() { return m_szMap; } void OnAchievementEvent( int iAchievementID ); void SetDirty( bool bDirty ) { m_bDirty = bDirty; } diff --git a/game/shared/achievements_hlx.cpp b/game/shared/achievements_hlx.cpp index b99457a0..f10835a1 100644 --- a/game/shared/achievements_hlx.cpp +++ b/game/shared/achievements_hlx.cpp @@ -250,4 +250,4 @@ int CalcPlayerAttacks( bool bBulletOnly ) #endif // ( defined( HL2_DLL ) || defined( HL2_EPISODIC ) ) && ( !defined ( PORTAL ) ) -#endif // GAME_DLL \ No newline at end of file +#endif // GAME_DLL diff --git a/game/shared/activitylist.cpp b/game/shared/activitylist.cpp index 28f37ec0..266cd922 100644 --- a/game/shared/activitylist.cpp +++ b/game/shared/activitylist.cpp @@ -1914,6 +1914,7 @@ void UTIL_LoadActivityRemapFile( const char *filename, const char *section, CUtl KeyValues *pRemapKey = pTestKey->GetFirstSubKey(); CActivityRemap actMap; + actMap.mappedActivity = ACT_IDLE; actMap.activity = ActBase; while ( pRemapKey ) @@ -1956,4 +1957,4 @@ void UTIL_LoadActivityRemapFile( const char *filename, const char *section, CUtl int ActivityList_HighestIndex() { return g_HighestActivity; -} \ No newline at end of file +} diff --git a/game/shared/ammodef.cpp b/game/shared/ammodef.cpp index ba0119de..55c0e494 100644 --- a/game/shared/ammodef.cpp +++ b/game/shared/ammodef.cpp @@ -59,7 +59,7 @@ int CAmmoDef::PlrDamage(int nAmmoIndex) { if ( m_AmmoType[nAmmoIndex].pPlrDmgCVar ) { - return m_AmmoType[nAmmoIndex].pPlrDmgCVar->GetFloat(); + return m_AmmoType[nAmmoIndex].pPlrDmgCVar->GetInt(); } return 0; @@ -84,7 +84,7 @@ int CAmmoDef::NPCDamage(int nAmmoIndex) { if ( m_AmmoType[nAmmoIndex].pNPCDmgCVar ) { - return m_AmmoType[nAmmoIndex].pNPCDmgCVar->GetFloat(); + return m_AmmoType[nAmmoIndex].pNPCDmgCVar->GetInt(); } return 0; @@ -108,7 +108,7 @@ int CAmmoDef::MaxCarry(int nAmmoIndex) if ( m_AmmoType[nAmmoIndex].pMaxCarry == USE_CVAR ) { if ( m_AmmoType[nAmmoIndex].pMaxCarryCVar ) - return m_AmmoType[nAmmoIndex].pMaxCarryCVar->GetFloat(); + return m_AmmoType[nAmmoIndex].pMaxCarryCVar->GetInt(); return 0; } diff --git a/game/shared/ammodef.h b/game/shared/ammodef.h index 84968ec9..97d6b240 100644 --- a/game/shared/ammodef.h +++ b/game/shared/ammodef.h @@ -100,4 +100,4 @@ CAmmoDef* GetAmmoDef(); #endif // AI_AMMODEF_H - \ No newline at end of file + diff --git a/game/shared/animation.cpp b/game/shared/animation.cpp index 0767fc05..3668dc4c 100644 --- a/game/shared/animation.cpp +++ b/game/shared/animation.cpp @@ -25,7 +25,10 @@ // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" +#ifdef _MSC_VER #pragma warning( disable : 4244 ) +#endif + #define iabs(i) (( (i) >= 0 ) ? (i) : -(i) ) int ExtractBbox( CStudioHdr *pstudiohdr, int sequence, Vector& mins, Vector& maxs ) diff --git a/game/shared/baseachievement.cpp b/game/shared/baseachievement.cpp index 7524fc1d..3b238497 100644 --- a/game/shared/baseachievement.cpp +++ b/game/shared/baseachievement.cpp @@ -651,4 +651,4 @@ void CAchievement_AchievedCount::SetAchievementsRequired( int iNumRequired, int m_iNumRequired = iNumRequired; m_iLowRange = iLowRange; m_iHighRange = iHighRange; -} \ No newline at end of file +} diff --git a/game/shared/baseachievement.h b/game/shared/baseachievement.h index 9cbb805c..244e7c53 100644 --- a/game/shared/baseachievement.h +++ b/game/shared/baseachievement.h @@ -191,7 +191,7 @@ public: }; #define DECLARE_ACHIEVEMENT_( className, achievementID, achievementName, gameDirFilter, iPointValue, bHidden ) \ -static CBaseAchievement *Create_##className##( void ) \ +static CBaseAchievement *Create_##className( void ) \ { \ CBaseAchievement *pAchievement = new className( ); \ pAchievement->SetAchievementID( achievementID ); \ @@ -201,19 +201,19 @@ static CBaseAchievement *Create_##className##( void ) \ if ( gameDirFilter ) pAchievement->SetGameDirFilter( gameDirFilter ); \ return pAchievement; \ }; \ -static CBaseAchievementHelper g_##className##_Helper( Create_##className## ); +static CBaseAchievementHelper g_##className##_Helper( Create_##className ); #define DECLARE_ACHIEVEMENT( className, achievementID, achievementName, iPointValue ) \ - DECLARE_ACHIEVEMENT_( className, achievementID, achievementName, NULL, iPointValue, false ) + DECLARE_ACHIEVEMENT_( className, achievementID, achievementName, false, iPointValue, false ) #define DECLARE_MAP_EVENT_ACHIEVEMENT_( achievementID, achievementName, gameDirFilter, iPointValue, bHidden ) \ class CAchievement##achievementID : public CMapAchievement {}; \ DECLARE_ACHIEVEMENT_( CAchievement##achievementID, achievementID, achievementName, gameDirFilter, iPointValue, bHidden ) \ #define DECLARE_MAP_EVENT_ACHIEVEMENT( achievementID, achievementName, iPointValue ) \ - DECLARE_MAP_EVENT_ACHIEVEMENT_( achievementID, achievementName, NULL, iPointValue, false ) + DECLARE_MAP_EVENT_ACHIEVEMENT_( achievementID, achievementName, false, iPointValue, false ) #define DECLARE_MAP_EVENT_ACHIEVEMENT_HIDDEN( achievementID, achievementName, iPointValue ) \ - DECLARE_MAP_EVENT_ACHIEVEMENT_( achievementID, achievementName, NULL, iPointValue, true ) + DECLARE_MAP_EVENT_ACHIEVEMENT_( achievementID, achievementName, false, iPointValue, true ) #endif // BASEACHIEVEMENT_H diff --git a/game/shared/baseentity_shared.cpp b/game/shared/baseentity_shared.cpp index ebe0d70c..ed1187ff 100644 --- a/game/shared/baseentity_shared.cpp +++ b/game/shared/baseentity_shared.cpp @@ -639,7 +639,7 @@ void CBaseEntity::DecalTrace( trace_t *pTrace, char const *decalName ) //----------------------------------------------------------------------------- // Purpose: Base handling for impacts against entities //----------------------------------------------------------------------------- -void CBaseEntity::ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName ) +void CBaseEntity::ImpactTrace( trace_t *pTrace, int iDamageType, const char *pCustomImpactName ) { VPROF( "CBaseEntity::ImpactTrace" ); Assert( pTrace->m_pEnt ); @@ -731,7 +731,7 @@ BASEPTR CBaseEntity::ThinkSet( BASEPTR func, float thinkTime, const char *szCont { #if !defined( CLIENT_DLL ) #ifdef _DEBUG - COMPILE_TIME_ASSERT( sizeof(func) == 4 ); + COMPILE_TIME_ASSERT( sizeof(func) == MFP_SIZE ); #endif #endif @@ -1138,6 +1138,9 @@ void CBaseEntity::VPhysicsUpdate( IPhysicsObject *pPhysics ) VPhysicsUpdatePusher( pPhysics ); #endif break; + + default: + break; } } diff --git a/game/shared/basegrenade_shared.cpp b/game/shared/basegrenade_shared.cpp index 115b4b86..a620e8de 100644 --- a/game/shared/basegrenade_shared.cpp +++ b/game/shared/basegrenade_shared.cpp @@ -337,7 +337,7 @@ void CBaseGrenade::DangerSoundThink( void ) } #if !defined( CLIENT_DLL ) - CSoundEnt::InsertSound ( SOUND_DANGER, GetAbsOrigin() + GetAbsVelocity() * 0.5, GetAbsVelocity().Length( ), 0.2, this ); + CSoundEnt::InsertSound ( SOUND_DANGER, GetAbsOrigin() + GetAbsVelocity() * 0.5, (int)GetAbsVelocity().Length( ), 0.2, this ); #endif SetNextThink( gpGlobals->curtime + 0.2 ); @@ -394,7 +394,7 @@ void CBaseGrenade::BounceTouch( CBaseEntity *pOther ) // register a radius louder than the explosion, so we make sure everyone gets out of the way #if !defined( CLIENT_DLL ) - CSoundEnt::InsertSound ( SOUND_DANGER, GetAbsOrigin(), m_flDamage / 0.4, 0.3, this ); + CSoundEnt::InsertSound ( SOUND_DANGER, GetAbsOrigin(), (int)(m_flDamage / 0.4), 0.3, this ); #endif m_bHasWarnedAI = true; } diff --git a/game/shared/baseplayer_shared.cpp b/game/shared/baseplayer_shared.cpp index 88b45b44..69e5f95c 100644 --- a/game/shared/baseplayer_shared.cpp +++ b/game/shared/baseplayer_shared.cpp @@ -1249,7 +1249,7 @@ void CBasePlayer::PlayerUse ( void ) if ( pTrain && !(m_nButtons & IN_JUMP) && (GetFlags() & FL_ONGROUND) && (pTrain->ObjectCaps() & FCAP_DIRECTIONAL_USE) && pTrain->OnControls(this) ) { m_afPhysicsFlags |= PFLAG_DIROVERRIDE; - m_iTrain = TrainSpeed(pTrain->m_flSpeed, ((CFuncTrackTrain*)pTrain)->GetMaxSpeed()); + m_iTrain = TrainSpeed((int)pTrain->m_flSpeed, (int)((CFuncTrackTrain*)pTrain)->GetMaxSpeed()); m_iTrain |= TRAIN_NEW; EmitSound( "Player.UseTrain" ); return; @@ -1398,7 +1398,7 @@ void CBasePlayer::SmoothViewOnStairs( Vector& eyeOrigin ) } } -static bool IsWaterContents( int contents ) +/*static bool IsWaterContents( int contents ) { if ( contents & MASK_WATER ) return true; @@ -1407,7 +1407,7 @@ static bool IsWaterContents( int contents ) // return true; return false; -} +}*/ void CBasePlayer::ResetObserverMode() { @@ -1959,4 +1959,4 @@ void CBasePlayer::IncrementEFNoInterpParity() int CBasePlayer::GetEFNoInterpParity() const { return (int)m_ubEFNoInterpParity; -} \ No newline at end of file +} diff --git a/game/shared/beam_flags.h b/game/shared/beam_flags.h index 77dc2ebb..092c186a 100644 --- a/game/shared/beam_flags.h +++ b/game/shared/beam_flags.h @@ -35,4 +35,4 @@ enum NUM_BEAM_FLAGS = 17 // KEEP THIS UPDATED! }; -#endif // BEAM_FLAGS_H \ No newline at end of file +#endif // BEAM_FLAGS_H diff --git a/game/shared/beam_shared.cpp b/game/shared/beam_shared.cpp index cfba2b78..06a7ddb1 100644 --- a/game/shared/beam_shared.cpp +++ b/game/shared/beam_shared.cpp @@ -838,19 +838,19 @@ void CBeam::InputWidth( inputdata_t &inputdata ) void CBeam::InputColorRedValue( inputdata_t &inputdata ) { - int nNewColor = clamp( inputdata.value.Float(), 0, 255 ); + int nNewColor = clamp( inputdata.value.Int(), 0, 255 ); SetColor( nNewColor, m_clrRender->g, m_clrRender->b ); } void CBeam::InputColorGreenValue( inputdata_t &inputdata ) { - int nNewColor = clamp( inputdata.value.Float(), 0, 255 ); + int nNewColor = clamp( inputdata.value.Int(), 0, 255 ); SetColor( m_clrRender->r, nNewColor, m_clrRender->b ); } void CBeam::InputColorBlueValue( inputdata_t &inputdata ) { - int nNewColor = clamp( inputdata.value.Float(), 0, 255 ); + int nNewColor = clamp( inputdata.value.Int(), 0, 255 ); SetColor( m_clrRender->r, m_clrRender->g, nNewColor ); } diff --git a/game/shared/choreoevent.cpp b/game/shared/choreoevent.cpp index 7a9166ec..195c29ab 100644 --- a/game/shared/choreoevent.cpp +++ b/game/shared/choreoevent.cpp @@ -3978,7 +3978,7 @@ bool CChoreoEvent::ComputeCombinedBaseFileName( char *dest, int destlen, bool cr } } - int len = Q_strlen( pvcd ); + size_t len = Q_strlen( pvcd ); if ( len > 0 && ( len + 1 ) < ( sizeof( vcdpath ) - 1 ) ) { @@ -4148,7 +4148,7 @@ void CChoreoEvent::SaveToBuffer( CUtlBuffer& buf, CChoreoScene *pScene, IChoreoS buf.PutShort( pStringPool->FindOrAddString( rt->GetName() ) ); Assert( rt->GetPercentage() >= 0.0f && rt->GetPercentage() <= 1.0f ); - unsigned char p = rt->GetPercentage() * 255.0f; + unsigned char p = static_cast(rt->GetPercentage() * 255.0f); buf.PutUnsignedChar( p ); } @@ -4164,7 +4164,7 @@ void CChoreoEvent::SaveToBuffer( CUtlBuffer& buf, CChoreoScene *pScene, IChoreoS // save as u0.8 Assert( tt->GetPercentage() >= 0.0f && tt->GetPercentage() <= 1.0f ); - unsigned char p = tt->GetPercentage() * 255.0f; + unsigned char p = static_cast(tt->GetPercentage() * 255.0f); buf.PutUnsignedChar( p ); // Don't save locked state, it's only used by the editor tt->GetLocked() @@ -4185,7 +4185,7 @@ void CChoreoEvent::SaveToBuffer( CUtlBuffer& buf, CChoreoScene *pScene, IChoreoS // save as u4.12 Assert( abstag->GetPercentage() >= 0.0f && abstag->GetPercentage() <= 15.0f ); - unsigned short p = abstag->GetPercentage() * 4096.0f; + unsigned short p = static_cast(abstag->GetPercentage() * 4096.0f); buf.PutUnsignedShort( p ); } } @@ -4371,7 +4371,7 @@ void CCurveData::SaveToBuffer( CUtlBuffer& buf, IChoreoStringPool *pStringPool ) buf.PutFloat( sample->time ); Assert( sample->value >= 0.0f && sample->value <= 1.0f ); - unsigned char v = sample->value * 255.0f; + unsigned char v = static_cast(sample->value * 255.0f); buf.PutUnsignedChar( v ); } } @@ -4421,7 +4421,7 @@ void CChoreoEvent::SaveFlexAnimationsToBuffer( CUtlBuffer& buf, IChoreoStringPoo buf.PutFloat( s->time ); Assert( s->value >= 0.0f && s->value <= 1.0f ); - unsigned char v = s->value * 255.0f; + unsigned char v = static_cast(s->value * 255.0f); buf.PutUnsignedChar( v ); buf.PutUnsignedShort( s->GetCurveType() ); @@ -4443,7 +4443,7 @@ void CChoreoEvent::SaveFlexAnimationsToBuffer( CUtlBuffer& buf, IChoreoStringPoo buf.PutFloat( s->time ); Assert( s->value >= 0.0f && s->value <= 1.0f ); - unsigned char v = s->value * 255.0f; + unsigned char v = static_cast(s->value * 255.0f); buf.PutUnsignedChar( v ); buf.PutUnsignedShort( s->GetCurveType() ); diff --git a/game/shared/choreoscene.cpp b/game/shared/choreoscene.cpp index 60bf80f1..060b1697 100644 --- a/game/shared/choreoscene.cpp +++ b/game/shared/choreoscene.cpp @@ -29,7 +29,9 @@ // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" +#ifdef _MSC_VER #pragma warning( disable : 4127 ) +#endif // Let scene linger for 1/4 second so blends can finish #define SCENE_LINGER_TIME 0.25f diff --git a/game/shared/debugoverlay_null.cpp b/game/shared/debugoverlay_null.cpp index cb54bbde..5f4af4a3 100644 --- a/game/shared/debugoverlay_null.cpp +++ b/game/shared/debugoverlay_null.cpp @@ -28,8 +28,8 @@ namespace NDebugOverlay void EntityBounds( const CBaseEntity *pEntity, int r, int g, int b, int a, float flDuration ) {} void Line( const Vector &origin, const Vector &target, int r, int g, int b, bool noDepthTest, float flDuration ) {} void Triangle( const Vector &p1, const Vector &p2, const Vector &p3, int r, int g, int b, int a, bool noDepthTest, float duration ) {} - void EntityText( int entityID, int text_offset, const char *text, float flDuration, int r = 255, int g = 255, int b = 255, int a = 255) {} - void EntityTextAtPosition( const Vector &origin, int text_offset, const char *text, float flDuration, int r = 255, int g = 255, int b = 255, int a = 255) {} + void EntityText( int entityID, int text_offset, const char *text, float flDuration, int r, int g, int b, int a) {} + void EntityTextAtPosition( const Vector &origin, int text_offset, const char *text, float flDuration, int r, int g, int b, int a) {} void Grid( const Vector &vPosition ) {} void Text( const Vector &origin, const char *text, bool bViewCheck, float flDuration ) {} void ScreenText( float fXpos, float fYpos, const char *text, int r, int g, int b, int a, float flDuration) {} diff --git a/game/shared/debugoverlay_shared.cpp b/game/shared/debugoverlay_shared.cpp index a2db41b5..ad5f829a 100644 --- a/game/shared/debugoverlay_shared.cpp +++ b/game/shared/debugoverlay_shared.cpp @@ -335,7 +335,7 @@ void NDebugOverlay::DrawTickMarkedLine(const Vector &startPos, const Vector &end Vector lineDir = (endPos - startPos); float lineDist = VectorNormalize( lineDir ); - int numTicks = lineDist/tickDist; + int numTicks = (int)(lineDist / tickDist); Vector vBodyDir; #if defined( CLIENT_DLL ) @@ -563,7 +563,7 @@ void NDebugOverlay::Circle( const Vector &position, const QAngle &angles, float void NDebugOverlay::Circle( const Vector &position, const Vector &xAxis, const Vector &yAxis, float radius, int r, int g, int b, int a, bool bNoDepthTest, float flDuration ) { - const unsigned int nSegments = 16; + const int nSegments = 16; const float flRadStep = (M_PI*2.0f) / (float) nSegments; Vector vecLastPosition; diff --git a/game/shared/effect_color_tables.h b/game/shared/effect_color_tables.h index d52420ee..25a27bb6 100644 --- a/game/shared/effect_color_tables.h +++ b/game/shared/effect_color_tables.h @@ -31,6 +31,7 @@ enum }; // Commander mode table +#ifdef CLIENT_DLL static colorentry_t commandercolors[] = { { COMMAND_POINT_RED, 1.0, 0.0, 0.0 }, @@ -45,5 +46,6 @@ static colorentry_t bloodcolors[] = { BLOOD_COLOR_YELLOW, 195, 195, 0 }, { BLOOD_COLOR_MECH, 20, 20, 20 }, }; +#endif #endif // EFFECT_COLOR_TABLES_H diff --git a/game/shared/effect_dispatch_data.cpp b/game/shared/effect_dispatch_data.cpp index bb3f5127..1f2a419a 100644 --- a/game/shared/effect_dispatch_data.cpp +++ b/game/shared/effect_dispatch_data.cpp @@ -76,19 +76,19 @@ // Get half-inch precision here. #ifdef HL2_DLL - SendPropFloat( SENDINFO_NOCHECK( m_vOrigin[0] ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), - SendPropFloat( SENDINFO_NOCHECK( m_vOrigin[1] ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), - SendPropFloat( SENDINFO_NOCHECK( m_vOrigin[2] ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), - SendPropFloat( SENDINFO_NOCHECK( m_vStart[0] ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), - SendPropFloat( SENDINFO_NOCHECK( m_vStart[1] ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), - SendPropFloat( SENDINFO_NOCHECK( m_vStart[2] ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vOrigin, 0, x ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vOrigin, 1, y ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vOrigin, 2, z ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vStart, 0, x ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vStart, 1, y ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vStart, 2, z ), COORD_INTEGER_BITS+SUBINCH_PRECISION, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER ), #else - SendPropFloat( SENDINFO_NOCHECK( m_vOrigin[0] ), -1, SPROP_COORD_MP_INTEGRAL ), - SendPropFloat( SENDINFO_NOCHECK( m_vOrigin[1] ), -1, SPROP_COORD_MP_INTEGRAL ), - SendPropFloat( SENDINFO_NOCHECK( m_vOrigin[2] ), -1, SPROP_COORD_MP_INTEGRAL ), - SendPropFloat( SENDINFO_NOCHECK( m_vStart[0] ), -1, SPROP_COORD_MP_INTEGRAL ), - SendPropFloat( SENDINFO_NOCHECK( m_vStart[1] ), -1, SPROP_COORD_MP_INTEGRAL ), - SendPropFloat( SENDINFO_NOCHECK( m_vStart[2] ), -1, SPROP_COORD_MP_INTEGRAL ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vOrigin, 0, x ), -1, SPROP_COORD_MP_INTEGRAL ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vOrigin, 1, y ), -1, SPROP_COORD_MP_INTEGRAL ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vOrigin, 2, z ), -1, SPROP_COORD_MP_INTEGRAL ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vStart, 0, x ), -1, SPROP_COORD_MP_INTEGRAL ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vStart, 1, y ), -1, SPROP_COORD_MP_INTEGRAL ), + SendPropFloat( SENDINFO_NOCHECK_VECTORELEM( m_vStart, 2, z ), -1, SPROP_COORD_MP_INTEGRAL ), #endif SendPropQAngles( SENDINFO_NOCHECK( m_vAngles ), 7 ), diff --git a/game/shared/env_wind_shared.cpp b/game/shared/env_wind_shared.cpp index 2e5c48b3..a032f305 100644 --- a/game/shared/env_wind_shared.cpp +++ b/game/shared/env_wind_shared.cpp @@ -257,7 +257,7 @@ float CEnvWindShared::WindThink( float flTime ) m_flAveWindSpeed = m_Stream.RandomInt( m_iMinGust, m_iMaxGust ); // change wind direction, maybe a lot - m_iWindDir = anglemod( m_iWindDir + m_Stream.RandomInt(-m_iGustDirChange, m_iGustDirChange) ); + m_iWindDir = (int)anglemod( m_iWindDir + m_Stream.RandomInt(-m_iGustDirChange, m_iGustDirChange) ); // set up to stop the gust in a short while m_bGusting = true; diff --git a/game/shared/episodic/npc_advisor_shared.h b/game/shared/episodic/npc_advisor_shared.h index 88e28787..b657be5c 100644 --- a/game/shared/episodic/npc_advisor_shared.h +++ b/game/shared/episodic/npc_advisor_shared.h @@ -1,32 +1,32 @@ -//========= Copyright © 1996-2007, Valve Corporation, All rights reserved. ============// -// -// Purpose: Shared data between client and server side npc_advisor classes. -// -// Catchphrase: "It's advising us!!!" -// -//=============================================================================// - -#ifndef NPC_ADVISOR_SHARED_H -#define NPC_ADVISOR_SHARED_H -#ifdef _WIN32 -#pragma once -#endif - - -// Set this to 0 to disable the advisor's special AI behavior (all that object chucking), -// which we did in Ep2 to make him a scripted creature. -#define NPC_ADVISOR_HAS_BEHAVIOR 0 - -#if NPC_ADVISOR_HAS_BEHAVIOR -// Message ID constants used for communciation between client and server. -enum -{ - ADVISOR_MSG_START_BEAM = 10, - ADVISOR_MSG_STOP_BEAM, - ADVISOR_MSG_STOP_ALL_BEAMS, - ADVISOR_MSG_START_ELIGHT, - ADVISOR_MSG_STOP_ELIGHT, -}; -#endif - -#endif // NPC_ADVISOR_SHARED_H +//========= Copyright © 1996-2007, Valve Corporation, All rights reserved. ============// +// +// Purpose: Shared data between client and server side npc_advisor classes. +// +// Catchphrase: "It's advising us!!!" +// +//=============================================================================// + +#ifndef NPC_ADVISOR_SHARED_H +#define NPC_ADVISOR_SHARED_H +#ifdef _WIN32 +#pragma once +#endif + + +// Set this to 0 to disable the advisor's special AI behavior (all that object chucking), +// which we did in Ep2 to make him a scripted creature. +#define NPC_ADVISOR_HAS_BEHAVIOR 0 + +#if NPC_ADVISOR_HAS_BEHAVIOR +// Message ID constants used for communciation between client and server. +enum +{ + ADVISOR_MSG_START_BEAM = 10, + ADVISOR_MSG_STOP_BEAM, + ADVISOR_MSG_STOP_ALL_BEAMS, + ADVISOR_MSG_START_ELIGHT, + ADVISOR_MSG_STOP_ELIGHT, +}; +#endif + +#endif // NPC_ADVISOR_SHARED_H diff --git a/game/shared/eventlist.cpp b/game/shared/eventlist.cpp index 5658b5d5..2f791ab4 100644 --- a/game/shared/eventlist.cpp +++ b/game/shared/eventlist.cpp @@ -247,4 +247,4 @@ void EventList_RegisterSharedEvents( void ) REGISTER_SHARED_ANIMEVENT( AE_WPN_UNHIDE, AE_TYPE_CLIENT | AE_TYPE_SERVER ); REGISTER_SHARED_ANIMEVENT( AE_WPN_PLAYWPNSOUND, AE_TYPE_CLIENT | AE_TYPE_SERVER ); -} \ No newline at end of file +} diff --git a/game/shared/func_ladder.cpp b/game/shared/func_ladder.cpp index 1bf44316..7c978444 100644 --- a/game/shared/func_ladder.cpp +++ b/game/shared/func_ladder.cpp @@ -510,4 +510,4 @@ const char *FuncLadder_GetSurfaceprops(CBaseEntity *pLadderEntity) } return "ladder"; } -#endif \ No newline at end of file +#endif diff --git a/game/shared/gameeventdefs.h b/game/shared/gameeventdefs.h index e738ecd8..a150d114 100644 --- a/game/shared/gameeventdefs.h +++ b/game/shared/gameeventdefs.h @@ -18,4 +18,4 @@ #define GAME_EVENT_PLAYER_DEATH "player_death" #define GAME_EVENT_SAY_TEXT "say_text" -#endif // GAMEEVENTDEFS_H \ No newline at end of file +#endif // GAMEEVENTDEFS_H diff --git a/game/shared/gamemovement.cpp b/game/shared/gamemovement.cpp index 0521ba15..2dcd1e70 100644 --- a/game/shared/gamemovement.cpp +++ b/game/shared/gamemovement.cpp @@ -491,7 +491,7 @@ void CGameMovement::DiffPrint( char const *fmt, ... ) } #else -static void DiffPrint( bool bServer, int nCommandNumber, char const *fmt, ... ) +/*static void DiffPrint( bool bServer, int nCommandNumber, char const *fmt, ... ) { // Nothing } @@ -501,7 +501,7 @@ static void StartCommand( bool bServer, int nCommandNumber ) static void Validate( bool bServer, int nCommandNumber ) { -} +}*/ #define CheckV( tick, ctx, vel ) @@ -512,12 +512,12 @@ void CGameMovement::DiffPrint( char const *fmt, ... ) #endif // !PREDICTION_ERROR_CHECK_LEVEL #ifndef _XBOX -void COM_Log( char *pszFile, char *fmt, ...) +void COM_Log( const char *pszFile, const char *fmt, ...) { va_list argptr; char string[1024]; FileHandle_t fp; - char *pfilename; + const char *pfilename; if ( !pszFile ) { @@ -3182,7 +3182,7 @@ extern Vector rgv3tStuckTable[54]; void CreateStuckTable( void ) { float x, y, z; - int idx; + size_t idx; int i; float zi[3]; static int firsttime = 1; @@ -4704,7 +4704,9 @@ void CGameMovement::FullTossMove( void ) // Purpose: TF2 commander mode movement logic //----------------------------------------------------------------------------- +#ifdef _MSC_VER #pragma warning (disable : 4701) +#endif void CGameMovement::IsometricMove( void ) { @@ -4739,10 +4741,11 @@ void CGameMovement::IsometricMove( void ) mv->m_vecVelocity.Init(); } +#ifdef _MSC_VER #pragma warning (default : 4701) - +#endif bool CGameMovement::GameHasLadders() const { return true; -} \ No newline at end of file +} diff --git a/game/shared/gamestringpool.cpp b/game/shared/gamestringpool.cpp index 5b504ddb..a73f0aa0 100644 --- a/game/shared/gamestringpool.cpp +++ b/game/shared/gamestringpool.cpp @@ -27,7 +27,7 @@ class CGameStringPool : public CStringPool, public CBaseGameSystem } public: - void CGameStringPool::Dump( void ) + void Dump( void ) { for ( int i = m_Strings.FirstInorder(); i != m_Strings.InvalidIndex(); i = m_Strings.NextInorder(i) ) { @@ -74,4 +74,4 @@ void CC_DumpGameStringTable( void ) g_GameStringPool.Dump(); } static ConCommand dumpgamestringtable("dumpgamestringtable", CC_DumpGameStringTable, "Dump the contents of the game string table to the console.", FCVAR_CHEAT); -#endif \ No newline at end of file +#endif diff --git a/game/shared/hintsystem.cpp b/game/shared/hintsystem.cpp index 4d8fe52e..202ac0cd 100644 --- a/game/shared/hintsystem.cpp +++ b/game/shared/hintsystem.cpp @@ -320,4 +320,4 @@ void HintClear( void ) ConCommand cl_clearhinthistory( "cl_clearhinthistory", HintClear, "Clear memory of client side hints displayed to the player." ); #else ConCommand sv_clearhinthistory( "sv_clearhinthistory", HintClear, "Clear memory of server side hints displayed to the player." ); -#endif \ No newline at end of file +#endif diff --git a/game/shared/hl2/achievements_hl2.cpp b/game/shared/hl2/achievements_hl2.cpp index 7d6467f6..b8d6e5f2 100644 --- a/game/shared/hl2/achievements_hl2.cpp +++ b/game/shared/hl2/achievements_hl2.cpp @@ -268,4 +268,4 @@ DECLARE_MAP_EVENT_ACHIEVEMENT( ACHIEVEMENT_HL2_BEAT_SUPRESSIONDEVICE, "HL2_BEAT_ DECLARE_MAP_EVENT_ACHIEVEMENT( ACHIEVEMENT_HL2_BEAT_C1713STRIDERSTANDOFF, "HL2_BEAT_C1713STRIDERSTANDOFF", 10 ); DECLARE_MAP_EVENT_ACHIEVEMENT_HIDDEN( ACHIEVEMENT_HL2_BEAT_GAME, "HL2_BEAT_GAME", 25 ); -#endif // GAME_DLL \ No newline at end of file +#endif // GAME_DLL diff --git a/game/shared/hl2/basehlcombatweapon_shared.cpp b/game/shared/hl2/basehlcombatweapon_shared.cpp index c6305f61..d92e5817 100644 --- a/game/shared/hl2/basehlcombatweapon_shared.cpp +++ b/game/shared/hl2/basehlcombatweapon_shared.cpp @@ -428,4 +428,4 @@ const WeaponProficiencyInfo_t *CBaseHLCombatWeapon::GetDefaultProficiencyValues( return g_BaseWeaponProficiencyTable; } -#endif \ No newline at end of file +#endif diff --git a/game/shared/hl2/hl2_gamerules.cpp b/game/shared/hl2/hl2_gamerules.cpp index c6f52963..3e2be421 100644 --- a/game/shared/hl2/hl2_gamerules.cpp +++ b/game/shared/hl2/hl2_gamerules.cpp @@ -1,1880 +1,1880 @@ -//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ==== -// -// Purpose: The Half-Life 2 game rules, such as the relationship tables and ammo -// damage cvars. -// -//============================================================================= - -#include "cbase.h" -#include "hl2_gamerules.h" -#include "ammodef.h" -#include "hl2_shareddefs.h" - -#ifdef CLIENT_DLL - -#else - #include "player.h" - #include "game.h" - #include "gamerules.h" - #include "teamplay_gamerules.h" - #include "hl2_player.h" - #include "voice_gamemgr.h" - #include "globalstate.h" - #include "ai_basenpc.h" - #include "weapon_physcannon.h" -#endif - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - - -REGISTER_GAMERULES_CLASS( CHalfLife2 ); - -BEGIN_NETWORK_TABLE_NOBASE( CHalfLife2, DT_HL2GameRules ) - #ifdef CLIENT_DLL - RecvPropBool( RECVINFO( m_bMegaPhysgun ) ), - #else - SendPropBool( SENDINFO( m_bMegaPhysgun ) ), - #endif -END_NETWORK_TABLE() - - -LINK_ENTITY_TO_CLASS( hl2_gamerules, CHalfLife2Proxy ); -IMPLEMENT_NETWORKCLASS_ALIASED( HalfLife2Proxy, DT_HalfLife2Proxy ) - - -#ifdef CLIENT_DLL - void RecvProxy_HL2GameRules( const RecvProp *pProp, void **pOut, void *pData, int objectID ) - { - CHalfLife2 *pRules = HL2GameRules(); - Assert( pRules ); - *pOut = pRules; - } - - BEGIN_RECV_TABLE( CHalfLife2Proxy, DT_HalfLife2Proxy ) - RecvPropDataTable( "hl2_gamerules_data", 0, 0, &REFERENCE_RECV_TABLE( DT_HL2GameRules ), RecvProxy_HL2GameRules ) - END_RECV_TABLE() -#else - void* SendProxy_HL2GameRules( const SendProp *pProp, const void *pStructBase, const void *pData, CSendProxyRecipients *pRecipients, int objectID ) - { - CHalfLife2 *pRules = HL2GameRules(); - Assert( pRules ); - pRecipients->SetAllRecipients(); - return pRules; - } - - BEGIN_SEND_TABLE( CHalfLife2Proxy, DT_HalfLife2Proxy ) - SendPropDataTable( "hl2_gamerules_data", 0, &REFERENCE_SEND_TABLE( DT_HL2GameRules ), SendProxy_HL2GameRules ) - END_SEND_TABLE() -#endif - -ConVar physcannon_mega_enabled( "physcannon_mega_enabled", "0", FCVAR_CHEAT | FCVAR_REPLICATED ); - -// Controls the application of the robus radius damage model. -ConVar sv_robust_explosions( "sv_robust_explosions","1", FCVAR_REPLICATED ); - -// Damage scale for damage inflicted by the player on each skill level. -ConVar sk_dmg_inflict_scale1( "sk_dmg_inflict_scale1", "1.50", FCVAR_REPLICATED ); -ConVar sk_dmg_inflict_scale2( "sk_dmg_inflict_scale2", "1.00", FCVAR_REPLICATED ); -ConVar sk_dmg_inflict_scale3( "sk_dmg_inflict_scale3", "0.75", FCVAR_REPLICATED ); - -// Damage scale for damage taken by the player on each skill level. -ConVar sk_dmg_take_scale1( "sk_dmg_take_scale1", "0.50", FCVAR_REPLICATED ); -ConVar sk_dmg_take_scale2( "sk_dmg_take_scale2", "1.00", FCVAR_REPLICATED ); -#ifdef HL2_EPISODIC - ConVar sk_dmg_take_scale3( "sk_dmg_take_scale3", "2.0", FCVAR_REPLICATED ); -#else - ConVar sk_dmg_take_scale3( "sk_dmg_take_scale3", "1.50", FCVAR_REPLICATED ); -#endif//HL2_EPISODIC - -ConVar sk_allow_autoaim( "sk_allow_autoaim", "1", FCVAR_REPLICATED | FCVAR_ARCHIVE_XBOX ); - -// Autoaim scale -ConVar sk_autoaim_scale1( "sk_autoaim_scale1", "1.0", FCVAR_REPLICATED ); -ConVar sk_autoaim_scale2( "sk_autoaim_scale2", "1.0", FCVAR_REPLICATED ); -//ConVar sk_autoaim_scale3( "sk_autoaim_scale3", "0.0", FCVAR_REPLICATED ); NOT CURRENTLY OFFERED ON SKILL 3 - -// Quantity scale for ammo received by the player. -ConVar sk_ammo_qty_scale1 ( "sk_ammo_qty_scale1", "1.20", FCVAR_REPLICATED ); -ConVar sk_ammo_qty_scale2 ( "sk_ammo_qty_scale2", "1.00", FCVAR_REPLICATED ); -ConVar sk_ammo_qty_scale3 ( "sk_ammo_qty_scale3", "0.60", FCVAR_REPLICATED ); - -ConVar sk_plr_health_drop_time ( "sk_plr_health_drop_time", "30", FCVAR_REPLICATED ); -ConVar sk_plr_grenade_drop_time ( "sk_plr_grenade_drop_time", "30", FCVAR_REPLICATED ); - -ConVar sk_plr_dmg_ar2 ( "sk_plr_dmg_ar2","0", FCVAR_REPLICATED ); -ConVar sk_npc_dmg_ar2 ( "sk_npc_dmg_ar2","0", FCVAR_REPLICATED); -ConVar sk_max_ar2 ( "sk_max_ar2","0", FCVAR_REPLICATED); -ConVar sk_max_ar2_altfire ( "sk_max_ar2_altfire","0", FCVAR_REPLICATED); - -ConVar sk_plr_dmg_alyxgun ( "sk_plr_dmg_alyxgun","0", FCVAR_REPLICATED ); -ConVar sk_npc_dmg_alyxgun ( "sk_npc_dmg_alyxgun","0", FCVAR_REPLICATED); -ConVar sk_max_alyxgun ( "sk_max_alyxgun","0", FCVAR_REPLICATED); - -ConVar sk_plr_dmg_pistol ( "sk_plr_dmg_pistol","0", FCVAR_REPLICATED ); -ConVar sk_npc_dmg_pistol ( "sk_npc_dmg_pistol","0", FCVAR_REPLICATED); -ConVar sk_max_pistol ( "sk_max_pistol","0", FCVAR_REPLICATED); - -ConVar sk_plr_dmg_smg1 ( "sk_plr_dmg_smg1","0", FCVAR_REPLICATED ); -ConVar sk_npc_dmg_smg1 ( "sk_npc_dmg_smg1","0", FCVAR_REPLICATED); -ConVar sk_max_smg1 ( "sk_max_smg1","0", FCVAR_REPLICATED); - -// FIXME: remove these -//ConVar sk_plr_dmg_flare_round ( "sk_plr_dmg_flare_round","0", FCVAR_REPLICATED); -//ConVar sk_npc_dmg_flare_round ( "sk_npc_dmg_flare_round","0", FCVAR_REPLICATED); -//ConVar sk_max_flare_round ( "sk_max_flare_round","0", FCVAR_REPLICATED); - -ConVar sk_plr_dmg_buckshot ( "sk_plr_dmg_buckshot","0", FCVAR_REPLICATED); -ConVar sk_npc_dmg_buckshot ( "sk_npc_dmg_buckshot","0", FCVAR_REPLICATED); -ConVar sk_max_buckshot ( "sk_max_buckshot","0", FCVAR_REPLICATED); -ConVar sk_plr_num_shotgun_pellets( "sk_plr_num_shotgun_pellets","7", FCVAR_REPLICATED); - -ConVar sk_plr_dmg_rpg_round ( "sk_plr_dmg_rpg_round","0", FCVAR_REPLICATED); -ConVar sk_npc_dmg_rpg_round ( "sk_npc_dmg_rpg_round","0", FCVAR_REPLICATED); -ConVar sk_max_rpg_round ( "sk_max_rpg_round","0", FCVAR_REPLICATED); - -ConVar sk_plr_dmg_sniper_round ( "sk_plr_dmg_sniper_round","0", FCVAR_REPLICATED); -ConVar sk_npc_dmg_sniper_round ( "sk_npc_dmg_sniper_round","0", FCVAR_REPLICATED); -ConVar sk_max_sniper_round ( "sk_max_sniper_round","0", FCVAR_REPLICATED); - -//ConVar sk_max_slam ( "sk_max_slam","0", FCVAR_REPLICATED); -//ConVar sk_max_tripwire ( "sk_max_tripwire","0", FCVAR_REPLICATED); - -//ConVar sk_plr_dmg_molotov ( "sk_plr_dmg_molotov","0", FCVAR_REPLICATED); -//ConVar sk_npc_dmg_molotov ( "sk_npc_dmg_molotov","0", FCVAR_REPLICATED); -//ConVar sk_max_molotov ( "sk_max_molotov","0", FCVAR_REPLICATED); - -ConVar sk_plr_dmg_grenade ( "sk_plr_dmg_grenade","0", FCVAR_REPLICATED); -ConVar sk_npc_dmg_grenade ( "sk_npc_dmg_grenade","0", FCVAR_REPLICATED); -ConVar sk_max_grenade ( "sk_max_grenade","0", FCVAR_REPLICATED); - -#ifdef HL2_EPISODIC -ConVar sk_max_hopwire ( "sk_max_hopwire", "3", FCVAR_REPLICATED); -ConVar sk_max_striderbuster ( "sk_max_striderbuster", "3", FCVAR_REPLICATED); -#endif - -//ConVar sk_plr_dmg_brickbat ( "sk_plr_dmg_brickbat","0", FCVAR_REPLICATED); -//ConVar sk_npc_dmg_brickbat ( "sk_npc_dmg_brickbat","0", FCVAR_REPLICATED); -//ConVar sk_max_brickbat ( "sk_max_brickbat","0", FCVAR_REPLICATED); - -ConVar sk_plr_dmg_smg1_grenade ( "sk_plr_dmg_smg1_grenade","0", FCVAR_REPLICATED); -ConVar sk_npc_dmg_smg1_grenade ( "sk_npc_dmg_smg1_grenade","0", FCVAR_REPLICATED); -ConVar sk_max_smg1_grenade ( "sk_max_smg1_grenade","0", FCVAR_REPLICATED ); - -ConVar sk_plr_dmg_357 ( "sk_plr_dmg_357", "0", FCVAR_REPLICATED ); -ConVar sk_npc_dmg_357 ( "sk_npc_dmg_357", "0", FCVAR_REPLICATED ); -ConVar sk_max_357 ( "sk_max_357", "0", FCVAR_REPLICATED ); - -ConVar sk_plr_dmg_crossbow ( "sk_plr_dmg_crossbow", "0", FCVAR_REPLICATED ); -ConVar sk_npc_dmg_crossbow ( "sk_npc_dmg_crossbow", "0", FCVAR_REPLICATED ); -ConVar sk_max_crossbow ( "sk_max_crossbow", "0", FCVAR_REPLICATED ); - -ConVar sk_dmg_sniper_penetrate_plr( "sk_dmg_sniper_penetrate_plr","0", FCVAR_REPLICATED); -ConVar sk_dmg_sniper_penetrate_npc( "sk_dmg_sniper_penetrate_npc","0", FCVAR_REPLICATED); - -ConVar sk_plr_dmg_airboat ( "sk_plr_dmg_airboat", "0", FCVAR_REPLICATED ); -ConVar sk_npc_dmg_airboat ( "sk_npc_dmg_airboat", "0", FCVAR_REPLICATED ); - -ConVar sk_max_gauss_round ( "sk_max_gauss_round", "0", FCVAR_REPLICATED ); - -// Gunship & Dropship cannons -ConVar sk_npc_dmg_gunship ( "sk_npc_dmg_gunship", "0", FCVAR_REPLICATED ); -ConVar sk_npc_dmg_gunship_to_plr ( "sk_npc_dmg_gunship_to_plr", "0", FCVAR_REPLICATED ); - -//----------------------------------------------------------------------------- -// Purpose: -// Input : iDmgType - -// Output : Returns true on success, false on failure. -//----------------------------------------------------------------------------- -int CHalfLife2::Damage_GetTimeBased( void ) -{ -#ifdef HL2_EPISODIC - int iDamage = ( DMG_PARALYZE | DMG_NERVEGAS | DMG_POISON | DMG_RADIATION | DMG_DROWNRECOVER | DMG_ACID | DMG_SLOWBURN ); - return iDamage; -#else - return BaseClass::Damage_GetTimeBased(); -#endif -} - -//----------------------------------------------------------------------------- -// Purpose: -// Input : iDmgType - -// Output : bool -//----------------------------------------------------------------------------- -bool CHalfLife2::Damage_IsTimeBased( int iDmgType ) -{ - // Damage types that are time-based. -#ifdef HL2_EPISODIC - // This makes me think EP2 should have its own rules, but they are #ifdef all over in here. - return ( ( iDmgType & ( DMG_PARALYZE | DMG_NERVEGAS | DMG_POISON | DMG_RADIATION | DMG_DROWNRECOVER | DMG_SLOWBURN ) ) != 0 ); -#else - return BaseClass::Damage_IsTimeBased( iDmgType ); -#endif -} - -#ifdef CLIENT_DLL -#else - -#ifdef HL2_EPISODIC -ConVar alyx_darkness_force( "alyx_darkness_force", "0", FCVAR_CHEAT | FCVAR_REPLICATED ); -#endif // HL2_EPISODIC - -#endif // CLIENT_DLL - - -#ifdef CLIENT_DLL //{ - - -#else //}{ - - extern bool g_fGameOver; - -#ifndef HL2MP - class CVoiceGameMgrHelper : public IVoiceGameMgrHelper - { - public: - virtual bool CanPlayerHearPlayer( CBasePlayer *pListener, CBasePlayer *pTalker, bool &bProximity ) - { - return true; - } - }; - CVoiceGameMgrHelper g_VoiceGameMgrHelper; - IVoiceGameMgrHelper *g_pVoiceGameMgrHelper = &g_VoiceGameMgrHelper; -#endif - - //----------------------------------------------------------------------------- - // Purpose: - // Input : - // Output : - //----------------------------------------------------------------------------- - CHalfLife2::CHalfLife2() - { - m_bMegaPhysgun = false; - - m_flLastHealthDropTime = 0.0f; - m_flLastGrenadeDropTime = 0.0f; - } - - //----------------------------------------------------------------------------- - // Purpose: called each time a player uses a "cmd" command - // Input : *pEdict - the player who issued the command - // Use engine.Cmd_Argv, engine.Cmd_Argv, and engine.Cmd_Argc to get - // pointers the character string command. - //----------------------------------------------------------------------------- - bool CHalfLife2::ClientCommand( CBaseEntity *pEdict, const CCommand &args ) - { - if( BaseClass::ClientCommand( pEdict, args ) ) - return true; - - CHL2_Player *pPlayer = (CHL2_Player *) pEdict; - - if ( pPlayer->ClientCommand( args ) ) - return true; - - return false; - } - - //----------------------------------------------------------------------------- - // Purpose: Player has just spawned. Equip them. - //----------------------------------------------------------------------------- - void CHalfLife2::PlayerSpawn( CBasePlayer *pPlayer ) - { - } - - //----------------------------------------------------------------------------- - // Purpose: MULTIPLAYER BODY QUE HANDLING - //----------------------------------------------------------------------------- - class CCorpse : public CBaseAnimating - { - public: - DECLARE_CLASS( CCorpse, CBaseAnimating ); - DECLARE_SERVERCLASS(); - - virtual int ObjectCaps( void ) { return FCAP_DONT_SAVE; } - - public: - CNetworkVar( int, m_nReferencePlayer ); - }; - - IMPLEMENT_SERVERCLASS_ST(CCorpse, DT_Corpse) - SendPropInt( SENDINFO(m_nReferencePlayer), 10, SPROP_UNSIGNED ) - END_SEND_TABLE() - - LINK_ENTITY_TO_CLASS( bodyque, CCorpse ); - - - CCorpse *g_pBodyQueueHead; - - void InitBodyQue(void) - { - CCorpse *pEntity = ( CCorpse * )CreateEntityByName( "bodyque" ); - pEntity->AddEFlags( EFL_KEEP_ON_RECREATE_ENTITIES ); - g_pBodyQueueHead = pEntity; - CCorpse *p = g_pBodyQueueHead; - - // Reserve 3 more slots for dead bodies - for ( int i = 0; i < 3; i++ ) - { - CCorpse *next = ( CCorpse * )CreateEntityByName( "bodyque" ); - next->AddEFlags( EFL_KEEP_ON_RECREATE_ENTITIES ); - p->SetOwnerEntity( next ); - p = next; - } - - p->SetOwnerEntity( g_pBodyQueueHead ); - } - - //----------------------------------------------------------------------------- - // Purpose: make a body que entry for the given ent so the ent can be respawned elsewhere - // GLOBALS ASSUMED SET: g_eoBodyQueueHead - //----------------------------------------------------------------------------- - void CopyToBodyQue( CBaseAnimating *pCorpse ) - { - if ( pCorpse->IsEffectActive( EF_NODRAW ) ) - return; - - CCorpse *pHead = g_pBodyQueueHead; - - pHead->CopyAnimationDataFrom( pCorpse ); - - pHead->SetMoveType( MOVETYPE_FLYGRAVITY ); - pHead->SetAbsVelocity( pCorpse->GetAbsVelocity() ); - pHead->ClearFlags(); - pHead->m_nReferencePlayer = ENTINDEX( pCorpse ); - - pHead->SetLocalAngles( pCorpse->GetAbsAngles() ); - UTIL_SetOrigin(pHead, pCorpse->GetAbsOrigin()); - - UTIL_SetSize(pHead, pCorpse->WorldAlignMins(), pCorpse->WorldAlignMaxs()); - g_pBodyQueueHead = (CCorpse *)pHead->GetOwnerEntity(); - } - - //------------------------------------------------------------------------------ - // Purpose : Initialize all default class relationships - // Input : - // Output : - //------------------------------------------------------------------------------ - void CHalfLife2::InitDefaultAIRelationships( void ) - { - int i, j; - - // Allocate memory for default relationships - CBaseCombatCharacter::AllocateDefaultRelationships(); - - // -------------------------------------------------------------- - // First initialize table so we can report missing relationships - // -------------------------------------------------------------- - for (i=0;i CLASS_ANTLION - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_MANHACK, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_SCANNER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_PROTOSNIPER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_ANTLION, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_BARNACLE - // - // In this case, the relationship D_HT indicates which characters - // the barnacle will try to eat. - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_BARNACLE, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_BULLSQUID, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_MANHACK, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_EARTH_FAUNA, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_BULLSEYE - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_PLAYER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_ANTLION, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_BULLSQUID, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_CITIZEN_REBEL, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_HEADCRAB, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_HOUNDEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_VORTIGAUNT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_ZOMBIE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_PLAYER_ALLY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_HACKED_ROLLERMINE,D_NU, 0); - - // ------------------------------------------------------------ - // > CLASS_BULLSQUID - // ------------------------------------------------------------ - /* - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_BARNACLE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_BULLSEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_BULLSQUID, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_HEADCRAB, D_HT, 1); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_HOUNDEYE, D_HT, 1); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_MANHACK, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_HACKED_ROLLERMINE,D_HT, 0); - */ - // ------------------------------------------------------------ - // > CLASS_CITIZEN_PASSIVE - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_PLAYER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_BARNACLE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_BULLSQUID, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_CITIZEN_REBEL, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_COMBINE_HUNTER, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_HEADCRAB, D_FR, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_HOUNDEYE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_MANHACK, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_MISSILE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_VORTIGAUNT, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_ZOMBIE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_PLAYER_ALLY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_HACKED_ROLLERMINE,D_NU, 0); - - // ------------------------------------------------------------ - // > CLASS_CITIZEN_REBEL - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_PLAYER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_BARNACLE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_BULLSQUID, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_CITIZEN_REBEL, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_MANHACK, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_MISSILE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_SCANNER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_VORTIGAUNT, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_PLAYER_ALLY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_HACKED_ROLLERMINE,D_NU, 0); - - // ------------------------------------------------------------ - // > CLASS_COMBINE - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_BARNACLE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_COMBINE, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_COMBINE_GUNSHIP, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_COMBINE_HUNTER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_COMBINE_GUNSHIP - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_COMBINE, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_COMBINE_GUNSHIP, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_COMBINE_HUNTER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_HEADCRAB, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_MISSILE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_COMBINE_HUNTER - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_COMBINE, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_COMBINE_GUNSHIP, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_COMBINE_HUNTER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_CONSCRIPT - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_PLAYER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_BARNACLE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_CITIZEN_REBEL, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_MANHACK, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_SCANNER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_VORTIGAUNT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_PLAYER_ALLY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_HACKED_ROLLERMINE,D_NU, 0); - - // ------------------------------------------------------------ - // > CLASS_FLARE - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_PLAYER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_ANTLION, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_BULLSQUID, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_CITIZEN_REBEL, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_HEADCRAB, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_HOUNDEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_VORTIGAUNT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_ZOMBIE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_PLAYER_ALLY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_HACKED_ROLLERMINE,D_NU, 0); - - // ------------------------------------------------------------ - // > CLASS_HEADCRAB - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_BULLSQUID, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_HEADCRAB, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_HOUNDEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_ZOMBIE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_HACKED_ROLLERMINE,D_FR, 0); - - // ------------------------------------------------------------ - // > CLASS_HOUNDEYE - // ------------------------------------------------------------ - /* - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_BULLSQUID, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_HEADCRAB, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_HOUNDEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_ZOMBIE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_HACKED_ROLLERMINE,D_HT, 0); - */ - - // ------------------------------------------------------------ - // > CLASS_MANHACK - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_HEADCRAB, D_HT,-1); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_HOUNDEYE, D_HT,-1); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_METROPOLICE - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_MILITARY - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_MISSILE - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_NONE - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_PLAYER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_ANTLION, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_BULLSQUID, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_CITIZEN_REBEL, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_HEADCRAB, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_HOUNDEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_VORTIGAUNT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_ZOMBIE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_PLAYER_ALLY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_HACKED_ROLLERMINE,D_NU, 0); - - // ------------------------------------------------------------ - // > CLASS_PLAYER - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_PLAYER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_BARNACLE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_BULLSEYE, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_CITIZEN_PASSIVE, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_CITIZEN_REBEL, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_COMBINE_GUNSHIP, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_MANHACK, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_SCANNER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_VORTIGAUNT, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_PROTOSNIPER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_PLAYER_ALLY, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_HACKED_ROLLERMINE,D_LI, 0); - - // ------------------------------------------------------------ - // > CLASS_PLAYER_ALLY - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_PLAYER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_BARNACLE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_CITIZEN_REBEL, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_HEADCRAB, D_FR, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_MANHACK, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_SCANNER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_VORTIGAUNT, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_ZOMBIE, D_FR, 1); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_PROTOSNIPER, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_PLAYER_ALLY, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_HACKED_ROLLERMINE,D_LI, 0); - - // ------------------------------------------------------------ - // > CLASS_PLAYER_ALLY_VITAL - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_PLAYER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_BARNACLE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_CITIZEN_REBEL, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_COMBINE_HUNTER, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_MANHACK, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_SCANNER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_VORTIGAUNT, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_PROTOSNIPER, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_PLAYER_ALLY, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_HACKED_ROLLERMINE,D_LI, 0); - - // ------------------------------------------------------------ - // > CLASS_SCANNER - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_BULLSQUID, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_COMBINE, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_COMBINE_GUNSHIP, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_COMBINE_HUNTER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_HEADCRAB, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_HOUNDEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_MANHACK, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_METROPOLICE, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_MILITARY, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_SCANNER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_STALKER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_ZOMBIE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_PROTOSNIPER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_STALKER - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_HEADCRAB, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_HOUNDEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_ZOMBIE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_VORTIGAUNT - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_PLAYER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_BARNACLE, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_CITIZEN_PASSIVE, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_CITIZEN_REBEL, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_MANHACK, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_SCANNER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_VORTIGAUNT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_PLAYER_ALLY, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_HACKED_ROLLERMINE,D_LI, 0); - - // ------------------------------------------------------------ - // > CLASS_ZOMBIE - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_BULLSQUID, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_HEADCRAB, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_HOUNDEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_MANHACK, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_MILITARY, D_FR, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_ZOMBIE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_PROTOSNIPER - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_BULLSQUID, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_COMBINE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_HOUNDEYE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_METROPOLICE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_MILITARY, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_MISSILE, D_NU, 5); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_STALKER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_HACKED_ROLLERMINE,D_HT, 0); - - // ------------------------------------------------------------ - // > CLASS_EARTH_FAUNA - // - // Hates pretty much everything equally except other earth fauna. - // This will make the critter choose the nearest thing as its enemy. - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_NONE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_PLAYER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_CITIZEN_PASSIVE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_CITIZEN_REBEL, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_COMBINE_GUNSHIP, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_COMBINE_HUNTER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_CONSCRIPT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_FLARE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_MANHACK, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_MISSILE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_SCANNER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_VORTIGAUNT, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_ZOMBIE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_PROTOSNIPER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_EARTH_FAUNA, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_PLAYER_ALLY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_HACKED_ROLLERMINE,D_NU, 0); - - // ------------------------------------------------------------ - // > CLASS_HACKED_ROLLERMINE - // ------------------------------------------------------------ - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_NONE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_PLAYER, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_ANTLION, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_BARNACLE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_BULLSEYE, D_NU, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_BULLSQUID, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_CITIZEN_PASSIVE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_CITIZEN_REBEL, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_COMBINE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_COMBINE_GUNSHIP, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_COMBINE_HUNTER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_CONSCRIPT, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_FLARE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_HEADCRAB, D_HT, 0); - //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_HOUNDEYE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_MANHACK, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_METROPOLICE, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_MILITARY, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_MISSILE, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_SCANNER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_STALKER, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_VORTIGAUNT, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_ZOMBIE, D_HT, 1); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_PROTOSNIPER, D_NU, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_EARTH_FAUNA, D_HT, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_PLAYER_ALLY, D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); - CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_HACKED_ROLLERMINE,D_LI, 0); - } - - - //------------------------------------------------------------------------------ - // Purpose : Return classify text for classify type - // Input : - // Output : - //------------------------------------------------------------------------------ - const char* CHalfLife2::AIClassText(int classType) - { - switch (classType) - { - case CLASS_NONE: return "CLASS_NONE"; - case CLASS_PLAYER: return "CLASS_PLAYER"; - case CLASS_ANTLION: return "CLASS_ANTLION"; - case CLASS_BARNACLE: return "CLASS_BARNACLE"; - case CLASS_BULLSEYE: return "CLASS_BULLSEYE"; - //case CLASS_BULLSQUID: return "CLASS_BULLSQUID"; - case CLASS_CITIZEN_PASSIVE: return "CLASS_CITIZEN_PASSIVE"; - case CLASS_CITIZEN_REBEL: return "CLASS_CITIZEN_REBEL"; - case CLASS_COMBINE: return "CLASS_COMBINE"; - case CLASS_COMBINE_GUNSHIP: return "CLASS_COMBINE_GUNSHIP"; - case CLASS_COMBINE_HUNTER: return "CLASS_COMBINE_HUNTER"; - case CLASS_CONSCRIPT: return "CLASS_CONSCRIPT"; - case CLASS_HEADCRAB: return "CLASS_HEADCRAB"; - //case CLASS_HOUNDEYE: return "CLASS_HOUNDEYE"; - case CLASS_MANHACK: return "CLASS_MANHACK"; - case CLASS_METROPOLICE: return "CLASS_METROPOLICE"; - case CLASS_MILITARY: return "CLASS_MILITARY"; - case CLASS_SCANNER: return "CLASS_SCANNER"; - case CLASS_STALKER: return "CLASS_STALKER"; - case CLASS_VORTIGAUNT: return "CLASS_VORTIGAUNT"; - case CLASS_ZOMBIE: return "CLASS_ZOMBIE"; - case CLASS_PROTOSNIPER: return "CLASS_PROTOSNIPER"; - case CLASS_MISSILE: return "CLASS_MISSILE"; - case CLASS_FLARE: return "CLASS_FLARE"; - case CLASS_EARTH_FAUNA: return "CLASS_EARTH_FAUNA"; - - default: return "MISSING CLASS in ClassifyText()"; - } - } - - void CHalfLife2::PlayerThink( CBasePlayer *pPlayer ) - { - } - - void CHalfLife2::Think( void ) - { - BaseClass::Think(); - - if( physcannon_mega_enabled.GetBool() == true ) - { - m_bMegaPhysgun = true; - } - else - { - // FIXME: Is there a better place for this? - m_bMegaPhysgun = ( GlobalEntity_GetState("super_phys_gun") == GLOBAL_ON ); - } - } - - //----------------------------------------------------------------------------- - // Purpose: Returns how much damage the given ammo type should do to the victim - // when fired by the attacker. - // Input : pAttacker - Dude what shot the gun. - // pVictim - Dude what done got shot. - // nAmmoType - What been shot out. - // Output : How much hurt to put on dude what done got shot (pVictim). - //----------------------------------------------------------------------------- - float CHalfLife2::GetAmmoDamage( CBaseEntity *pAttacker, CBaseEntity *pVictim, int nAmmoType ) - { - float flDamage = 0.0f; - CAmmoDef *pAmmoDef = GetAmmoDef(); - - if ( pAmmoDef->DamageType( nAmmoType ) & DMG_SNIPER ) - { - // If this damage is from a SNIPER, we do damage based on what the bullet - // HITS, not who fired it. All other bullets have their damage values - // arranged according to the owner of the bullet, not the recipient. - if ( pVictim->IsPlayer() ) - { - // Player - flDamage = pAmmoDef->PlrDamage( nAmmoType ); - } - else - { - // NPC or breakable - flDamage = pAmmoDef->NPCDamage( nAmmoType ); - } - } - else - { - flDamage = BaseClass::GetAmmoDamage( pAttacker, pVictim, nAmmoType ); - } - - if( pAttacker->IsPlayer() && pVictim->IsNPC() ) - { - if( pVictim->MyCombatCharacterPointer() ) - { - // Player is shooting an NPC. Adjust the damage! This protects breakables - // and other 'non-living' entities from being easier/harder to break - // in different skill levels. - flDamage = pAmmoDef->PlrDamage( nAmmoType ); - flDamage = AdjustPlayerDamageInflicted( flDamage ); - } - } - - return flDamage; - } - - //----------------------------------------------------------------------------- - //----------------------------------------------------------------------------- - bool CHalfLife2::AllowDamage( CBaseEntity *pVictim, const CTakeDamageInfo &info ) - { -#ifndef CLIENT_DLL - if( (info.GetDamageType() & DMG_CRUSH) && info.GetInflictor() && pVictim->MyNPCPointer() ) - { - if( pVictim->MyNPCPointer()->IsPlayerAlly() ) - { - // A physics object has struck a player ally. Don't allow damage if it - // came from the player's physcannon. - CBasePlayer *pPlayer = UTIL_PlayerByIndex(1); - - if( pPlayer ) - { - CBaseEntity *pWeapon = pPlayer->HasNamedPlayerItem("weapon_physcannon"); - - if( pWeapon ) - { - CBaseCombatWeapon *pCannon = assert_cast (pWeapon); - - if( pCannon ) - { - if( PhysCannonAccountableForObject(pCannon, info.GetInflictor() ) ) - { - // Antlions can always be squashed! - if ( pVictim->Classify() == CLASS_ANTLION ) - return true; - - return false; - } - } - } - } - } - } -#endif - return true; - } - //----------------------------------------------------------------------------- - // Purpose: Whether or not the NPC should drop a health vial - // Output : Returns true on success, false on failure. - //----------------------------------------------------------------------------- - bool CHalfLife2::NPC_ShouldDropHealth( CBasePlayer *pRecipient ) - { - // Can only do this every so often - if ( m_flLastHealthDropTime > gpGlobals->curtime ) - return false; - - //Try to throw dynamic health - float healthPerc = ( (float) pRecipient->m_iHealth / (float) pRecipient->m_iMaxHealth ); - - if ( random->RandomFloat( 0.0f, 1.0f ) > healthPerc*1.5f ) - return true; - - return false; - } - - //----------------------------------------------------------------------------- - // Purpose: Whether or not the NPC should drop a health vial - // Output : Returns true on success, false on failure. - //----------------------------------------------------------------------------- - bool CHalfLife2::NPC_ShouldDropGrenade( CBasePlayer *pRecipient ) - { - // Can only do this every so often - if ( m_flLastGrenadeDropTime > gpGlobals->curtime ) - return false; - - int grenadeIndex = GetAmmoDef()->Index( "grenade" ); - int numGrenades = pRecipient->GetAmmoCount( grenadeIndex ); - - // If we're not maxed out on grenades and we've randomly okay'd it - if ( ( numGrenades < GetAmmoDef()->MaxCarry( grenadeIndex ) ) && ( random->RandomInt( 0, 2 ) == 0 ) ) - return true; - - return false; - } - - //----------------------------------------------------------------------------- - // Purpose: Update the drop counter for health - //----------------------------------------------------------------------------- - void CHalfLife2::NPC_DroppedHealth( void ) - { - m_flLastHealthDropTime = gpGlobals->curtime + sk_plr_health_drop_time.GetFloat(); - } - - //----------------------------------------------------------------------------- - // Purpose: Update the drop counter for grenades - //----------------------------------------------------------------------------- - void CHalfLife2::NPC_DroppedGrenade( void ) - { - m_flLastGrenadeDropTime = gpGlobals->curtime + sk_plr_grenade_drop_time.GetFloat(); - } - -#endif //} !CLIENT_DLL - - -// ------------------------------------------------------------------------------------ // -// Shared CHalfLife2 implementation. -// ------------------------------------------------------------------------------------ // -bool CHalfLife2::ShouldCollide( int collisionGroup0, int collisionGroup1 ) -{ - // The smaller number is always first - if ( collisionGroup0 > collisionGroup1 ) - { - // swap so that lowest is always first - int tmp = collisionGroup0; - collisionGroup0 = collisionGroup1; - collisionGroup1 = tmp; - } - - // Prevent the player movement from colliding with spit globs (caused the player to jump on top of globs while in water) - if ( collisionGroup0 == COLLISION_GROUP_PLAYER_MOVEMENT && collisionGroup1 == HL2COLLISION_GROUP_SPIT ) - return false; - - // HL2 treats movement and tracing against players the same, so just remap here - if ( collisionGroup0 == COLLISION_GROUP_PLAYER_MOVEMENT ) - { - collisionGroup0 = COLLISION_GROUP_PLAYER; - } - - if( collisionGroup1 == COLLISION_GROUP_PLAYER_MOVEMENT ) - { - collisionGroup1 = COLLISION_GROUP_PLAYER; - } - - //If collisionGroup0 is not a player then NPC_ACTOR behaves just like an NPC. - if ( collisionGroup1 == COLLISION_GROUP_NPC_ACTOR && collisionGroup0 != COLLISION_GROUP_PLAYER ) - { - collisionGroup1 = COLLISION_GROUP_NPC; - } - - // This is only for the super physcannon - if ( m_bMegaPhysgun ) - { - if ( collisionGroup0 == COLLISION_GROUP_INTERACTIVE_DEBRIS && collisionGroup1 == COLLISION_GROUP_PLAYER ) - return false; - } - - if ( collisionGroup0 == HL2COLLISION_GROUP_COMBINE_BALL ) - { - if ( collisionGroup1 == HL2COLLISION_GROUP_COMBINE_BALL ) - return false; - } - - if ( collisionGroup0 == HL2COLLISION_GROUP_COMBINE_BALL && collisionGroup1 == HL2COLLISION_GROUP_COMBINE_BALL_NPC ) - return false; - - if ( ( collisionGroup0 == COLLISION_GROUP_WEAPON ) || - ( collisionGroup0 == COLLISION_GROUP_PLAYER ) || - ( collisionGroup0 == COLLISION_GROUP_PROJECTILE ) ) - { - if ( collisionGroup1 == HL2COLLISION_GROUP_COMBINE_BALL ) - return false; - } - - if ( collisionGroup0 == COLLISION_GROUP_DEBRIS ) - { - if ( collisionGroup1 == HL2COLLISION_GROUP_COMBINE_BALL ) - return true; - } - - if (collisionGroup0 == HL2COLLISION_GROUP_HOUNDEYE && collisionGroup1 == HL2COLLISION_GROUP_HOUNDEYE ) - return false; - - if (collisionGroup0 == HL2COLLISION_GROUP_HOMING_MISSILE && collisionGroup1 == HL2COLLISION_GROUP_HOMING_MISSILE ) - return false; - - if ( collisionGroup1 == HL2COLLISION_GROUP_CROW ) - { - if ( collisionGroup0 == COLLISION_GROUP_PLAYER || collisionGroup0 == COLLISION_GROUP_NPC || - collisionGroup0 == HL2COLLISION_GROUP_CROW ) - return false; - } - - if ( ( collisionGroup0 == HL2COLLISION_GROUP_HEADCRAB ) && ( collisionGroup1 == HL2COLLISION_GROUP_HEADCRAB ) ) - return false; - - // striders don't collide with other striders - if ( collisionGroup0 == HL2COLLISION_GROUP_STRIDER && collisionGroup1 == HL2COLLISION_GROUP_STRIDER ) - return false; - - // gunships don't collide with other gunships - if ( collisionGroup0 == HL2COLLISION_GROUP_GUNSHIP && collisionGroup1 == HL2COLLISION_GROUP_GUNSHIP ) - return false; - - // weapons and NPCs don't collide - if ( collisionGroup0 == COLLISION_GROUP_WEAPON && (collisionGroup1 >= HL2COLLISION_GROUP_FIRST_NPC && collisionGroup1 <= HL2COLLISION_GROUP_LAST_NPC ) ) - return false; - - //players don't collide against NPC Actors. - //I could've done this up where I check if collisionGroup0 is NOT a player but I decided to just - //do what the other checks are doing in this function for consistency sake. - if ( collisionGroup1 == COLLISION_GROUP_NPC_ACTOR && collisionGroup0 == COLLISION_GROUP_PLAYER ) - return false; - - // In cases where NPCs are playing a script which causes them to interpenetrate while riding on another entity, - // such as a train or elevator, you need to disable collisions between the actors so the mover can move them. - if ( collisionGroup0 == COLLISION_GROUP_NPC_SCRIPTED && collisionGroup1 == COLLISION_GROUP_NPC_SCRIPTED ) - return false; - - // Spit doesn't touch other spit - if ( collisionGroup0 == HL2COLLISION_GROUP_SPIT && collisionGroup1 == HL2COLLISION_GROUP_SPIT ) - return false; - - return BaseClass::ShouldCollide( collisionGroup0, collisionGroup1 ); -} - -#ifndef CLIENT_DLL -//--------------------------------------------------------- -//--------------------------------------------------------- -void CHalfLife2::AdjustPlayerDamageTaken( CTakeDamageInfo *pInfo ) -{ - if( pInfo->GetDamageType() & (DMG_DROWN|DMG_CRUSH|DMG_FALL|DMG_POISON|DMG_SNIPER) ) - { - // Skill level doesn't affect these types of damage. - return; - } - - switch( GetSkillLevel() ) - { - case SKILL_EASY: - pInfo->ScaleDamage( sk_dmg_take_scale1.GetFloat() ); - break; - - case SKILL_MEDIUM: - pInfo->ScaleDamage( sk_dmg_take_scale2.GetFloat() ); - break; - - case SKILL_HARD: - pInfo->ScaleDamage( sk_dmg_take_scale3.GetFloat() ); - break; - } -} - -//--------------------------------------------------------- -//--------------------------------------------------------- -float CHalfLife2::AdjustPlayerDamageInflicted( float damage ) -{ - switch( GetSkillLevel() ) - { - case SKILL_EASY: - return damage * sk_dmg_inflict_scale1.GetFloat(); - break; - - case SKILL_MEDIUM: - return damage * sk_dmg_inflict_scale2.GetFloat(); - break; - - case SKILL_HARD: - return damage * sk_dmg_inflict_scale3.GetFloat(); - break; - - default: - return damage; - break; - } -} -#endif//CLIENT_DLL - -//--------------------------------------------------------- -//--------------------------------------------------------- -bool CHalfLife2::ShouldUseRobustRadiusDamage(CBaseEntity *pEntity) -{ -#ifdef CLIENT_DLL - return false; -#endif - - if( !sv_robust_explosions.GetBool() ) - return false; - - if( !pEntity->IsNPC() ) - { - // Only NPC's - return false; - } - -#ifndef CLIENT_DLL - CAI_BaseNPC *pNPC = pEntity->MyNPCPointer(); - if( pNPC->CapabilitiesGet() & bits_CAP_SIMPLE_RADIUS_DAMAGE ) - { - // This NPC only eligible for simple radius damage. - return false; - } -#endif//CLIENT_DLL - - return true; -} - -#ifndef CLIENT_DLL -//--------------------------------------------------------- -//--------------------------------------------------------- -bool CHalfLife2::ShouldAutoAim( CBasePlayer *pPlayer, edict_t *target ) -{ - return sk_allow_autoaim.GetBool() != 0; -} - -//--------------------------------------------------------- -//--------------------------------------------------------- -float CHalfLife2::GetAutoAimScale( CBasePlayer *pPlayer ) -{ -#ifdef _X360 - return 1.0f; -#else - switch( GetSkillLevel() ) - { - case SKILL_EASY: - return sk_autoaim_scale1.GetFloat(); - - case SKILL_MEDIUM: - return sk_autoaim_scale2.GetFloat(); - - default: - return 0.0f; - } -#endif -} - -//--------------------------------------------------------- -//--------------------------------------------------------- -float CHalfLife2::GetAmmoQuantityScale( int iAmmoIndex ) -{ - switch( GetSkillLevel() ) - { - case SKILL_EASY: - return sk_ammo_qty_scale1.GetFloat(); - - case SKILL_MEDIUM: - return sk_ammo_qty_scale2.GetFloat(); - - case SKILL_HARD: - return sk_ammo_qty_scale3.GetFloat(); - - default: - return 0.0f; - } -} - -void CHalfLife2::LevelInitPreEntity() -{ - // Remove this if you fix the bug in ep1 where the striders need to touch - // triggers using their absbox instead of their bbox -#ifdef HL2_EPISODIC - if ( !Q_strnicmp( gpGlobals->mapname.ToCStr(), "ep1_", 4 ) ) - { - // episode 1 maps use the surrounding box trigger behavior - CBaseEntity::sm_bAccurateTriggerBboxChecks = false; - } -#endif - BaseClass::LevelInitPreEntity(); -} - -//----------------------------------------------------------------------------- -// Returns whether or not Alyx cares about light levels in order to see. -//----------------------------------------------------------------------------- -bool CHalfLife2::IsAlyxInDarknessMode() -{ -#ifdef HL2_EPISODIC - if ( alyx_darkness_force.GetBool() ) - return true; - - return ( GlobalEntity_GetState( "ep_alyx_darknessmode" ) == GLOBAL_ON ); -#else - return false; -#endif // HL2_EPISODIC -} - - -//----------------------------------------------------------------------------- -// This takes the long way around to see if a prop should emit a DLIGHT when it -// ignites, to avoid having Alyx-related code in props.cpp. -//----------------------------------------------------------------------------- -bool CHalfLife2::ShouldBurningPropsEmitLight() -{ -#ifdef HL2_EPISODIC - return IsAlyxInDarknessMode(); -#else - return false; -#endif // HL2_EPISODIC -} - - -#endif//CLIENT_DLL - -// ------------------------------------------------------------------------------------ // -// Global functions. -// ------------------------------------------------------------------------------------ // - -#ifndef HL2MP -#ifndef PORTAL - -// shared ammo definition -// JAY: Trying to make a more physical bullet response -#define BULLET_MASS_GRAINS_TO_LB(grains) (0.002285*(grains)/16.0f) -#define BULLET_MASS_GRAINS_TO_KG(grains) lbs2kg(BULLET_MASS_GRAINS_TO_LB(grains)) - -// exaggerate all of the forces, but use real numbers to keep them consistent -#define BULLET_IMPULSE_EXAGGERATION 3.5 -// convert a velocity in ft/sec and a mass in grains to an impulse in kg in/s -#define BULLET_IMPULSE(grains, ftpersec) ((ftpersec)*12*BULLET_MASS_GRAINS_TO_KG(grains)*BULLET_IMPULSE_EXAGGERATION) - - -CAmmoDef *GetAmmoDef() -{ - static CAmmoDef def; - static bool bInitted = false; - - if ( !bInitted ) - { - bInitted = true; - - def.AddAmmoType("AR2", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_plr_dmg_ar2", "sk_npc_dmg_ar2", "sk_max_ar2", BULLET_IMPULSE(200, 1225), 0 ); - def.AddAmmoType("AlyxGun", DMG_BULLET, TRACER_LINE, "sk_plr_dmg_alyxgun", "sk_npc_dmg_alyxgun", "sk_max_alyxgun", BULLET_IMPULSE(200, 1225), 0 ); - def.AddAmmoType("Pistol", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_plr_dmg_pistol", "sk_npc_dmg_pistol", "sk_max_pistol", BULLET_IMPULSE(200, 1225), 0 ); - def.AddAmmoType("SMG1", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_plr_dmg_smg1", "sk_npc_dmg_smg1", "sk_max_smg1", BULLET_IMPULSE(200, 1225), 0 ); - def.AddAmmoType("357", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_plr_dmg_357", "sk_npc_dmg_357", "sk_max_357", BULLET_IMPULSE(800, 5000), 0 ); - def.AddAmmoType("XBowBolt", DMG_BULLET, TRACER_LINE, "sk_plr_dmg_crossbow", "sk_npc_dmg_crossbow", "sk_max_crossbow", BULLET_IMPULSE(800, 8000), 0 ); - - def.AddAmmoType("Buckshot", DMG_BULLET | DMG_BUCKSHOT, TRACER_LINE, "sk_plr_dmg_buckshot", "sk_npc_dmg_buckshot", "sk_max_buckshot", BULLET_IMPULSE(400, 1200), 0 ); - def.AddAmmoType("RPG_Round", DMG_BURN, TRACER_NONE, "sk_plr_dmg_rpg_round", "sk_npc_dmg_rpg_round", "sk_max_rpg_round", 0, 0 ); - def.AddAmmoType("SMG1_Grenade", DMG_BURN, TRACER_NONE, "sk_plr_dmg_smg1_grenade", "sk_npc_dmg_smg1_grenade", "sk_max_smg1_grenade", 0, 0 ); - def.AddAmmoType("SniperRound", DMG_BULLET | DMG_SNIPER, TRACER_NONE, "sk_plr_dmg_sniper_round", "sk_npc_dmg_sniper_round", "sk_max_sniper_round", BULLET_IMPULSE(650, 6000), 0 ); - def.AddAmmoType("SniperPenetratedRound", DMG_BULLET | DMG_SNIPER, TRACER_NONE, "sk_dmg_sniper_penetrate_plr", "sk_dmg_sniper_penetrate_npc", "sk_max_sniper_round", BULLET_IMPULSE(150, 6000), 0 ); - def.AddAmmoType("Grenade", DMG_BURN, TRACER_NONE, "sk_plr_dmg_grenade", "sk_npc_dmg_grenade", "sk_max_grenade", 0, 0); - def.AddAmmoType("Thumper", DMG_SONIC, TRACER_NONE, 10, 10, 2, 0, 0 ); - def.AddAmmoType("Gravity", DMG_CLUB, TRACER_NONE, 0, 0, 8, 0, 0 ); -// def.AddAmmoType("Extinguisher", DMG_BURN, TRACER_NONE, 0, 0, 100, 0, 0 ); - def.AddAmmoType("Battery", DMG_CLUB, TRACER_NONE, NULL, NULL, NULL, 0, 0 ); - def.AddAmmoType("GaussEnergy", DMG_SHOCK, TRACER_NONE, "sk_jeep_gauss_damage", "sk_jeep_gauss_damage", "sk_max_gauss_round", BULLET_IMPULSE(650, 8000), 0 ); // hit like a 10kg weight at 400 in/s - def.AddAmmoType("CombineCannon", DMG_BULLET, TRACER_LINE, "sk_npc_dmg_gunship_to_plr", "sk_npc_dmg_gunship", NULL, 1.5 * 750 * 12, 0 ); // hit like a 1.5kg weight at 750 ft/s - def.AddAmmoType("AirboatGun", DMG_AIRBOAT, TRACER_LINE, "sk_plr_dmg_airboat", "sk_npc_dmg_airboat", NULL, BULLET_IMPULSE(10, 600), 0 ); - - //===================================================================== - // STRIDER MINIGUN DAMAGE - Pull up a chair and I'll tell you a tale. - // - // When we shipped Half-Life 2 in 2004, we were unaware of a bug in - // CAmmoDef::NPCDamage() which was returning the MaxCarry field of - // an ammotype as the amount of damage that should be done to a NPC - // by that type of ammo. Thankfully, the bug only affected Ammo Types - // that DO NOT use ConVars to specify their parameters. As you can see, - // all of the important ammotypes use ConVars, so the effect of the bug - // was limited. The Strider Minigun was affected, though. - // - // According to my perforce Archeology, we intended to ship the Strider - // Minigun ammo type to do 15 points of damage per shot, and we did. - // To achieve this we, unaware of the bug, set the Strider Minigun ammo - // type to have a maxcarry of 15, since our observation was that the - // number that was there before (8) was indeed the amount of damage being - // done to NPC's at the time. So we changed the field that was incorrectly - // being used as the NPC Damage field. - // - // The bug was fixed during Episode 1's development. The result of the - // bug fix was that the Strider was reduced to doing 5 points of damage - // to NPC's, since 5 is the value that was being assigned as NPC damage - // even though the code was returning 15 up to that point. - // - // Now as we go to ship Orange Box, we discover that the Striders in - // Half-Life 2 are hugely ineffective against citizens, causing big - // problems in maps 12 and 13. - // - // In order to restore balance to HL2 without upsetting the delicate - // balance of ep2_outland_12, I have chosen to build Episodic binaries - // with 5 as the Strider->NPC damage, since that's the value that has - // been in place for all of Episode 2's development. Half-Life 2 will - // build with 15 as the Strider->NPC damage, which is how HL2 shipped - // originally, only this time the 15 is located in the correct field - // now that the AmmoDef code is behaving correctly. - // - //===================================================================== -#ifdef HL2_EPISODIC - def.AddAmmoType("StriderMinigun", DMG_BULLET, TRACER_LINE, 5, 5, 15, 1.0 * 750 * 12, AMMO_FORCE_DROP_IF_CARRIED ); // hit like a 1.0kg weight at 750 ft/s -#else - def.AddAmmoType("StriderMinigun", DMG_BULLET, TRACER_LINE, 5, 15,15, 1.0 * 750 * 12, AMMO_FORCE_DROP_IF_CARRIED ); // hit like a 1.0kg weight at 750 ft/s -#endif//HL2_EPISODIC - - def.AddAmmoType("StriderMinigunDirect", DMG_BULLET, TRACER_LINE, 2, 2, 15, 1.0 * 750 * 12, AMMO_FORCE_DROP_IF_CARRIED ); // hit like a 1.0kg weight at 750 ft/s - def.AddAmmoType("HelicopterGun", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_npc_dmg_helicopter_to_plr", "sk_npc_dmg_helicopter", "sk_max_smg1", BULLET_IMPULSE(400, 1225), AMMO_FORCE_DROP_IF_CARRIED | AMMO_INTERPRET_PLRDAMAGE_AS_DAMAGE_TO_PLAYER ); - def.AddAmmoType("AR2AltFire", DMG_DISSOLVE, TRACER_NONE, 0, 0, "sk_max_ar2_altfire", 0, 0 ); - def.AddAmmoType("Grenade", DMG_BURN, TRACER_NONE, "sk_plr_dmg_grenade", "sk_npc_dmg_grenade", "sk_max_grenade", 0, 0); -#ifdef HL2_EPISODIC - def.AddAmmoType("Hopwire", DMG_BLAST, TRACER_NONE, "sk_plr_dmg_grenade", "sk_npc_dmg_grenade", "sk_max_hopwire", 0, 0); - def.AddAmmoType("CombineHeavyCannon", DMG_BULLET, TRACER_LINE, 40, 40, NULL, 10 * 750 * 12, AMMO_FORCE_DROP_IF_CARRIED ); // hit like a 10 kg weight at 750 ft/s - def.AddAmmoType("ammo_proto1", DMG_BULLET, TRACER_LINE, 0, 0, 10, 0, 0 ); -#endif // HL2_EPISODIC - } - - return &def; -} - -#endif -#endif +//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ==== +// +// Purpose: The Half-Life 2 game rules, such as the relationship tables and ammo +// damage cvars. +// +//============================================================================= + +#include "cbase.h" +#include "hl2_gamerules.h" +#include "ammodef.h" +#include "hl2_shareddefs.h" + +#ifdef CLIENT_DLL + +#else + #include "player.h" + #include "game.h" + #include "gamerules.h" + #include "teamplay_gamerules.h" + #include "hl2_player.h" + #include "voice_gamemgr.h" + #include "globalstate.h" + #include "ai_basenpc.h" + #include "weapon_physcannon.h" +#endif + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + + +REGISTER_GAMERULES_CLASS( CHalfLife2 ); + +BEGIN_NETWORK_TABLE_NOBASE( CHalfLife2, DT_HL2GameRules ) + #ifdef CLIENT_DLL + RecvPropBool( RECVINFO( m_bMegaPhysgun ) ), + #else + SendPropBool( SENDINFO( m_bMegaPhysgun ) ), + #endif +END_NETWORK_TABLE() + + +LINK_ENTITY_TO_CLASS( hl2_gamerules, CHalfLife2Proxy ); +IMPLEMENT_NETWORKCLASS_ALIASED( HalfLife2Proxy, DT_HalfLife2Proxy ) + + +#ifdef CLIENT_DLL + void RecvProxy_HL2GameRules( const RecvProp *pProp, void **pOut, void *pData, int objectID ) + { + CHalfLife2 *pRules = HL2GameRules(); + Assert( pRules ); + *pOut = pRules; + } + + BEGIN_RECV_TABLE( CHalfLife2Proxy, DT_HalfLife2Proxy ) + RecvPropDataTable( "hl2_gamerules_data", 0, 0, &REFERENCE_RECV_TABLE( DT_HL2GameRules ), RecvProxy_HL2GameRules ) + END_RECV_TABLE() +#else + void* SendProxy_HL2GameRules( const SendProp *pProp, const void *pStructBase, const void *pData, CSendProxyRecipients *pRecipients, int objectID ) + { + CHalfLife2 *pRules = HL2GameRules(); + Assert( pRules ); + pRecipients->SetAllRecipients(); + return pRules; + } + + BEGIN_SEND_TABLE( CHalfLife2Proxy, DT_HalfLife2Proxy ) + SendPropDataTable( "hl2_gamerules_data", 0, &REFERENCE_SEND_TABLE( DT_HL2GameRules ), SendProxy_HL2GameRules ) + END_SEND_TABLE() +#endif + +ConVar physcannon_mega_enabled( "physcannon_mega_enabled", "0", FCVAR_CHEAT | FCVAR_REPLICATED ); + +// Controls the application of the robus radius damage model. +ConVar sv_robust_explosions( "sv_robust_explosions","1", FCVAR_REPLICATED ); + +// Damage scale for damage inflicted by the player on each skill level. +ConVar sk_dmg_inflict_scale1( "sk_dmg_inflict_scale1", "1.50", FCVAR_REPLICATED ); +ConVar sk_dmg_inflict_scale2( "sk_dmg_inflict_scale2", "1.00", FCVAR_REPLICATED ); +ConVar sk_dmg_inflict_scale3( "sk_dmg_inflict_scale3", "0.75", FCVAR_REPLICATED ); + +// Damage scale for damage taken by the player on each skill level. +ConVar sk_dmg_take_scale1( "sk_dmg_take_scale1", "0.50", FCVAR_REPLICATED ); +ConVar sk_dmg_take_scale2( "sk_dmg_take_scale2", "1.00", FCVAR_REPLICATED ); +#ifdef HL2_EPISODIC + ConVar sk_dmg_take_scale3( "sk_dmg_take_scale3", "2.0", FCVAR_REPLICATED ); +#else + ConVar sk_dmg_take_scale3( "sk_dmg_take_scale3", "1.50", FCVAR_REPLICATED ); +#endif//HL2_EPISODIC + +ConVar sk_allow_autoaim( "sk_allow_autoaim", "1", FCVAR_REPLICATED | FCVAR_ARCHIVE_XBOX ); + +// Autoaim scale +ConVar sk_autoaim_scale1( "sk_autoaim_scale1", "1.0", FCVAR_REPLICATED ); +ConVar sk_autoaim_scale2( "sk_autoaim_scale2", "1.0", FCVAR_REPLICATED ); +//ConVar sk_autoaim_scale3( "sk_autoaim_scale3", "0.0", FCVAR_REPLICATED ); NOT CURRENTLY OFFERED ON SKILL 3 + +// Quantity scale for ammo received by the player. +ConVar sk_ammo_qty_scale1 ( "sk_ammo_qty_scale1", "1.20", FCVAR_REPLICATED ); +ConVar sk_ammo_qty_scale2 ( "sk_ammo_qty_scale2", "1.00", FCVAR_REPLICATED ); +ConVar sk_ammo_qty_scale3 ( "sk_ammo_qty_scale3", "0.60", FCVAR_REPLICATED ); + +ConVar sk_plr_health_drop_time ( "sk_plr_health_drop_time", "30", FCVAR_REPLICATED ); +ConVar sk_plr_grenade_drop_time ( "sk_plr_grenade_drop_time", "30", FCVAR_REPLICATED ); + +ConVar sk_plr_dmg_ar2 ( "sk_plr_dmg_ar2","0", FCVAR_REPLICATED ); +ConVar sk_npc_dmg_ar2 ( "sk_npc_dmg_ar2","0", FCVAR_REPLICATED); +ConVar sk_max_ar2 ( "sk_max_ar2","0", FCVAR_REPLICATED); +ConVar sk_max_ar2_altfire ( "sk_max_ar2_altfire","0", FCVAR_REPLICATED); + +ConVar sk_plr_dmg_alyxgun ( "sk_plr_dmg_alyxgun","0", FCVAR_REPLICATED ); +ConVar sk_npc_dmg_alyxgun ( "sk_npc_dmg_alyxgun","0", FCVAR_REPLICATED); +ConVar sk_max_alyxgun ( "sk_max_alyxgun","0", FCVAR_REPLICATED); + +ConVar sk_plr_dmg_pistol ( "sk_plr_dmg_pistol","0", FCVAR_REPLICATED ); +ConVar sk_npc_dmg_pistol ( "sk_npc_dmg_pistol","0", FCVAR_REPLICATED); +ConVar sk_max_pistol ( "sk_max_pistol","0", FCVAR_REPLICATED); + +ConVar sk_plr_dmg_smg1 ( "sk_plr_dmg_smg1","0", FCVAR_REPLICATED ); +ConVar sk_npc_dmg_smg1 ( "sk_npc_dmg_smg1","0", FCVAR_REPLICATED); +ConVar sk_max_smg1 ( "sk_max_smg1","0", FCVAR_REPLICATED); + +// FIXME: remove these +//ConVar sk_plr_dmg_flare_round ( "sk_plr_dmg_flare_round","0", FCVAR_REPLICATED); +//ConVar sk_npc_dmg_flare_round ( "sk_npc_dmg_flare_round","0", FCVAR_REPLICATED); +//ConVar sk_max_flare_round ( "sk_max_flare_round","0", FCVAR_REPLICATED); + +ConVar sk_plr_dmg_buckshot ( "sk_plr_dmg_buckshot","0", FCVAR_REPLICATED); +ConVar sk_npc_dmg_buckshot ( "sk_npc_dmg_buckshot","0", FCVAR_REPLICATED); +ConVar sk_max_buckshot ( "sk_max_buckshot","0", FCVAR_REPLICATED); +ConVar sk_plr_num_shotgun_pellets( "sk_plr_num_shotgun_pellets","7", FCVAR_REPLICATED); + +ConVar sk_plr_dmg_rpg_round ( "sk_plr_dmg_rpg_round","0", FCVAR_REPLICATED); +ConVar sk_npc_dmg_rpg_round ( "sk_npc_dmg_rpg_round","0", FCVAR_REPLICATED); +ConVar sk_max_rpg_round ( "sk_max_rpg_round","0", FCVAR_REPLICATED); + +ConVar sk_plr_dmg_sniper_round ( "sk_plr_dmg_sniper_round","0", FCVAR_REPLICATED); +ConVar sk_npc_dmg_sniper_round ( "sk_npc_dmg_sniper_round","0", FCVAR_REPLICATED); +ConVar sk_max_sniper_round ( "sk_max_sniper_round","0", FCVAR_REPLICATED); + +//ConVar sk_max_slam ( "sk_max_slam","0", FCVAR_REPLICATED); +//ConVar sk_max_tripwire ( "sk_max_tripwire","0", FCVAR_REPLICATED); + +//ConVar sk_plr_dmg_molotov ( "sk_plr_dmg_molotov","0", FCVAR_REPLICATED); +//ConVar sk_npc_dmg_molotov ( "sk_npc_dmg_molotov","0", FCVAR_REPLICATED); +//ConVar sk_max_molotov ( "sk_max_molotov","0", FCVAR_REPLICATED); + +ConVar sk_plr_dmg_grenade ( "sk_plr_dmg_grenade","0", FCVAR_REPLICATED); +ConVar sk_npc_dmg_grenade ( "sk_npc_dmg_grenade","0", FCVAR_REPLICATED); +ConVar sk_max_grenade ( "sk_max_grenade","0", FCVAR_REPLICATED); + +#ifdef HL2_EPISODIC +ConVar sk_max_hopwire ( "sk_max_hopwire", "3", FCVAR_REPLICATED); +ConVar sk_max_striderbuster ( "sk_max_striderbuster", "3", FCVAR_REPLICATED); +#endif + +//ConVar sk_plr_dmg_brickbat ( "sk_plr_dmg_brickbat","0", FCVAR_REPLICATED); +//ConVar sk_npc_dmg_brickbat ( "sk_npc_dmg_brickbat","0", FCVAR_REPLICATED); +//ConVar sk_max_brickbat ( "sk_max_brickbat","0", FCVAR_REPLICATED); + +ConVar sk_plr_dmg_smg1_grenade ( "sk_plr_dmg_smg1_grenade","0", FCVAR_REPLICATED); +ConVar sk_npc_dmg_smg1_grenade ( "sk_npc_dmg_smg1_grenade","0", FCVAR_REPLICATED); +ConVar sk_max_smg1_grenade ( "sk_max_smg1_grenade","0", FCVAR_REPLICATED ); + +ConVar sk_plr_dmg_357 ( "sk_plr_dmg_357", "0", FCVAR_REPLICATED ); +ConVar sk_npc_dmg_357 ( "sk_npc_dmg_357", "0", FCVAR_REPLICATED ); +ConVar sk_max_357 ( "sk_max_357", "0", FCVAR_REPLICATED ); + +ConVar sk_plr_dmg_crossbow ( "sk_plr_dmg_crossbow", "0", FCVAR_REPLICATED ); +ConVar sk_npc_dmg_crossbow ( "sk_npc_dmg_crossbow", "0", FCVAR_REPLICATED ); +ConVar sk_max_crossbow ( "sk_max_crossbow", "0", FCVAR_REPLICATED ); + +ConVar sk_dmg_sniper_penetrate_plr( "sk_dmg_sniper_penetrate_plr","0", FCVAR_REPLICATED); +ConVar sk_dmg_sniper_penetrate_npc( "sk_dmg_sniper_penetrate_npc","0", FCVAR_REPLICATED); + +ConVar sk_plr_dmg_airboat ( "sk_plr_dmg_airboat", "0", FCVAR_REPLICATED ); +ConVar sk_npc_dmg_airboat ( "sk_npc_dmg_airboat", "0", FCVAR_REPLICATED ); + +ConVar sk_max_gauss_round ( "sk_max_gauss_round", "0", FCVAR_REPLICATED ); + +// Gunship & Dropship cannons +ConVar sk_npc_dmg_gunship ( "sk_npc_dmg_gunship", "0", FCVAR_REPLICATED ); +ConVar sk_npc_dmg_gunship_to_plr ( "sk_npc_dmg_gunship_to_plr", "0", FCVAR_REPLICATED ); + +//----------------------------------------------------------------------------- +// Purpose: +// Input : iDmgType - +// Output : Returns true on success, false on failure. +//----------------------------------------------------------------------------- +int CHalfLife2::Damage_GetTimeBased( void ) +{ +#ifdef HL2_EPISODIC + int iDamage = ( DMG_PARALYZE | DMG_NERVEGAS | DMG_POISON | DMG_RADIATION | DMG_DROWNRECOVER | DMG_ACID | DMG_SLOWBURN ); + return iDamage; +#else + return BaseClass::Damage_GetTimeBased(); +#endif +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : iDmgType - +// Output : bool +//----------------------------------------------------------------------------- +bool CHalfLife2::Damage_IsTimeBased( int iDmgType ) +{ + // Damage types that are time-based. +#ifdef HL2_EPISODIC + // This makes me think EP2 should have its own rules, but they are #ifdef all over in here. + return ( ( iDmgType & ( DMG_PARALYZE | DMG_NERVEGAS | DMG_POISON | DMG_RADIATION | DMG_DROWNRECOVER | DMG_SLOWBURN ) ) != 0 ); +#else + return BaseClass::Damage_IsTimeBased( iDmgType ); +#endif +} + +#ifdef CLIENT_DLL +#else + +#ifdef HL2_EPISODIC +ConVar alyx_darkness_force( "alyx_darkness_force", "0", FCVAR_CHEAT | FCVAR_REPLICATED ); +#endif // HL2_EPISODIC + +#endif // CLIENT_DLL + + +#ifdef CLIENT_DLL //{ + + +#else //}{ + + extern bool g_fGameOver; + +#ifndef HL2MP + class CVoiceGameMgrHelper : public IVoiceGameMgrHelper + { + public: + virtual bool CanPlayerHearPlayer( CBasePlayer *pListener, CBasePlayer *pTalker, bool &bProximity ) + { + return true; + } + }; + CVoiceGameMgrHelper g_VoiceGameMgrHelper; + IVoiceGameMgrHelper *g_pVoiceGameMgrHelper = &g_VoiceGameMgrHelper; +#endif + + //----------------------------------------------------------------------------- + // Purpose: + // Input : + // Output : + //----------------------------------------------------------------------------- + CHalfLife2::CHalfLife2() + { + m_bMegaPhysgun = false; + + m_flLastHealthDropTime = 0.0f; + m_flLastGrenadeDropTime = 0.0f; + } + + //----------------------------------------------------------------------------- + // Purpose: called each time a player uses a "cmd" command + // Input : *pEdict - the player who issued the command + // Use engine.Cmd_Argv, engine.Cmd_Argv, and engine.Cmd_Argc to get + // pointers the character string command. + //----------------------------------------------------------------------------- + bool CHalfLife2::ClientCommand( CBaseEntity *pEdict, const CCommand &args ) + { + if( BaseClass::ClientCommand( pEdict, args ) ) + return true; + + CHL2_Player *pPlayer = (CHL2_Player *) pEdict; + + if ( pPlayer->ClientCommand( args ) ) + return true; + + return false; + } + + //----------------------------------------------------------------------------- + // Purpose: Player has just spawned. Equip them. + //----------------------------------------------------------------------------- + void CHalfLife2::PlayerSpawn( CBasePlayer *pPlayer ) + { + } + + //----------------------------------------------------------------------------- + // Purpose: MULTIPLAYER BODY QUE HANDLING + //----------------------------------------------------------------------------- + class CCorpse : public CBaseAnimating + { + public: + DECLARE_CLASS( CCorpse, CBaseAnimating ); + DECLARE_SERVERCLASS(); + + virtual int ObjectCaps( void ) { return FCAP_DONT_SAVE; } + + public: + CNetworkVar( int, m_nReferencePlayer ); + }; + + IMPLEMENT_SERVERCLASS_ST(CCorpse, DT_Corpse) + SendPropInt( SENDINFO(m_nReferencePlayer), 10, SPROP_UNSIGNED ) + END_SEND_TABLE() + + LINK_ENTITY_TO_CLASS( bodyque, CCorpse ); + + + CCorpse *g_pBodyQueueHead; + + void InitBodyQue(void) + { + CCorpse *pEntity = ( CCorpse * )CreateEntityByName( "bodyque" ); + pEntity->AddEFlags( EFL_KEEP_ON_RECREATE_ENTITIES ); + g_pBodyQueueHead = pEntity; + CCorpse *p = g_pBodyQueueHead; + + // Reserve 3 more slots for dead bodies + for ( int i = 0; i < 3; i++ ) + { + CCorpse *next = ( CCorpse * )CreateEntityByName( "bodyque" ); + next->AddEFlags( EFL_KEEP_ON_RECREATE_ENTITIES ); + p->SetOwnerEntity( next ); + p = next; + } + + p->SetOwnerEntity( g_pBodyQueueHead ); + } + + //----------------------------------------------------------------------------- + // Purpose: make a body que entry for the given ent so the ent can be respawned elsewhere + // GLOBALS ASSUMED SET: g_eoBodyQueueHead + //----------------------------------------------------------------------------- + void CopyToBodyQue( CBaseAnimating *pCorpse ) + { + if ( pCorpse->IsEffectActive( EF_NODRAW ) ) + return; + + CCorpse *pHead = g_pBodyQueueHead; + + pHead->CopyAnimationDataFrom( pCorpse ); + + pHead->SetMoveType( MOVETYPE_FLYGRAVITY ); + pHead->SetAbsVelocity( pCorpse->GetAbsVelocity() ); + pHead->ClearFlags(); + pHead->m_nReferencePlayer = ENTINDEX( pCorpse ); + + pHead->SetLocalAngles( pCorpse->GetAbsAngles() ); + UTIL_SetOrigin(pHead, pCorpse->GetAbsOrigin()); + + UTIL_SetSize(pHead, pCorpse->WorldAlignMins(), pCorpse->WorldAlignMaxs()); + g_pBodyQueueHead = (CCorpse *)pHead->GetOwnerEntity(); + } + + //------------------------------------------------------------------------------ + // Purpose : Initialize all default class relationships + // Input : + // Output : + //------------------------------------------------------------------------------ + void CHalfLife2::InitDefaultAIRelationships( void ) + { + int i, j; + + // Allocate memory for default relationships + CBaseCombatCharacter::AllocateDefaultRelationships(); + + // -------------------------------------------------------------- + // First initialize table so we can report missing relationships + // -------------------------------------------------------------- + for (i=0;i CLASS_ANTLION + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_MANHACK, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_SCANNER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_PROTOSNIPER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_ANTLION, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_BARNACLE + // + // In this case, the relationship D_HT indicates which characters + // the barnacle will try to eat. + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_BARNACLE, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_BULLSQUID, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_MANHACK, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_EARTH_FAUNA, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_BULLSEYE + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_PLAYER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_ANTLION, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_BULLSQUID, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_CITIZEN_REBEL, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_HEADCRAB, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_HOUNDEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_VORTIGAUNT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_ZOMBIE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_PLAYER_ALLY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_HACKED_ROLLERMINE,D_NU, 0); + + // ------------------------------------------------------------ + // > CLASS_BULLSQUID + // ------------------------------------------------------------ + /* + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_BARNACLE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_BULLSEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_BULLSQUID, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_HEADCRAB, D_HT, 1); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_HOUNDEYE, D_HT, 1); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_MANHACK, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSQUID, CLASS_HACKED_ROLLERMINE,D_HT, 0); + */ + // ------------------------------------------------------------ + // > CLASS_CITIZEN_PASSIVE + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_PLAYER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_BARNACLE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_BULLSQUID, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_CITIZEN_REBEL, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_COMBINE_HUNTER, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_HEADCRAB, D_FR, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_HOUNDEYE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_MANHACK, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_MISSILE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_VORTIGAUNT, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_ZOMBIE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_PLAYER_ALLY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_HACKED_ROLLERMINE,D_NU, 0); + + // ------------------------------------------------------------ + // > CLASS_CITIZEN_REBEL + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_PLAYER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_BARNACLE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_BULLSQUID, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_CITIZEN_REBEL, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_MANHACK, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_MISSILE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_SCANNER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_VORTIGAUNT, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_PLAYER_ALLY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_HACKED_ROLLERMINE,D_NU, 0); + + // ------------------------------------------------------------ + // > CLASS_COMBINE + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_BARNACLE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_COMBINE, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_COMBINE_GUNSHIP, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_COMBINE_HUNTER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_COMBINE_GUNSHIP + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_COMBINE, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_COMBINE_GUNSHIP, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_COMBINE_HUNTER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_HEADCRAB, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_MISSILE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_COMBINE_HUNTER + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_COMBINE, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_COMBINE_GUNSHIP, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_COMBINE_HUNTER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_HUNTER, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_CONSCRIPT + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_PLAYER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_BARNACLE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_CITIZEN_REBEL, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_MANHACK, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_SCANNER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_VORTIGAUNT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_PLAYER_ALLY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_HACKED_ROLLERMINE,D_NU, 0); + + // ------------------------------------------------------------ + // > CLASS_FLARE + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_PLAYER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_ANTLION, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_BULLSQUID, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_CITIZEN_REBEL, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_HEADCRAB, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_HOUNDEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_VORTIGAUNT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_ZOMBIE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_PLAYER_ALLY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_HACKED_ROLLERMINE,D_NU, 0); + + // ------------------------------------------------------------ + // > CLASS_HEADCRAB + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_BULLSQUID, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_HEADCRAB, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_HOUNDEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_ZOMBIE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_HACKED_ROLLERMINE,D_FR, 0); + + // ------------------------------------------------------------ + // > CLASS_HOUNDEYE + // ------------------------------------------------------------ + /* + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_BULLSQUID, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_HEADCRAB, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_HOUNDEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_ZOMBIE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_HACKED_ROLLERMINE,D_HT, 0); + */ + + // ------------------------------------------------------------ + // > CLASS_MANHACK + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_HEADCRAB, D_HT,-1); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_HOUNDEYE, D_HT,-1); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_METROPOLICE + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_MILITARY + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_MISSILE + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_NONE + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_PLAYER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_ANTLION, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_BULLSQUID, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_CITIZEN_REBEL, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_HEADCRAB, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_HOUNDEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_VORTIGAUNT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_ZOMBIE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_PLAYER_ALLY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_PLAYER_ALLY_VITAL,D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_HACKED_ROLLERMINE,D_NU, 0); + + // ------------------------------------------------------------ + // > CLASS_PLAYER + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_PLAYER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_BARNACLE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_BULLSEYE, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_CITIZEN_PASSIVE, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_CITIZEN_REBEL, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_COMBINE_GUNSHIP, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_MANHACK, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_SCANNER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_VORTIGAUNT, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_PROTOSNIPER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_PLAYER_ALLY, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_HACKED_ROLLERMINE,D_LI, 0); + + // ------------------------------------------------------------ + // > CLASS_PLAYER_ALLY + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_PLAYER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_BARNACLE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_CITIZEN_REBEL, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_HEADCRAB, D_FR, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_MANHACK, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_SCANNER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_VORTIGAUNT, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_ZOMBIE, D_FR, 1); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_PROTOSNIPER, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_PLAYER_ALLY, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_HACKED_ROLLERMINE,D_LI, 0); + + // ------------------------------------------------------------ + // > CLASS_PLAYER_ALLY_VITAL + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_PLAYER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_BARNACLE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_CITIZEN_REBEL, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_COMBINE_HUNTER, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_MANHACK, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_SCANNER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_VORTIGAUNT, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_PROTOSNIPER, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_PLAYER_ALLY, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_HACKED_ROLLERMINE,D_LI, 0); + + // ------------------------------------------------------------ + // > CLASS_SCANNER + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_BULLSQUID, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_COMBINE, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_COMBINE_GUNSHIP, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_COMBINE_HUNTER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_HEADCRAB, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_HOUNDEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_MANHACK, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_METROPOLICE, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_MILITARY, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_SCANNER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_STALKER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_ZOMBIE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_PROTOSNIPER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_STALKER + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_HEADCRAB, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_HOUNDEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_ZOMBIE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_VORTIGAUNT + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_PLAYER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_BARNACLE, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_CITIZEN_PASSIVE, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_CITIZEN_REBEL, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_MANHACK, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_SCANNER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_VORTIGAUNT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_PLAYER_ALLY, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_HACKED_ROLLERMINE,D_LI, 0); + + // ------------------------------------------------------------ + // > CLASS_ZOMBIE + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_BULLSQUID, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_HEADCRAB, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_HOUNDEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_MANHACK, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_MILITARY, D_FR, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_ZOMBIE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_PROTOSNIPER + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_BULLSQUID, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_COMBINE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_HOUNDEYE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_METROPOLICE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_MILITARY, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_MISSILE, D_NU, 5); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_STALKER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_HACKED_ROLLERMINE,D_HT, 0); + + // ------------------------------------------------------------ + // > CLASS_EARTH_FAUNA + // + // Hates pretty much everything equally except other earth fauna. + // This will make the critter choose the nearest thing as its enemy. + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_NONE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_PLAYER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_CITIZEN_PASSIVE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_CITIZEN_REBEL, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_COMBINE_GUNSHIP, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_COMBINE_HUNTER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_CONSCRIPT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_FLARE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_MANHACK, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_MISSILE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_SCANNER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_VORTIGAUNT, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_ZOMBIE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_PROTOSNIPER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_EARTH_FAUNA, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_PLAYER_ALLY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_PLAYER_ALLY_VITAL,D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_HACKED_ROLLERMINE,D_NU, 0); + + // ------------------------------------------------------------ + // > CLASS_HACKED_ROLLERMINE + // ------------------------------------------------------------ + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_NONE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_PLAYER, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_ANTLION, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_BARNACLE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_BULLSEYE, D_NU, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_BULLSQUID, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_CITIZEN_PASSIVE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_CITIZEN_REBEL, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_COMBINE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_COMBINE_GUNSHIP, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_COMBINE_HUNTER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_CONSCRIPT, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_FLARE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_HEADCRAB, D_HT, 0); + //CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_HOUNDEYE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_MANHACK, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_METROPOLICE, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_MILITARY, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_MISSILE, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_SCANNER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_STALKER, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_VORTIGAUNT, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_ZOMBIE, D_HT, 1); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_PROTOSNIPER, D_NU, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_EARTH_FAUNA, D_HT, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_PLAYER_ALLY, D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_PLAYER_ALLY_VITAL,D_LI, 0); + CBaseCombatCharacter::SetDefaultRelationship(CLASS_HACKED_ROLLERMINE, CLASS_HACKED_ROLLERMINE,D_LI, 0); + } + + + //------------------------------------------------------------------------------ + // Purpose : Return classify text for classify type + // Input : + // Output : + //------------------------------------------------------------------------------ + const char* CHalfLife2::AIClassText(int classType) + { + switch (classType) + { + case CLASS_NONE: return "CLASS_NONE"; + case CLASS_PLAYER: return "CLASS_PLAYER"; + case CLASS_ANTLION: return "CLASS_ANTLION"; + case CLASS_BARNACLE: return "CLASS_BARNACLE"; + case CLASS_BULLSEYE: return "CLASS_BULLSEYE"; + //case CLASS_BULLSQUID: return "CLASS_BULLSQUID"; + case CLASS_CITIZEN_PASSIVE: return "CLASS_CITIZEN_PASSIVE"; + case CLASS_CITIZEN_REBEL: return "CLASS_CITIZEN_REBEL"; + case CLASS_COMBINE: return "CLASS_COMBINE"; + case CLASS_COMBINE_GUNSHIP: return "CLASS_COMBINE_GUNSHIP"; + case CLASS_COMBINE_HUNTER: return "CLASS_COMBINE_HUNTER"; + case CLASS_CONSCRIPT: return "CLASS_CONSCRIPT"; + case CLASS_HEADCRAB: return "CLASS_HEADCRAB"; + //case CLASS_HOUNDEYE: return "CLASS_HOUNDEYE"; + case CLASS_MANHACK: return "CLASS_MANHACK"; + case CLASS_METROPOLICE: return "CLASS_METROPOLICE"; + case CLASS_MILITARY: return "CLASS_MILITARY"; + case CLASS_SCANNER: return "CLASS_SCANNER"; + case CLASS_STALKER: return "CLASS_STALKER"; + case CLASS_VORTIGAUNT: return "CLASS_VORTIGAUNT"; + case CLASS_ZOMBIE: return "CLASS_ZOMBIE"; + case CLASS_PROTOSNIPER: return "CLASS_PROTOSNIPER"; + case CLASS_MISSILE: return "CLASS_MISSILE"; + case CLASS_FLARE: return "CLASS_FLARE"; + case CLASS_EARTH_FAUNA: return "CLASS_EARTH_FAUNA"; + + default: return "MISSING CLASS in ClassifyText()"; + } + } + + void CHalfLife2::PlayerThink( CBasePlayer *pPlayer ) + { + } + + void CHalfLife2::Think( void ) + { + BaseClass::Think(); + + if( physcannon_mega_enabled.GetBool() == true ) + { + m_bMegaPhysgun = true; + } + else + { + // FIXME: Is there a better place for this? + m_bMegaPhysgun = ( GlobalEntity_GetState("super_phys_gun") == GLOBAL_ON ); + } + } + + //----------------------------------------------------------------------------- + // Purpose: Returns how much damage the given ammo type should do to the victim + // when fired by the attacker. + // Input : pAttacker - Dude what shot the gun. + // pVictim - Dude what done got shot. + // nAmmoType - What been shot out. + // Output : How much hurt to put on dude what done got shot (pVictim). + //----------------------------------------------------------------------------- + float CHalfLife2::GetAmmoDamage( CBaseEntity *pAttacker, CBaseEntity *pVictim, int nAmmoType ) + { + float flDamage = 0.0f; + CAmmoDef *pAmmoDef = GetAmmoDef(); + + if ( pAmmoDef->DamageType( nAmmoType ) & DMG_SNIPER ) + { + // If this damage is from a SNIPER, we do damage based on what the bullet + // HITS, not who fired it. All other bullets have their damage values + // arranged according to the owner of the bullet, not the recipient. + if ( pVictim->IsPlayer() ) + { + // Player + flDamage = pAmmoDef->PlrDamage( nAmmoType ); + } + else + { + // NPC or breakable + flDamage = pAmmoDef->NPCDamage( nAmmoType ); + } + } + else + { + flDamage = BaseClass::GetAmmoDamage( pAttacker, pVictim, nAmmoType ); + } + + if( pAttacker->IsPlayer() && pVictim->IsNPC() ) + { + if( pVictim->MyCombatCharacterPointer() ) + { + // Player is shooting an NPC. Adjust the damage! This protects breakables + // and other 'non-living' entities from being easier/harder to break + // in different skill levels. + flDamage = pAmmoDef->PlrDamage( nAmmoType ); + flDamage = AdjustPlayerDamageInflicted( flDamage ); + } + } + + return flDamage; + } + + //----------------------------------------------------------------------------- + //----------------------------------------------------------------------------- + bool CHalfLife2::AllowDamage( CBaseEntity *pVictim, const CTakeDamageInfo &info ) + { +#ifndef CLIENT_DLL + if( (info.GetDamageType() & DMG_CRUSH) && info.GetInflictor() && pVictim->MyNPCPointer() ) + { + if( pVictim->MyNPCPointer()->IsPlayerAlly() ) + { + // A physics object has struck a player ally. Don't allow damage if it + // came from the player's physcannon. + CBasePlayer *pPlayer = UTIL_PlayerByIndex(1); + + if( pPlayer ) + { + CBaseEntity *pWeapon = pPlayer->HasNamedPlayerItem("weapon_physcannon"); + + if( pWeapon ) + { + CBaseCombatWeapon *pCannon = assert_cast (pWeapon); + + if( pCannon ) + { + if( PhysCannonAccountableForObject(pCannon, info.GetInflictor() ) ) + { + // Antlions can always be squashed! + if ( pVictim->Classify() == CLASS_ANTLION ) + return true; + + return false; + } + } + } + } + } + } +#endif + return true; + } + //----------------------------------------------------------------------------- + // Purpose: Whether or not the NPC should drop a health vial + // Output : Returns true on success, false on failure. + //----------------------------------------------------------------------------- + bool CHalfLife2::NPC_ShouldDropHealth( CBasePlayer *pRecipient ) + { + // Can only do this every so often + if ( m_flLastHealthDropTime > gpGlobals->curtime ) + return false; + + //Try to throw dynamic health + float healthPerc = ( (float) pRecipient->m_iHealth / (float) pRecipient->m_iMaxHealth ); + + if ( random->RandomFloat( 0.0f, 1.0f ) > healthPerc*1.5f ) + return true; + + return false; + } + + //----------------------------------------------------------------------------- + // Purpose: Whether or not the NPC should drop a health vial + // Output : Returns true on success, false on failure. + //----------------------------------------------------------------------------- + bool CHalfLife2::NPC_ShouldDropGrenade( CBasePlayer *pRecipient ) + { + // Can only do this every so often + if ( m_flLastGrenadeDropTime > gpGlobals->curtime ) + return false; + + int grenadeIndex = GetAmmoDef()->Index( "grenade" ); + int numGrenades = pRecipient->GetAmmoCount( grenadeIndex ); + + // If we're not maxed out on grenades and we've randomly okay'd it + if ( ( numGrenades < GetAmmoDef()->MaxCarry( grenadeIndex ) ) && ( random->RandomInt( 0, 2 ) == 0 ) ) + return true; + + return false; + } + + //----------------------------------------------------------------------------- + // Purpose: Update the drop counter for health + //----------------------------------------------------------------------------- + void CHalfLife2::NPC_DroppedHealth( void ) + { + m_flLastHealthDropTime = gpGlobals->curtime + sk_plr_health_drop_time.GetFloat(); + } + + //----------------------------------------------------------------------------- + // Purpose: Update the drop counter for grenades + //----------------------------------------------------------------------------- + void CHalfLife2::NPC_DroppedGrenade( void ) + { + m_flLastGrenadeDropTime = gpGlobals->curtime + sk_plr_grenade_drop_time.GetFloat(); + } + +#endif //} !CLIENT_DLL + + +// ------------------------------------------------------------------------------------ // +// Shared CHalfLife2 implementation. +// ------------------------------------------------------------------------------------ // +bool CHalfLife2::ShouldCollide( int collisionGroup0, int collisionGroup1 ) +{ + // The smaller number is always first + if ( collisionGroup0 > collisionGroup1 ) + { + // swap so that lowest is always first + int tmp = collisionGroup0; + collisionGroup0 = collisionGroup1; + collisionGroup1 = tmp; + } + + // Prevent the player movement from colliding with spit globs (caused the player to jump on top of globs while in water) + if ( collisionGroup0 == COLLISION_GROUP_PLAYER_MOVEMENT && collisionGroup1 == HL2COLLISION_GROUP_SPIT ) + return false; + + // HL2 treats movement and tracing against players the same, so just remap here + if ( collisionGroup0 == COLLISION_GROUP_PLAYER_MOVEMENT ) + { + collisionGroup0 = COLLISION_GROUP_PLAYER; + } + + if( collisionGroup1 == COLLISION_GROUP_PLAYER_MOVEMENT ) + { + collisionGroup1 = COLLISION_GROUP_PLAYER; + } + + //If collisionGroup0 is not a player then NPC_ACTOR behaves just like an NPC. + if ( collisionGroup1 == COLLISION_GROUP_NPC_ACTOR && collisionGroup0 != COLLISION_GROUP_PLAYER ) + { + collisionGroup1 = COLLISION_GROUP_NPC; + } + + // This is only for the super physcannon + if ( m_bMegaPhysgun ) + { + if ( collisionGroup0 == COLLISION_GROUP_INTERACTIVE_DEBRIS && collisionGroup1 == COLLISION_GROUP_PLAYER ) + return false; + } + + if ( collisionGroup0 == HL2COLLISION_GROUP_COMBINE_BALL ) + { + if ( collisionGroup1 == HL2COLLISION_GROUP_COMBINE_BALL ) + return false; + } + + if ( collisionGroup0 == HL2COLLISION_GROUP_COMBINE_BALL && collisionGroup1 == HL2COLLISION_GROUP_COMBINE_BALL_NPC ) + return false; + + if ( ( collisionGroup0 == COLLISION_GROUP_WEAPON ) || + ( collisionGroup0 == COLLISION_GROUP_PLAYER ) || + ( collisionGroup0 == COLLISION_GROUP_PROJECTILE ) ) + { + if ( collisionGroup1 == HL2COLLISION_GROUP_COMBINE_BALL ) + return false; + } + + if ( collisionGroup0 == COLLISION_GROUP_DEBRIS ) + { + if ( collisionGroup1 == HL2COLLISION_GROUP_COMBINE_BALL ) + return true; + } + + if (collisionGroup0 == HL2COLLISION_GROUP_HOUNDEYE && collisionGroup1 == HL2COLLISION_GROUP_HOUNDEYE ) + return false; + + if (collisionGroup0 == HL2COLLISION_GROUP_HOMING_MISSILE && collisionGroup1 == HL2COLLISION_GROUP_HOMING_MISSILE ) + return false; + + if ( collisionGroup1 == HL2COLLISION_GROUP_CROW ) + { + if ( collisionGroup0 == COLLISION_GROUP_PLAYER || collisionGroup0 == COLLISION_GROUP_NPC || + collisionGroup0 == HL2COLLISION_GROUP_CROW ) + return false; + } + + if ( ( collisionGroup0 == HL2COLLISION_GROUP_HEADCRAB ) && ( collisionGroup1 == HL2COLLISION_GROUP_HEADCRAB ) ) + return false; + + // striders don't collide with other striders + if ( collisionGroup0 == HL2COLLISION_GROUP_STRIDER && collisionGroup1 == HL2COLLISION_GROUP_STRIDER ) + return false; + + // gunships don't collide with other gunships + if ( collisionGroup0 == HL2COLLISION_GROUP_GUNSHIP && collisionGroup1 == HL2COLLISION_GROUP_GUNSHIP ) + return false; + + // weapons and NPCs don't collide + if ( collisionGroup0 == COLLISION_GROUP_WEAPON && (collisionGroup1 >= HL2COLLISION_GROUP_FIRST_NPC && collisionGroup1 <= HL2COLLISION_GROUP_LAST_NPC ) ) + return false; + + //players don't collide against NPC Actors. + //I could've done this up where I check if collisionGroup0 is NOT a player but I decided to just + //do what the other checks are doing in this function for consistency sake. + if ( collisionGroup1 == COLLISION_GROUP_NPC_ACTOR && collisionGroup0 == COLLISION_GROUP_PLAYER ) + return false; + + // In cases where NPCs are playing a script which causes them to interpenetrate while riding on another entity, + // such as a train or elevator, you need to disable collisions between the actors so the mover can move them. + if ( collisionGroup0 == COLLISION_GROUP_NPC_SCRIPTED && collisionGroup1 == COLLISION_GROUP_NPC_SCRIPTED ) + return false; + + // Spit doesn't touch other spit + if ( collisionGroup0 == HL2COLLISION_GROUP_SPIT && collisionGroup1 == HL2COLLISION_GROUP_SPIT ) + return false; + + return BaseClass::ShouldCollide( collisionGroup0, collisionGroup1 ); +} + +#ifndef CLIENT_DLL +//--------------------------------------------------------- +//--------------------------------------------------------- +void CHalfLife2::AdjustPlayerDamageTaken( CTakeDamageInfo *pInfo ) +{ + if( pInfo->GetDamageType() & (DMG_DROWN|DMG_CRUSH|DMG_FALL|DMG_POISON|DMG_SNIPER) ) + { + // Skill level doesn't affect these types of damage. + return; + } + + switch( GetSkillLevel() ) + { + case SKILL_EASY: + pInfo->ScaleDamage( sk_dmg_take_scale1.GetFloat() ); + break; + + case SKILL_MEDIUM: + pInfo->ScaleDamage( sk_dmg_take_scale2.GetFloat() ); + break; + + case SKILL_HARD: + pInfo->ScaleDamage( sk_dmg_take_scale3.GetFloat() ); + break; + } +} + +//--------------------------------------------------------- +//--------------------------------------------------------- +float CHalfLife2::AdjustPlayerDamageInflicted( float damage ) +{ + switch( GetSkillLevel() ) + { + case SKILL_EASY: + return damage * sk_dmg_inflict_scale1.GetFloat(); + break; + + case SKILL_MEDIUM: + return damage * sk_dmg_inflict_scale2.GetFloat(); + break; + + case SKILL_HARD: + return damage * sk_dmg_inflict_scale3.GetFloat(); + break; + + default: + return damage; + break; + } +} +#endif//CLIENT_DLL + +//--------------------------------------------------------- +//--------------------------------------------------------- +bool CHalfLife2::ShouldUseRobustRadiusDamage(CBaseEntity *pEntity) +{ +#ifdef CLIENT_DLL + return false; +#endif + + if( !sv_robust_explosions.GetBool() ) + return false; + + if( !pEntity->IsNPC() ) + { + // Only NPC's + return false; + } + +#ifndef CLIENT_DLL + CAI_BaseNPC *pNPC = pEntity->MyNPCPointer(); + if( pNPC->CapabilitiesGet() & bits_CAP_SIMPLE_RADIUS_DAMAGE ) + { + // This NPC only eligible for simple radius damage. + return false; + } +#endif//CLIENT_DLL + + return true; +} + +#ifndef CLIENT_DLL +//--------------------------------------------------------- +//--------------------------------------------------------- +bool CHalfLife2::ShouldAutoAim( CBasePlayer *pPlayer, edict_t *target ) +{ + return sk_allow_autoaim.GetBool() != 0; +} + +//--------------------------------------------------------- +//--------------------------------------------------------- +float CHalfLife2::GetAutoAimScale( CBasePlayer *pPlayer ) +{ +#ifdef _X360 + return 1.0f; +#else + switch( GetSkillLevel() ) + { + case SKILL_EASY: + return sk_autoaim_scale1.GetFloat(); + + case SKILL_MEDIUM: + return sk_autoaim_scale2.GetFloat(); + + default: + return 0.0f; + } +#endif +} + +//--------------------------------------------------------- +//--------------------------------------------------------- +float CHalfLife2::GetAmmoQuantityScale( int iAmmoIndex ) +{ + switch( GetSkillLevel() ) + { + case SKILL_EASY: + return sk_ammo_qty_scale1.GetFloat(); + + case SKILL_MEDIUM: + return sk_ammo_qty_scale2.GetFloat(); + + case SKILL_HARD: + return sk_ammo_qty_scale3.GetFloat(); + + default: + return 0.0f; + } +} + +void CHalfLife2::LevelInitPreEntity() +{ + // Remove this if you fix the bug in ep1 where the striders need to touch + // triggers using their absbox instead of their bbox +#ifdef HL2_EPISODIC + if ( !Q_strnicmp( gpGlobals->mapname.ToCStr(), "ep1_", 4 ) ) + { + // episode 1 maps use the surrounding box trigger behavior + CBaseEntity::sm_bAccurateTriggerBboxChecks = false; + } +#endif + BaseClass::LevelInitPreEntity(); +} + +//----------------------------------------------------------------------------- +// Returns whether or not Alyx cares about light levels in order to see. +//----------------------------------------------------------------------------- +bool CHalfLife2::IsAlyxInDarknessMode() +{ +#ifdef HL2_EPISODIC + if ( alyx_darkness_force.GetBool() ) + return true; + + return ( GlobalEntity_GetState( "ep_alyx_darknessmode" ) == GLOBAL_ON ); +#else + return false; +#endif // HL2_EPISODIC +} + + +//----------------------------------------------------------------------------- +// This takes the long way around to see if a prop should emit a DLIGHT when it +// ignites, to avoid having Alyx-related code in props.cpp. +//----------------------------------------------------------------------------- +bool CHalfLife2::ShouldBurningPropsEmitLight() +{ +#ifdef HL2_EPISODIC + return IsAlyxInDarknessMode(); +#else + return false; +#endif // HL2_EPISODIC +} + + +#endif//CLIENT_DLL + +// ------------------------------------------------------------------------------------ // +// Global functions. +// ------------------------------------------------------------------------------------ // + +#ifndef HL2MP +#ifndef PORTAL + +// shared ammo definition +// JAY: Trying to make a more physical bullet response +#define BULLET_MASS_GRAINS_TO_LB(grains) (0.002285*(grains)/16.0f) +#define BULLET_MASS_GRAINS_TO_KG(grains) lbs2kg(BULLET_MASS_GRAINS_TO_LB(grains)) + +// exaggerate all of the forces, but use real numbers to keep them consistent +#define BULLET_IMPULSE_EXAGGERATION 3.5 +// convert a velocity in ft/sec and a mass in grains to an impulse in kg in/s +#define BULLET_IMPULSE(grains, ftpersec) ((ftpersec)*12*BULLET_MASS_GRAINS_TO_KG(grains)*BULLET_IMPULSE_EXAGGERATION) + + +CAmmoDef *GetAmmoDef() +{ + static CAmmoDef def; + static bool bInitted = false; + + if ( !bInitted ) + { + bInitted = true; + + def.AddAmmoType("AR2", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_plr_dmg_ar2", "sk_npc_dmg_ar2", "sk_max_ar2", BULLET_IMPULSE(200, 1225), 0 ); + def.AddAmmoType("AlyxGun", DMG_BULLET, TRACER_LINE, "sk_plr_dmg_alyxgun", "sk_npc_dmg_alyxgun", "sk_max_alyxgun", BULLET_IMPULSE(200, 1225), 0 ); + def.AddAmmoType("Pistol", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_plr_dmg_pistol", "sk_npc_dmg_pistol", "sk_max_pistol", BULLET_IMPULSE(200, 1225), 0 ); + def.AddAmmoType("SMG1", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_plr_dmg_smg1", "sk_npc_dmg_smg1", "sk_max_smg1", BULLET_IMPULSE(200, 1225), 0 ); + def.AddAmmoType("357", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_plr_dmg_357", "sk_npc_dmg_357", "sk_max_357", BULLET_IMPULSE(800, 5000), 0 ); + def.AddAmmoType("XBowBolt", DMG_BULLET, TRACER_LINE, "sk_plr_dmg_crossbow", "sk_npc_dmg_crossbow", "sk_max_crossbow", BULLET_IMPULSE(800, 8000), 0 ); + + def.AddAmmoType("Buckshot", DMG_BULLET | DMG_BUCKSHOT, TRACER_LINE, "sk_plr_dmg_buckshot", "sk_npc_dmg_buckshot", "sk_max_buckshot", BULLET_IMPULSE(400, 1200), 0 ); + def.AddAmmoType("RPG_Round", DMG_BURN, TRACER_NONE, "sk_plr_dmg_rpg_round", "sk_npc_dmg_rpg_round", "sk_max_rpg_round", 0, 0 ); + def.AddAmmoType("SMG1_Grenade", DMG_BURN, TRACER_NONE, "sk_plr_dmg_smg1_grenade", "sk_npc_dmg_smg1_grenade", "sk_max_smg1_grenade", 0, 0 ); + def.AddAmmoType("SniperRound", DMG_BULLET | DMG_SNIPER, TRACER_NONE, "sk_plr_dmg_sniper_round", "sk_npc_dmg_sniper_round", "sk_max_sniper_round", BULLET_IMPULSE(650, 6000), 0 ); + def.AddAmmoType("SniperPenetratedRound", DMG_BULLET | DMG_SNIPER, TRACER_NONE, "sk_dmg_sniper_penetrate_plr", "sk_dmg_sniper_penetrate_npc", "sk_max_sniper_round", BULLET_IMPULSE(150, 6000), 0 ); + def.AddAmmoType("Grenade", DMG_BURN, TRACER_NONE, "sk_plr_dmg_grenade", "sk_npc_dmg_grenade", "sk_max_grenade", 0, 0); + def.AddAmmoType("Thumper", DMG_SONIC, TRACER_NONE, 10, 10, 2, 0, 0 ); + def.AddAmmoType("Gravity", DMG_CLUB, TRACER_NONE, 0, 0, 8, 0, 0 ); +// def.AddAmmoType("Extinguisher", DMG_BURN, TRACER_NONE, 0, 0, 100, 0, 0 ); + def.AddAmmoType("Battery", DMG_CLUB, TRACER_NONE, 0, 0, 0, 0, 0 ); + def.AddAmmoType("GaussEnergy", DMG_SHOCK, TRACER_NONE, "sk_jeep_gauss_damage", "sk_jeep_gauss_damage", "sk_max_gauss_round", BULLET_IMPULSE(650, 8000), 0 ); // hit like a 10kg weight at 400 in/s + def.AddAmmoType("CombineCannon", DMG_BULLET, TRACER_LINE, "sk_npc_dmg_gunship_to_plr", "sk_npc_dmg_gunship", NULL, 1.5 * 750 * 12, 0 ); // hit like a 1.5kg weight at 750 ft/s + def.AddAmmoType("AirboatGun", DMG_AIRBOAT, TRACER_LINE, "sk_plr_dmg_airboat", "sk_npc_dmg_airboat", NULL, BULLET_IMPULSE(10, 600), 0 ); + + //===================================================================== + // STRIDER MINIGUN DAMAGE - Pull up a chair and I'll tell you a tale. + // + // When we shipped Half-Life 2 in 2004, we were unaware of a bug in + // CAmmoDef::NPCDamage() which was returning the MaxCarry field of + // an ammotype as the amount of damage that should be done to a NPC + // by that type of ammo. Thankfully, the bug only affected Ammo Types + // that DO NOT use ConVars to specify their parameters. As you can see, + // all of the important ammotypes use ConVars, so the effect of the bug + // was limited. The Strider Minigun was affected, though. + // + // According to my perforce Archeology, we intended to ship the Strider + // Minigun ammo type to do 15 points of damage per shot, and we did. + // To achieve this we, unaware of the bug, set the Strider Minigun ammo + // type to have a maxcarry of 15, since our observation was that the + // number that was there before (8) was indeed the amount of damage being + // done to NPC's at the time. So we changed the field that was incorrectly + // being used as the NPC Damage field. + // + // The bug was fixed during Episode 1's development. The result of the + // bug fix was that the Strider was reduced to doing 5 points of damage + // to NPC's, since 5 is the value that was being assigned as NPC damage + // even though the code was returning 15 up to that point. + // + // Now as we go to ship Orange Box, we discover that the Striders in + // Half-Life 2 are hugely ineffective against citizens, causing big + // problems in maps 12 and 13. + // + // In order to restore balance to HL2 without upsetting the delicate + // balance of ep2_outland_12, I have chosen to build Episodic binaries + // with 5 as the Strider->NPC damage, since that's the value that has + // been in place for all of Episode 2's development. Half-Life 2 will + // build with 15 as the Strider->NPC damage, which is how HL2 shipped + // originally, only this time the 15 is located in the correct field + // now that the AmmoDef code is behaving correctly. + // + //===================================================================== +#ifdef HL2_EPISODIC + def.AddAmmoType("StriderMinigun", DMG_BULLET, TRACER_LINE, 5, 5, 15, 1.0 * 750 * 12, AMMO_FORCE_DROP_IF_CARRIED ); // hit like a 1.0kg weight at 750 ft/s +#else + def.AddAmmoType("StriderMinigun", DMG_BULLET, TRACER_LINE, 5, 15,15, 1.0 * 750 * 12, AMMO_FORCE_DROP_IF_CARRIED ); // hit like a 1.0kg weight at 750 ft/s +#endif//HL2_EPISODIC + + def.AddAmmoType("StriderMinigunDirect", DMG_BULLET, TRACER_LINE, 2, 2, 15, 1.0 * 750 * 12, AMMO_FORCE_DROP_IF_CARRIED ); // hit like a 1.0kg weight at 750 ft/s + def.AddAmmoType("HelicopterGun", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_npc_dmg_helicopter_to_plr", "sk_npc_dmg_helicopter", "sk_max_smg1", BULLET_IMPULSE(400, 1225), AMMO_FORCE_DROP_IF_CARRIED | AMMO_INTERPRET_PLRDAMAGE_AS_DAMAGE_TO_PLAYER ); + def.AddAmmoType("AR2AltFire", DMG_DISSOLVE, TRACER_NONE, 0, 0, "sk_max_ar2_altfire", 0, 0 ); + def.AddAmmoType("Grenade", DMG_BURN, TRACER_NONE, "sk_plr_dmg_grenade", "sk_npc_dmg_grenade", "sk_max_grenade", 0, 0); +#ifdef HL2_EPISODIC + def.AddAmmoType("Hopwire", DMG_BLAST, TRACER_NONE, "sk_plr_dmg_grenade", "sk_npc_dmg_grenade", "sk_max_hopwire", 0, 0); + def.AddAmmoType("CombineHeavyCannon", DMG_BULLET, TRACER_LINE, 40, 40, 0, 10 * 750 * 12, AMMO_FORCE_DROP_IF_CARRIED ); // hit like a 10 kg weight at 750 ft/s + def.AddAmmoType("ammo_proto1", DMG_BULLET, TRACER_LINE, 0, 0, 10, 0, 0 ); +#endif // HL2_EPISODIC + } + + return &def; +} + +#endif +#endif diff --git a/game/shared/hl2/hl2_usermessages.cpp b/game/shared/hl2/hl2_usermessages.cpp index be7b47a8..16a00095 100644 --- a/game/shared/hl2/hl2_usermessages.cpp +++ b/game/shared/hl2/hl2_usermessages.cpp @@ -42,4 +42,4 @@ void RegisterUserMessages( void ) usermessages->Register( "LogoTimeMsg", 4 ); usermessages->Register( "AchievementEvent", -1 ); usermessages->Register( "UpdateJalopyRadar", -1 ); -} \ No newline at end of file +} diff --git a/game/shared/hl2/hl2_vehicle_radar.h b/game/shared/hl2/hl2_vehicle_radar.h index 98b73733..75c929ad 100644 --- a/game/shared/hl2/hl2_vehicle_radar.h +++ b/game/shared/hl2/hl2_vehicle_radar.h @@ -24,4 +24,4 @@ enum // If we have more than 16 types of contacts, RADAR_CONTACT_TYPE_BITS RADAR_CONTACT_LARGE_ENEMY, // Large enemy (Strider) }; -#endif \ No newline at end of file +#endif diff --git a/game/shared/hl2/hl_gamemovement.cpp b/game/shared/hl2/hl_gamemovement.cpp index f511e090..1ab00148 100644 --- a/game/shared/hl2/hl_gamemovement.cpp +++ b/game/shared/hl2/hl_gamemovement.cpp @@ -1149,4 +1149,4 @@ bool CHL2GameMovement::CanAccelerate() IGameMovement *g_pGameMovement = ( IGameMovement * )&g_GameMovement; EXPOSE_SINGLE_INTERFACE_GLOBALVAR(CGameMovement, IGameMovement,INTERFACENAME_GAMEMOVEMENT, g_GameMovement ); -#endif \ No newline at end of file +#endif diff --git a/game/shared/hl2/survival_gamerules.cpp b/game/shared/hl2/survival_gamerules.cpp index 88fd3dcd..cf399a2e 100644 --- a/game/shared/hl2/survival_gamerules.cpp +++ b/game/shared/hl2/survival_gamerules.cpp @@ -206,7 +206,7 @@ void CHalfLife2Survival::ParseSurvivalSettings( KeyValues *pSubKey ) } else if ( !stricmp( pTestKey->GetName(), "spawnhealth" ) ) { - m_SurvivalSettings.m_iSpawnHealth = pTestKey->GetInt( NULL, 100 ); + m_SurvivalSettings.m_iSpawnHealth = pTestKey->GetInt( 0, 100 ); } else if ( !stricmp( pTestKey->GetName(), "allowedpickups" ) ) { @@ -240,7 +240,7 @@ void CHalfLife2Survival::ParseSurvivalAmmo( KeyValues *pSubKey ) void CHalfLife2Survival::ReadSurvivalScriptFile( void ) { char szFullName[512]; - Q_snprintf( szFullName, sizeof( szFullName ), "maps/%s_survival.txt", gpGlobals->mapname ); + Q_snprintf( szFullName, sizeof( szFullName ), "maps/%s_survival.txt", STRING(gpGlobals->mapname) ); KeyValues *pkvFile = new KeyValues( "Survival" ); if ( pkvFile->LoadFromFile( filesystem, szFullName, "MOD" ) ) @@ -269,4 +269,4 @@ void CHalfLife2Survival::CreateStandardEntities( void ) #endif -#endif \ No newline at end of file +#endif diff --git a/game/shared/hl2mp/hl2mp_gamerules.cpp b/game/shared/hl2mp/hl2mp_gamerules.cpp index 64a4711f..146e08b1 100644 --- a/game/shared/hl2mp/hl2mp_gamerules.cpp +++ b/game/shared/hl2mp/hl2mp_gamerules.cpp @@ -175,7 +175,7 @@ static const char *s_PreserveEnts[] = #endif // NOTE: the indices here must match TEAM_TERRORIST, TEAM_CT, TEAM_SPECTATOR, etc. -char *sTeamNames[] = +const char *sTeamNames[] = { "Unassigned", "Spectator", @@ -187,7 +187,7 @@ CHL2MPRules::CHL2MPRules() { #ifndef CLIENT_DLL // Create the team managers - for ( int i = 0; i < ARRAYSIZE( sTeamNames ); i++ ) + for ( size_t i = 0; i < ARRAYSIZE( sTeamNames ); i++ ) { CTeam *pTeam = static_cast(CreateEntityByName( "team_manager" )); pTeam->Init( sTeamNames[i], i ); @@ -1268,4 +1268,4 @@ const char *CHL2MPRules::GetChatFormat( bool bTeamOnly, CBasePlayer *pPlayer ) return pszFormat; } -#endif \ No newline at end of file +#endif diff --git a/game/shared/hl2mp/hl2mp_player_shared.cpp b/game/shared/hl2mp/hl2mp_player_shared.cpp index 0464bb6d..07df655c 100644 --- a/game/shared/hl2mp/hl2mp_player_shared.cpp +++ b/game/shared/hl2mp/hl2mp_player_shared.cpp @@ -570,4 +570,4 @@ void CPlayerAnimState::GetOuterAbsVelocity( Vector& vel ) #else vel = GetOuter()->GetAbsVelocity(); #endif -} \ No newline at end of file +} diff --git a/game/shared/hl2mp/weapon_crowbar.cpp b/game/shared/hl2mp/weapon_crowbar.cpp index 9095bf9a..c69029dc 100644 --- a/game/shared/hl2mp/weapon_crowbar.cpp +++ b/game/shared/hl2mp/weapon_crowbar.cpp @@ -114,7 +114,7 @@ void CWeaponCrowbar::HandleAnimEventMeleeHit( animevent_t *pEvent, CBaseCombatCh Vector vecEnd; VectorMA( pOperator->Weapon_ShootPosition(), 50, vecDirection, vecEnd ); CBaseEntity *pHurt = pOperator->CheckTraceHullAttack( pOperator->Weapon_ShootPosition(), vecEnd, - Vector(-16,-16,-16), Vector(36,36,36), GetDamageForActivity( GetActivity() ), DMG_CLUB, 0.75 ); + Vector(-16,-16,-16), Vector(36,36,36), (int)GetDamageForActivity( GetActivity() ), DMG_CLUB, 0.75 ); // did I hit someone? if ( pHurt ) diff --git a/game/shared/hl2mp/weapon_hl2mpbase.cpp b/game/shared/hl2mp/weapon_hl2mpbase.cpp index 8bc6b748..6486f22f 100644 --- a/game/shared/hl2mp/weapon_hl2mpbase.cpp +++ b/game/shared/hl2mp/weapon_hl2mpbase.cpp @@ -45,7 +45,7 @@ bool IsAmmoType( int iAmmoType, const char *pAmmoName ) return GetAmmoDef()->Index( pAmmoName ) == iAmmoType; } -static const char * s_WeaponAliasInfo[] = +/*static const char * s_WeaponAliasInfo[] = { "none", // WEAPON_NONE = 0, @@ -53,7 +53,7 @@ static const char * s_WeaponAliasInfo[] = "shotgun", //WEAPON_AMERKNIFE, NULL, // end of list marker -}; +};*/ // ----------------------------------------------------------------------------- // diff --git a/game/shared/hl2mp/weapon_hl2mpbasebasebludgeon.h b/game/shared/hl2mp/weapon_hl2mpbasebasebludgeon.h index e19bffd6..c1bcc1f2 100644 --- a/game/shared/hl2mp/weapon_hl2mpbasebasebludgeon.h +++ b/game/shared/hl2mp/weapon_hl2mpbasebasebludgeon.h @@ -63,4 +63,4 @@ private: Activity ChooseIntersectionPointAndActivity( trace_t &hitTrace, const Vector &mins, const Vector &maxs, CBasePlayer *pOwner ); }; -#endif \ No newline at end of file +#endif diff --git a/game/shared/hl2mp/weapon_hl2mpbasehlmpcombatweapon.cpp b/game/shared/hl2mp/weapon_hl2mpbasehlmpcombatweapon.cpp index 5a23d029..7f475c85 100644 --- a/game/shared/hl2mp/weapon_hl2mpbasehlmpcombatweapon.cpp +++ b/game/shared/hl2mp/weapon_hl2mpbasehlmpcombatweapon.cpp @@ -413,4 +413,4 @@ const WeaponProficiencyInfo_t *CBaseHL2MPCombatWeapon::GetDefaultProficiencyValu return g_BaseWeaponProficiencyTable; } -#endif \ No newline at end of file +#endif diff --git a/game/shared/hl2mp/weapon_physcannon.cpp b/game/shared/hl2mp/weapon_physcannon.cpp index 48aeaf19..df0c1cb1 100644 --- a/game/shared/hl2mp/weapon_physcannon.cpp +++ b/game/shared/hl2mp/weapon_physcannon.cpp @@ -50,7 +50,7 @@ #define SPRITE_SCALE 128.0f -static const char *s_pWaitForUpgradeContext = "WaitForUpgrade"; +//static const char *s_pWaitForUpgradeContext = "WaitForUpgrade"; ConVar g_debug_physcannon( "g_debug_physcannon", "0", FCVAR_REPLICATED | FCVAR_CHEAT ); @@ -191,7 +191,7 @@ static QAngle AlignAngles( const QAngle &angles, float cosineAlignAngle ) } -static void TraceCollideAgainstBBox( const CPhysCollide *pCollide, const Vector &start, const Vector &end, const QAngle &angles, const Vector &boxOrigin, const Vector &mins, const Vector &maxs, trace_t *ptr ) +/*static void TraceCollideAgainstBBox( const CPhysCollide *pCollide, const Vector &start, const Vector &end, const QAngle &angles, const Vector &boxOrigin, const Vector &mins, const Vector &maxs, trace_t *ptr ) { physcollision->TraceBox( boxOrigin, boxOrigin + (start-end), mins, maxs, pCollide, start, angles, ptr ); @@ -202,7 +202,7 @@ static void TraceCollideAgainstBBox( const CPhysCollide *pCollide, const Vector ptr->plane.dist = -ptr->plane.dist; ptr->plane.normal *= -1; } -} +}*/ //----------------------------------------------------------------------------- // Purpose: Computes a local matrix for the player clamped to valid carry ranges @@ -1271,9 +1271,9 @@ BEGIN_NETWORK_TABLE( CWeaponPhysCannon, DT_WeaponPhysCannon ) SendPropBool( SENDINFO( m_bActive ) ), SendPropEHandle( SENDINFO( m_hAttachedObject ) ), SendPropVector(SENDINFO( m_attachedPositionObjectSpace ), -1, SPROP_COORD), - SendPropAngle( SENDINFO_VECTORELEM(m_attachedAnglesPlayerSpace, 0 ), 11 ), - SendPropAngle( SENDINFO_VECTORELEM(m_attachedAnglesPlayerSpace, 1 ), 11 ), - SendPropAngle( SENDINFO_VECTORELEM(m_attachedAnglesPlayerSpace, 2 ), 11 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_attachedAnglesPlayerSpace, 0, x ), 11 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_attachedAnglesPlayerSpace, 1, y ), 11 ), + SendPropAngle( SENDINFO_VECTORELEM2(m_attachedAnglesPlayerSpace, 2, z ), 11 ), SendPropInt( SENDINFO( m_EffectState ) ), SendPropBool( SENDINFO( m_bOpen ) ), #endif diff --git a/game/shared/hl2mp/weapon_rpg.cpp b/game/shared/hl2mp/weapon_rpg.cpp index b799e23c..7e87c38a 100644 --- a/game/shared/hl2mp/weapon_rpg.cpp +++ b/game/shared/hl2mp/weapon_rpg.cpp @@ -45,7 +45,7 @@ const char *g_pLaserDotThink = "LaserThinkContext"; static ConVar sk_apc_missile_damage("sk_apc_missile_damage", "15"); -#define APC_MISSILE_DAMAGE sk_apc_missile_damage.GetFloat() +#define APC_MISSILE_DAMAGE sk_apc_missile_damage.GetInt() #endif @@ -360,7 +360,7 @@ void CMissile::ShotDown( void ) void CMissile::DoExplosion( void ) { // Explode - ExplosionCreate( GetAbsOrigin(), GetAbsAngles(), GetOwnerEntity(), GetDamage(), GetDamage() * 2, + ExplosionCreate( GetAbsOrigin(), GetAbsAngles(), GetOwnerEntity(), (int)GetDamage(), (int)(GetDamage() * 2), SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0.0f, this); } diff --git a/game/shared/hl2mp/weapon_stunstick.cpp b/game/shared/hl2mp/weapon_stunstick.cpp index 8c11e88d..a1a612d0 100644 --- a/game/shared/hl2mp/weapon_stunstick.cpp +++ b/game/shared/hl2mp/weapon_stunstick.cpp @@ -344,7 +344,7 @@ void CWeaponStunStick::Operator_HandleAnimEvent( animevent_t *pEvent, CBaseComba VectorMA( pOperator->Weapon_ShootPosition(), 32, vecDirection, vecEnd ); // Stretch the swing box down to catch low level physics objects CBaseEntity *pHurt = pOperator->CheckTraceHullAttack( pOperator->Weapon_ShootPosition(), vecEnd, - Vector(-16,-16,-40), Vector(16,16,16), GetDamageForActivity( GetActivity() ), DMG_CLUB, 0.5f, false ); + Vector(-16,-16,-40), Vector(16,16,16), (int)GetDamageForActivity( GetActivity() ), DMG_CLUB, 0.5f, false ); // did I hit someone? if ( pHurt ) @@ -896,4 +896,4 @@ void StunstickImpactCallback( const CEffectData &data ) DECLARE_CLIENT_EFFECT( "StunstickImpact", StunstickImpactCallback ); -#endif \ No newline at end of file +#endif diff --git a/game/shared/in_buttons.h b/game/shared/in_buttons.h index 62c44e8d..642852ed 100644 --- a/game/shared/in_buttons.h +++ b/game/shared/in_buttons.h @@ -37,4 +37,4 @@ #define IN_GRENADE1 (1 << 23) // grenade 1 #define IN_GRENADE2 (1 << 24) // grenade 2 -#endif // IN_BUTTONS_H \ No newline at end of file +#endif // IN_BUTTONS_H diff --git a/game/shared/mapdata_shared.h b/game/shared/mapdata_shared.h index 7f86c34f..739899f1 100644 --- a/game/shared/mapdata_shared.h +++ b/game/shared/mapdata_shared.h @@ -30,4 +30,4 @@ public: virtual float Get3DSkyboxScale( void ) = 0; }; -#endif // MAPDATA_SHARED_H \ No newline at end of file +#endif // MAPDATA_SHARED_H diff --git a/game/shared/mapentities_shared.cpp b/game/shared/mapentities_shared.cpp index b4d6eee0..d69d74c8 100644 --- a/game/shared/mapentities_shared.cpp +++ b/game/shared/mapentities_shared.cpp @@ -125,7 +125,7 @@ const char *MapEntity_ParseToken( const char *data, char *newToken ) for ( const char *c = s_BraceChars; *c; c++ ) { - s_BraceCharacters[*c] = true; + s_BraceCharacters[static_cast(*c)] = true; } } diff --git a/game/shared/mp_shareddefs.cpp b/game/shared/mp_shareddefs.cpp index fe85aa3f..242d5308 100644 --- a/game/shared/mp_shareddefs.cpp +++ b/game/shared/mp_shareddefs.cpp @@ -81,7 +81,7 @@ int GetMPConceptIndexFromString( const char *pszConcept ) // Make sure our concept string and enum arrays are the same length Assert( ARRAYSIZE( g_pszMPConcepts ) == MP_TF_CONCEPT_COUNT ); - for ( int iConcept = 0; iConcept < ARRAYSIZE( g_pszMPConcepts ); ++iConcept ) + for ( size_t iConcept = 0; iConcept < ARRAYSIZE( g_pszMPConcepts ); ++iConcept ) { if ( !Q_stricmp( pszConcept, g_pszMPConcepts[iConcept] ) ) return iConcept; diff --git a/game/shared/particle_parse.cpp b/game/shared/particle_parse.cpp index 7f282618..5e27020b 100644 --- a/game/shared/particle_parse.cpp +++ b/game/shared/particle_parse.cpp @@ -312,4 +312,4 @@ void StopParticleEffects( CBaseEntity *pEntity ) } static ConCommand particle_test_stop("particle_test_stop", CC_Particle_Test_Stop, "Stops all particle systems on the selected entities.\n\tArguments: {entity_name} / {class_name} / no argument picks what player is looking at ", FCVAR_CHEAT); -#endif //CLIENT_DLL \ No newline at end of file +#endif //CLIENT_DLL diff --git a/game/shared/particle_property_inlines.h b/game/shared/particle_property_inlines.h index 1e8ec9a0..212127b1 100644 --- a/game/shared/particle_property_inlines.h +++ b/game/shared/particle_property_inlines.h @@ -35,4 +35,4 @@ CNewParticleEffect *CParticleProperty::GetParticleEffectFromIdx( int idx ) -#endif // #ifndef PARTICLEPROPERTY_INLINES_H \ No newline at end of file +#endif // #ifndef PARTICLEPROPERTY_INLINES_H diff --git a/game/shared/particlesystemquery.cpp b/game/shared/particlesystemquery.cpp index 06bd12a0..f09cef5f 100644 --- a/game/shared/particlesystemquery.cpp +++ b/game/shared/particlesystemquery.cpp @@ -173,12 +173,12 @@ bool CParticleSystemQuery::MovePointInsideControllingObject( #endif } +#ifndef GAME_DLL static float GetSurfaceCoord( float flRand, float flMinX, float flMaxX ) { return Lerp( flRand, flMinX, flMaxX ); - } - +#endif void CParticleSystemQuery::GetRandomPointsOnControllingObjectHitBox( CParticleCollection *pParticles, @@ -559,7 +559,7 @@ static CollisionGroupNameRecord_t s_NameMap[]={ int CParticleSystemQuery::GetCollisionGroupFromName( const char *pszCollisionGroupName ) { - for(int i = 0; i < ARRAYSIZE( s_NameMap ); i++ ) + for(size_t i = 0; i < ARRAYSIZE( s_NameMap ); i++ ) { if ( ! stricmp( s_NameMap[i].m_pszGroupName, pszCollisionGroupName ) ) return s_NameMap[i].m_nGroupID; diff --git a/game/shared/physics_main_shared.cpp b/game/shared/physics_main_shared.cpp index dedcc9d9..c90f2b3e 100644 --- a/game/shared/physics_main_shared.cpp +++ b/game/shared/physics_main_shared.cpp @@ -129,7 +129,7 @@ public: CDataObjectAccessSystem() { - COMPILE_TIME_ASSERT( NUM_DATAOBJECT_TYPES <= MAX_ACCESSORS ); + COMPILE_TIME_ASSERT( (int)NUM_DATAOBJECT_TYPES <= (int)MAX_ACCESSORS ); Q_memset( m_Accessors, 0, sizeof( m_Accessors ) ); } diff --git a/game/shared/playernet_vars.h b/game/shared/playernet_vars.h index 5e1a2953..08d856d9 100644 --- a/game/shared/playernet_vars.h +++ b/game/shared/playernet_vars.h @@ -77,10 +77,10 @@ struct fogplayerparams_t { m_hCtrl.Set( NULL ); m_flTransitionTime = -1.0f; - m_OldColor.r = m_OldColor.g = m_OldColor.g = m_OldColor.a = 0.0f; + m_OldColor.r = m_OldColor.g = m_OldColor.b = m_OldColor.a = 0; m_flOldStart = 0.0f; m_flOldEnd = 0.0f; - m_NewColor.r = m_NewColor.g = m_NewColor.g = m_NewColor.a = 0.0f; + m_NewColor.r = m_NewColor.g = m_NewColor.b = m_NewColor.a = 0; m_flNewStart = 0.0f; m_flNewEnd = 0.0f; } diff --git a/game/shared/point_posecontroller.cpp b/game/shared/point_posecontroller.cpp index 50a400e2..871fb889 100644 --- a/game/shared/point_posecontroller.cpp +++ b/game/shared/point_posecontroller.cpp @@ -319,7 +319,7 @@ void CPoseController::InputRandomizeFMod( inputdata_t &inputdata ) void CPoseController::InputGetFMod( inputdata_t &inputdata ) { DevMsg( "FMod values for pose controller %s\nTYPE: %i\nTIME OFFSET: %f\nRATE: %f\nAMPLITUDE: %f\n", - GetEntityName(), + STRING(GetEntityName()), m_nFModType.Get(), m_fFModTimeOffset.Get(), m_fFModRate.Get(), diff --git a/game/shared/point_posecontroller.h b/game/shared/point_posecontroller.h index d51f87d6..0ea98509 100644 --- a/game/shared/point_posecontroller.h +++ b/game/shared/point_posecontroller.h @@ -147,4 +147,4 @@ private: }; -#endif //#ifndef CLIENT_DLL \ No newline at end of file +#endif //#ifndef CLIENT_DLL diff --git a/game/shared/predicted_viewmodel.cpp b/game/shared/predicted_viewmodel.cpp index b9809e93..55510ce9 100644 --- a/game/shared/predicted_viewmodel.cpp +++ b/game/shared/predicted_viewmodel.cpp @@ -68,4 +68,4 @@ void CPredictedViewModel::CalcViewModelLag( Vector& origin, QAngle& angles, QAng vForwardDiff *= cl_wpn_sway_scale.GetFloat(); origin += forward*vForwardDiff.x + right*-vForwardDiff.y + up*vForwardDiff.z; #endif -} \ No newline at end of file +} diff --git a/game/shared/predictioncopy.cpp b/game/shared/predictioncopy.cpp index 778b08d8..74535d74 100644 --- a/game/shared/predictioncopy.cpp +++ b/game/shared/predictioncopy.cpp @@ -519,13 +519,13 @@ void CPredictionCopy::DescribeQuaternion( difftype_t dt, Quaternion* outValue, c } ReportFieldsDiffer( "quaternion[] differs (1st diff) (net %f %f %f %f - pred %f %f %f %f) delta(%f %f %f %f)\n", - inValue[0], inValue[1], inValue[2], inValue[3], - outValue[0], outValue[1], outValue[2], outValue[3], - delta[0], delta[1], delta[2], delta[3] ); + inValue->x, inValue->y, inValue->z, inValue->w, + outValue->x, outValue->y, outValue->z, outValue->w, + delta.x, delta.y, delta.z, delta.w ); } DescribeFields( dt, "quaternion (%f %f %f %f)\n", - outValue[0][0], outValue[0][1], outValue[0][2], outValue[3] ); + outValue->x, outValue->y, outValue->z, outValue->w ); } void CPredictionCopy::WatchQuaternion( difftype_t dt, Quaternion& outValue, const Quaternion &inValue ) @@ -1593,7 +1593,7 @@ void CPredictionDescribeData::DescribeQuaternion( const Quaternion *inValue, int void CPredictionDescribeData::DescribeEHandle( EHANDLE const *invalue, int count ) { - Describe( "EHandle (%p)\n", invalue[ 0 ] ); + Describe( "EHandle (%p)\n", invalue->Get() ); } void CPredictionDescribeData::DescribeFields_R( int chain_count, datamap_t *pRootMap, typedescription_t *pFields, int fieldCount ) diff --git a/game/shared/props_shared.cpp b/game/shared/props_shared.cpp index 3bc71c1b..704825ca 100644 --- a/game/shared/props_shared.cpp +++ b/game/shared/props_shared.cpp @@ -278,14 +278,14 @@ int CPropData::ParsePropFromKV( CBaseEntity *pProp, KeyValues *pSection, KeyValu } // Allow overriding of Block LOS - int iBlockLOS = pSection->GetFloat( "blockLOS", -1 ); + int iBlockLOS = pSection->GetInt( "blockLOS", -1 ); if ( iBlockLOS != -1 ) { pBreakableInterface->SetPropDataBlocksLOS( iBlockLOS != 0 ); } // Set whether AI can walk on this prop - int iIsWalkable = pSection->GetFloat( "AIWalkable", -1 ); + int iIsWalkable = pSection->GetInt( "AIWalkable", -1 ); if ( iIsWalkable != -1 ) { pBreakableInterface->SetPropDataIsAIWalkable( iIsWalkable != 0 ); @@ -382,7 +382,7 @@ int CPropData::ParsePropFromKV( CBaseEntity *pProp, KeyValues *pSection, KeyValu int iSmallest = SmallestAxis(vecSize); vecSize[iSmallest] = 1; float flVolume = vecSize.x * vecSize.y * vecSize.z; - int iMaxSize = floor( flVolume / (32.0*32.0) ); + int iMaxSize = (int)floor( flVolume / (32.0*32.0) ); pBreakableInterface->SetMaxBreakableSize( iMaxSize ); // Now parse our interactions @@ -521,7 +521,7 @@ class CBreakParser : public IVPhysicsKeyHandler { public: CBreakParser( float defaultBurstScale, int defaultCollisionGroup ) - : m_defaultBurstScale(defaultBurstScale), m_defaultCollisionGroup(defaultCollisionGroup) {} + : m_defaultCollisionGroup(defaultCollisionGroup), m_defaultBurstScale(defaultBurstScale) {} void ParseModelName( breakmodel_t *pModel, const char *pValue ) { @@ -681,7 +681,7 @@ const char *GetMassEquivalent(float flMass) static struct { float flMass; - char *sz; + const char *sz; } masstext[] = { { 5e-6, "snowflake" }, @@ -709,7 +709,7 @@ const char *GetMassEquivalent(float flMass) { 7e24, "really freaking heavy" }, }; - for (int i = 0; i < sizeof(masstext) / sizeof(masstext[0]) - 1; i++) + for (size_t i = 0; i < sizeof(masstext) / sizeof(masstext[0]) - 1; i++) { if (flMass < masstext[i].flMass) { diff --git a/game/shared/ragdoll_shared.cpp b/game/shared/ragdoll_shared.cpp index 1c530e8a..c238ee63 100644 --- a/game/shared/ragdoll_shared.cpp +++ b/game/shared/ragdoll_shared.cpp @@ -609,7 +609,7 @@ void RagdollSolveSeparation( ragdoll_t &ragdoll, CBaseEntity *pEntity ) { byte needsFix[256]; int fixCount = 0; - Assert(ragdoll.listCount<=ARRAYSIZE(needsFix)); + Assert(ragdoll.listCount <= (int)ARRAYSIZE(needsFix)); for ( int i = 0; i < ragdoll.listCount; i++ ) { needsFix[i] = 0; diff --git a/game/shared/rumble_shared.h b/game/shared/rumble_shared.h index afc045e5..eb999a0f 100644 --- a/game/shared/rumble_shared.h +++ b/game/shared/rumble_shared.h @@ -70,4 +70,4 @@ enum NUM_RUMBLE_EFFECTS, // THIS MUST BE LAST!!! }; -#endif//RUMBLE_SHARED_H \ No newline at end of file +#endif//RUMBLE_SHARED_H diff --git a/game/shared/saverestore.cpp b/game/shared/saverestore.cpp index c0ef0438..54e470d8 100644 --- a/game/shared/saverestore.cpp +++ b/game/shared/saverestore.cpp @@ -671,7 +671,7 @@ bool CSave::ShouldSaveField( const void *pData, typedescription_t *pField ) int *pEHandle = (int *)pData; for ( int i = 0; i < pField->fieldSize; ++i, ++pEHandle ) { - if ( (*pEHandle) != 0xFFFFFFFF ) + if ( (*pEHandle) != (int)0xFFFFFFFF ) return true; } } @@ -2831,7 +2831,7 @@ CBaseEntity *CEntitySaveRestoreBlockHandler::FindGlobalEntity( string_t classnam { if ( !FClassnameIs( pReturn, STRING(classname) ) ) { - Warning( "Global entity found %s, wrong class %s [expects class %s]\n", STRING(globalname), STRING(pReturn->m_iClassname), classname ); + Warning( "Global entity found %s, wrong class %s [expects class %s]\n", STRING(globalname), STRING(pReturn->m_iClassname), STRING(classname) ); pReturn = NULL; } } diff --git a/game/shared/sceneentity_shared.cpp b/game/shared/sceneentity_shared.cpp index fa46ff7a..0ee59eb3 100644 --- a/game/shared/sceneentity_shared.cpp +++ b/game/shared/sceneentity_shared.cpp @@ -121,4 +121,4 @@ void CSceneTokenProcessor::SetBuffer( char *buffer ) m_pBuffer = buffer; } -CSceneTokenProcessor g_TokenProcessor; \ No newline at end of file +CSceneTokenProcessor g_TokenProcessor; diff --git a/game/shared/sceneimage.cpp b/game/shared/sceneimage.cpp index a4552cda..0b397903 100644 --- a/game/shared/sceneimage.cpp +++ b/game/shared/sceneimage.cpp @@ -10,7 +10,8 @@ #include "iscenetokenprocessor.h" #include "scenefilecache/SceneImageFile.h" -#include "lzma/lzma.h" +//#include "lzma/lzma.h" +extern unsigned char *LZMA_Compress(unsigned char *buffer, unsigned int bufsize, unsigned int *outsize, unsigned int unk = 18); #include "tier1/utlbuffer.h" #include "tier1/UtlStringMap.h" diff --git a/game/shared/sceneimage.h b/game/shared/sceneimage.h index 1a4420e7..5d7dd5ad 100644 --- a/game/shared/sceneimage.h +++ b/game/shared/sceneimage.h @@ -30,4 +30,4 @@ public: extern ISceneImage *g_pSceneImage; extern ISceneTokenProcessor *tokenprocessor; -#endif SCENEIMAGE_H \ No newline at end of file +#endif // SCENEIMAGE_H diff --git a/game/shared/sdk/sdk_basegrenade_projectile.cpp b/game/shared/sdk/sdk_basegrenade_projectile.cpp index bf125658..ce0a0648 100644 --- a/game/shared/sdk/sdk_basegrenade_projectile.cpp +++ b/game/shared/sdk/sdk_basegrenade_projectile.cpp @@ -120,7 +120,7 @@ END_NETWORK_TABLE() return; } - CSoundEnt::InsertSound ( SOUND_DANGER, GetAbsOrigin() + GetAbsVelocity() * 0.5, GetAbsVelocity().Length( ), 0.2 ); + CSoundEnt::InsertSound ( SOUND_DANGER, GetAbsOrigin() + GetAbsVelocity() * 0.5, (int)GetAbsVelocity().Length( ), 0.2 ); SetNextThink( gpGlobals->curtime + 0.2 ); diff --git a/game/shared/sdk/sdk_gamerules.cpp b/game/shared/sdk/sdk_gamerules.cpp index ef99133f..82d287c7 100644 --- a/game/shared/sdk/sdk_gamerules.cpp +++ b/game/shared/sdk/sdk_gamerules.cpp @@ -108,7 +108,7 @@ IMPLEMENT_NETWORKCLASS_ALIASED( SDKGameRulesProxy, DT_SDKGameRulesProxy ) // --------------------------------------------------------------------------------------------------- // // NOTE: the indices here must match TEAM_TERRORIST, TEAM_CT, TEAM_SPECTATOR, etc. - char *sTeamNames[] = + const char *sTeamNames[] = { "Unassigned", "Spectator", @@ -134,7 +134,7 @@ IMPLEMENT_NETWORKCLASS_ALIASED( SDKGameRulesProxy, DT_SDKGameRulesProxy ) CSDKGameRules::CSDKGameRules() { // Create the team managers - for ( int i = 0; i < ARRAYSIZE( sTeamNames ); i++ ) + for ( int i = 0; i < (int)ARRAYSIZE( sTeamNames ); i++ ) { CTeam *pTeam = static_cast(CreateEntityByName( "sdk_team_manager" )); pTeam->Init( sTeamNames[i], i ); diff --git a/game/shared/sdk/sdk_playeranimstate.cpp b/game/shared/sdk/sdk_playeranimstate.cpp index d86f9398..9ab8fd85 100644 --- a/game/shared/sdk/sdk_playeranimstate.cpp +++ b/game/shared/sdk/sdk_playeranimstate.cpp @@ -301,7 +301,7 @@ bool CSDKPlayerAnimState::IsOuterGrenadePrimed() } else { - return NULL; + return false; } } diff --git a/game/shared/sdk/weapon_sdkbase.cpp b/game/shared/sdk/weapon_sdkbase.cpp index 883e8741..cb06fd14 100644 --- a/game/shared/sdk/weapon_sdkbase.cpp +++ b/game/shared/sdk/weapon_sdkbase.cpp @@ -169,4 +169,4 @@ void CWeaponSDKBase::SendReloadEvents() pPlayer->DoAnimationEvent( PLAYERANIMEVENT_RELOAD ); } -#endif \ No newline at end of file +#endif diff --git a/game/shared/sheetsimulator.cpp b/game/shared/sheetsimulator.cpp index 55041f2c..2b4da9dc 100644 --- a/game/shared/sheetsimulator.cpp +++ b/game/shared/sheetsimulator.cpp @@ -398,7 +398,7 @@ void CSheetSimulator::InitPosition( int i ) // collision plane Vector delta; VectorSubtract( m_ControlPoints[i], m_Origin, delta ); - int maxdist = VectorNormalize( delta ); + int maxdist = (int)VectorNormalize( delta ); float dist = (m_pCollisionPlanes[i].dist - DotProduct( m_Origin, m_pCollisionPlanes[i].normal )) / DotProduct( delta, m_pCollisionPlanes[i].normal ); @@ -635,7 +635,7 @@ bool CIterativeSheetSimulator::Think( ) else { // Simulate it a bunch of times - Simulate(m_TimeStep, m_SubSteps); + Simulate(m_TimeStep, (int)m_SubSteps); // Reset the collision point for collision detect m_CurrentCollisionPt = 0; diff --git a/game/shared/soundenvelope.cpp b/game/shared/soundenvelope.cpp index 06f42cd0..006a0580 100644 --- a/game/shared/soundenvelope.cpp +++ b/game/shared/soundenvelope.cpp @@ -1043,7 +1043,7 @@ CSoundPatch *CSoundControllerImp::SoundCreate( IRecipientFilter& filter, int nEn CSoundPatch *pSound = new CSoundPatch; // FIXME: This is done so we don't have to futz with the public interface - EHANDLE hEnt = (nEntIndex != -1) ? g_pEntityList->GetNetworkableHandle( nEntIndex ) : NULL; + EHANDLE hEnt = (nEntIndex != -1) ? g_pEntityList->GetNetworkableHandle( nEntIndex ) : 0; pSound->Init( &filter, hEnt.Get(), CHAN_AUTO, pSoundName, SNDLVL_NORM ); return pSound; @@ -1053,7 +1053,7 @@ CSoundPatch *CSoundControllerImp::SoundCreate( IRecipientFilter& filter, int nEn const char *pSoundName, float attenuation ) { CSoundPatch *pSound = new CSoundPatch; - EHANDLE hEnt = (nEntIndex != -1) ? g_pEntityList->GetNetworkableHandle( nEntIndex ) : NULL; + EHANDLE hEnt = (nEntIndex != -1) ? g_pEntityList->GetNetworkableHandle( nEntIndex ) : 0; pSound->Init( &filter, hEnt.Get(), channel, pSoundName, ATTN_TO_SNDLVL( attenuation ) ); return pSound; @@ -1063,7 +1063,7 @@ CSoundPatch *CSoundControllerImp::SoundCreate( IRecipientFilter& filter, int nEn const char *pSoundName, soundlevel_t soundlevel ) { CSoundPatch *pSound = new CSoundPatch; - EHANDLE hEnt = (nEntIndex != -1) ? g_pEntityList->GetNetworkableHandle( nEntIndex ) : NULL; + EHANDLE hEnt = (nEntIndex != -1) ? g_pEntityList->GetNetworkableHandle( nEntIndex ) : 0; pSound->Init( &filter, hEnt.Get(), channel, pSoundName, soundlevel ); return pSound; @@ -1074,7 +1074,7 @@ CSoundPatch *CSoundControllerImp::SoundCreate( IRecipientFilter& filter, int nEn CSoundPatch *pSound = new CSoundPatch; // FIXME: This is done so we don't have to futz with the public interface - EHANDLE hEnt = (nEntIndex != -1) ? g_pEntityList->GetNetworkableHandle( nEntIndex ) : NULL; + EHANDLE hEnt = (nEntIndex != -1) ? g_pEntityList->GetNetworkableHandle( nEntIndex ) : 0; pSound->Init( &filter, hEnt.Get(), es.m_nChannel, es.m_pSoundName, es.m_SoundLevel ); pSound->ChangeVolume( es.m_flVolume, 0 ); pSound->ChangePitch( es.m_nPitch, 0 ); diff --git a/game/shared/takedamageinfo.cpp b/game/shared/takedamageinfo.cpp index c7d9a47f..7e3141ff 100644 --- a/game/shared/takedamageinfo.cpp +++ b/game/shared/takedamageinfo.cpp @@ -482,4 +482,4 @@ void CTakeDamageInfo::DebugGetDamageTypeString(unsigned int damageType, char *ou #define DMG_BLAST_SURFACE (1<<27) // A blast on the surface of water that cannot harm things underwater #define DMG_DIRECT (1<<28) #define DMG_BUCKSHOT (1<<29) // not quite a bullet. Little, rounder, different. -*/ \ No newline at end of file +*/ diff --git a/game/shared/teamplay_round_timer.cpp b/game/shared/teamplay_round_timer.cpp index 3b1475b7..0a1e5d90 100644 --- a/game/shared/teamplay_round_timer.cpp +++ b/game/shared/teamplay_round_timer.cpp @@ -956,7 +956,7 @@ void CTeamRoundTimer::InputRoundSpawn( inputdata_t &input ) { if ( !m_bResetTimeOnRoundStart && ( m_nState == RT_STATE_NORMAL ) ) { - m_nTimeToUseAfterSetupFinished = GetTimeRemaining(); + m_nTimeToUseAfterSetupFinished = (int)GetTimeRemaining(); } else { @@ -1090,7 +1090,7 @@ void CTeamRoundTimer::AddTimerSeconds( int iSecondsToAdd, int iTeamResponsible / if ( GetTimeRemaining() + iSecondsToAdd > m_nTimerMaxLength ) { // adjust to only add up to our max length - iSecondsToAdd = m_nTimerMaxLength - GetTimeRemaining(); + iSecondsToAdd = (int)(m_nTimerMaxLength - GetTimeRemaining()); } } @@ -1227,14 +1227,14 @@ void CTeamRoundTimer::InputAddTeamTime( inputdata_t &input ) // get the team p = nexttoken( token, p, ' ' ); - if ( token ) + if ( token[0] != '\0' ) { nTeam = Q_atoi( token ); } // get the time p = nexttoken( token, p, ' ' ); - if ( token ) + if ( token[0] != '\0' ) { nSeconds = Q_atoi( token ); } diff --git a/game/shared/teamplay_round_timer.h b/game/shared/teamplay_round_timer.h index 37341d1e..a17ab6a2 100644 --- a/game/shared/teamplay_round_timer.h +++ b/game/shared/teamplay_round_timer.h @@ -165,4 +165,4 @@ private: extern CTeamRoundTimer *g_TeamRoundTimer; #endif -#endif //TEAM_ROUND_TIMER_H \ No newline at end of file +#endif //TEAM_ROUND_TIMER_H diff --git a/game/shared/teamplayroundbased_gamerules.cpp b/game/shared/teamplayroundbased_gamerules.cpp index 6b3310ce..7bb73658 100644 --- a/game/shared/teamplayroundbased_gamerules.cpp +++ b/game/shared/teamplayroundbased_gamerules.cpp @@ -716,7 +716,7 @@ void CTeamplayRoundBasedRules::CheckWaitingForPlayers( void ) if ( m_hWaitingForPlayersTimer ) { variant_t sVariant; - sVariant.SetInt( m_flWaitingForPlayersTimeEnds - gpGlobals->curtime ); + sVariant.SetInt( (int)(m_flWaitingForPlayersTimeEnds - gpGlobals->curtime) ); m_hWaitingForPlayersTimer->AcceptInput( "SetTime", NULL, NULL, sVariant, 0 ); } } @@ -777,7 +777,7 @@ void CTeamplayRoundBasedRules::CheckWaitingForPlayers( void ) m_hWaitingForPlayersTimer = (CTeamRoundTimer*)CBaseEntity::Create( "team_round_timer", vec3_origin, vec3_angle ); m_hWaitingForPlayersTimer->SetName( MAKE_STRING("zz_teamplay_waiting_timer") ); m_hWaitingForPlayersTimer->KeyValue( "show_in_hud", "1" ); - sVariant.SetInt( m_flWaitingForPlayersTimeEnds - gpGlobals->curtime ); + sVariant.SetInt( (int)(m_flWaitingForPlayersTimeEnds - gpGlobals->curtime) ); m_hWaitingForPlayersTimer->AcceptInput( "SetTime", NULL, NULL, sVariant, 0 ); m_hWaitingForPlayersTimer->AcceptInput( "Resume", NULL, NULL, sVariant, 0 ); m_hWaitingForPlayersTimer->AcceptInput( "Enable", NULL, NULL, sVariant, 0 ); @@ -1118,7 +1118,7 @@ CGameRulesRoundStateInfo* CTeamplayRoundBasedRules::State_LookupInfo( gamerules_ { GR_STATE_GAME_OVER, "GR_STATE_GAME_OVER", NULL, NULL, NULL }, }; - for ( int i=0; i < ARRAYSIZE( playerStateInfos ); i++ ) + for ( size_t i=0; i < ARRAYSIZE( playerStateInfos ); i++ ) { if ( playerStateInfos[i].m_iRoundState == state ) return &playerStateInfos[i]; @@ -1780,7 +1780,6 @@ void CTeamplayRoundBasedRules::RestartTournament( void ) #endif - //----------------------------------------------------------------------------- // Purpose: // Input : bForceRespawn - respawn player even if dead or dying diff --git a/game/shared/util_shared.cpp b/game/shared/util_shared.cpp index 5f2218f7..068e956e 100644 --- a/game/shared/util_shared.cpp +++ b/game/shared/util_shared.cpp @@ -1,1070 +1,1072 @@ -//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// -// -// Purpose: -// -//=============================================================================// - -#include "cbase.h" -#include "mathlib/mathlib.h" -#include "util_shared.h" -#include "model_types.h" -#include "convar.h" -#include "IEffects.h" -#include "vphysics/object_hash.h" -#include "mathlib/IceKey.H" -#include "checksum_crc.h" -#include "particle_parse.h" -#include "KeyValues.h" - -#ifdef CLIENT_DLL - #include "c_te_effect_dispatch.h" -#else - #include "te_effect_dispatch.h" - -bool NPC_CheckBrushExclude( CBaseEntity *pEntity, CBaseEntity *pBrush ); -#endif - - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -ConVar r_visualizetraces( "r_visualizetraces", "0", FCVAR_CHEAT ); -ConVar developer("developer", "0", 0, "Set developer message level" ); // developer mode - -float UTIL_VecToYaw( const Vector &vec ) -{ - if (vec.y == 0 && vec.x == 0) - return 0; - - float yaw = atan2( vec.y, vec.x ); - - yaw = RAD2DEG(yaw); - - if (yaw < 0) - yaw += 360; - - return yaw; -} - - -float UTIL_VecToPitch( const Vector &vec ) -{ - if (vec.y == 0 && vec.x == 0) - { - if (vec.z < 0) - return 180.0; - else - return -180.0; - } - - float dist = vec.Length2D(); - float pitch = atan2( -vec.z, dist ); - - pitch = RAD2DEG(pitch); - - return pitch; -} - -float UTIL_VecToYaw( const matrix3x4_t &matrix, const Vector &vec ) -{ - Vector tmp = vec; - VectorNormalize( tmp ); - - float x = matrix[0][0] * tmp.x + matrix[1][0] * tmp.y + matrix[2][0] * tmp.z; - float y = matrix[0][1] * tmp.x + matrix[1][1] * tmp.y + matrix[2][1] * tmp.z; - - if (x == 0.0f && y == 0.0f) - return 0.0f; - - float yaw = atan2( -y, x ); - - yaw = RAD2DEG(yaw); - - if (yaw < 0) - yaw += 360; - - return yaw; -} - - -float UTIL_VecToPitch( const matrix3x4_t &matrix, const Vector &vec ) -{ - Vector tmp = vec; - VectorNormalize( tmp ); - - float x = matrix[0][0] * tmp.x + matrix[1][0] * tmp.y + matrix[2][0] * tmp.z; - float z = matrix[0][2] * tmp.x + matrix[1][2] * tmp.y + matrix[2][2] * tmp.z; - - if (x == 0.0f && z == 0.0f) - return 0.0f; - - float pitch = atan2( z, x ); - - pitch = RAD2DEG(pitch); - - if (pitch < 0) - pitch += 360; - - return pitch; -} - -Vector UTIL_YawToVector( float yaw ) -{ - Vector ret; - - ret.z = 0; - float angle = DEG2RAD( yaw ); - SinCos( angle, &ret.y, &ret.x ); - - return ret; -} - -//----------------------------------------------------------------------------- -// Purpose: Helper function get get determinisitc random values for shared/prediction code -// Input : seedvalue - -// *module - -// line - -// Output : static int -//----------------------------------------------------------------------------- -static int SeedFileLineHash( int seedvalue, const char *sharedname, int additionalSeed ) -{ - CRC32_t retval; - - CRC32_Init( &retval ); - - CRC32_ProcessBuffer( &retval, (void *)&seedvalue, sizeof( int ) ); - CRC32_ProcessBuffer( &retval, (void *)&additionalSeed, sizeof( int ) ); - CRC32_ProcessBuffer( &retval, (void *)sharedname, Q_strlen( sharedname ) ); - - CRC32_Final( &retval ); - - return (int)( retval ); -} - -float SharedRandomFloat( const char *sharedname, float flMinVal, float flMaxVal, int additionalSeed /*=0*/ ) -{ - Assert( CBaseEntity::GetPredictionRandomSeed() != -1 ); - - int seed = SeedFileLineHash( CBaseEntity::GetPredictionRandomSeed(), sharedname, additionalSeed ); - RandomSeed( seed ); - return RandomFloat( flMinVal, flMaxVal ); -} - -int SharedRandomInt( const char *sharedname, int iMinVal, int iMaxVal, int additionalSeed /*=0*/ ) -{ - Assert( CBaseEntity::GetPredictionRandomSeed() != -1 ); - - int seed = SeedFileLineHash( CBaseEntity::GetPredictionRandomSeed(), sharedname, additionalSeed ); - RandomSeed( seed ); - return RandomInt( iMinVal, iMaxVal ); -} - -Vector SharedRandomVector( const char *sharedname, float minVal, float maxVal, int additionalSeed /*=0*/ ) -{ - Assert( CBaseEntity::GetPredictionRandomSeed() != -1 ); - - int seed = SeedFileLineHash( CBaseEntity::GetPredictionRandomSeed(), sharedname, additionalSeed ); - RandomSeed( seed ); - // HACK: Can't call RandomVector/Angle because it uses rand() not vstlib Random*() functions! - // Get a random vector. - Vector random; - random.x = RandomFloat( minVal, maxVal ); - random.y = RandomFloat( minVal, maxVal ); - random.z = RandomFloat( minVal, maxVal ); - return random; -} - -QAngle SharedRandomAngle( const char *sharedname, float minVal, float maxVal, int additionalSeed /*=0*/ ) -{ - Assert( CBaseEntity::GetPredictionRandomSeed() != -1 ); - - int seed = SeedFileLineHash( CBaseEntity::GetPredictionRandomSeed(), sharedname, additionalSeed ); - RandomSeed( seed ); - - // HACK: Can't call RandomVector/Angle because it uses rand() not vstlib Random*() functions! - // Get a random vector. - Vector random; - random.x = RandomFloat( minVal, maxVal ); - random.y = RandomFloat( minVal, maxVal ); - random.z = RandomFloat( minVal, maxVal ); - return QAngle( random.x, random.y, random.z ); -} - - -//----------------------------------------------------------------------------- -// -// Shared client/server trace filter code -// -//----------------------------------------------------------------------------- -bool PassServerEntityFilter( const IHandleEntity *pTouch, const IHandleEntity *pPass ) -{ - if ( !pPass ) - return true; - - if ( pTouch == pPass ) - return false; - - const CBaseEntity *pEntTouch = EntityFromEntityHandle( pTouch ); - const CBaseEntity *pEntPass = EntityFromEntityHandle( pPass ); - if ( !pEntTouch || !pEntPass ) - return true; - - // don't clip against own missiles - if ( pEntTouch->GetOwnerEntity() == pEntPass ) - return false; - - // don't clip against owner - if ( pEntPass->GetOwnerEntity() == pEntTouch ) - return false; - - - return true; -} - - -//----------------------------------------------------------------------------- -// A standard filter to be applied to just about everything. -//----------------------------------------------------------------------------- -bool StandardFilterRules( IHandleEntity *pHandleEntity, int fContentsMask ) -{ - CBaseEntity *pCollide = EntityFromEntityHandle( pHandleEntity ); - - // Static prop case... - if ( !pCollide ) - return true; - - SolidType_t solid = pCollide->GetSolid(); - const model_t *pModel = pCollide->GetModel(); - - if ( ( modelinfo->GetModelType( pModel ) != mod_brush ) || (solid != SOLID_BSP && solid != SOLID_VPHYSICS) ) - { - if ( (fContentsMask & CONTENTS_MONSTER) == 0 ) - return false; - } - - // This code is used to cull out tests against see-thru entities - if ( !(fContentsMask & CONTENTS_WINDOW) && pCollide->IsTransparent() ) - return false; - - // FIXME: this is to skip BSP models that are entities that can be - // potentially moved/deleted, similar to a monster but doors don't seem to - // be flagged as monsters - // FIXME: the FL_WORLDBRUSH looked promising, but it needs to be set on - // everything that's actually a worldbrush and it currently isn't - if ( !(fContentsMask & CONTENTS_MOVEABLE) && (pCollide->GetMoveType() == MOVETYPE_PUSH))// !(touch->flags & FL_WORLDBRUSH) ) - return false; - - return true; -} - - - -//----------------------------------------------------------------------------- -// Simple trace filter -//----------------------------------------------------------------------------- -CTraceFilterSimple::CTraceFilterSimple( const IHandleEntity *passedict, int collisionGroup ) -{ - m_pPassEnt = passedict; - m_collisionGroup = collisionGroup; -} - - -//----------------------------------------------------------------------------- -// The trace filter! -//----------------------------------------------------------------------------- -bool CTraceFilterSimple::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - if ( !StandardFilterRules( pHandleEntity, contentsMask ) ) - return false; - - if ( m_pPassEnt ) - { - if ( !PassServerEntityFilter( pHandleEntity, m_pPassEnt ) ) - { - return false; - } - } - - // Don't test if the game code tells us we should ignore this collision... - CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); - if ( !pEntity ) - return false; - if ( !pEntity->ShouldCollide( m_collisionGroup, contentsMask ) ) - return false; - if ( pEntity && !g_pGameRules->ShouldCollide( m_collisionGroup, pEntity->GetCollisionGroup() ) ) - return false; - - return true; -} - -//----------------------------------------------------------------------------- -// Purpose: Trace filter that only hits NPCs and the player -//----------------------------------------------------------------------------- -bool CTraceFilterOnlyNPCsAndPlayer::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - if ( CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ) ) - { - CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); - if ( !pEntity ) - return false; - -#ifdef CSTRIKE_DLL -#ifndef CLIENT_DLL - if ( pEntity->Classify() == CLASS_PLAYER_ALLY ) - return true; // CS hostages are CLASS_PLAYER_ALLY but not IsNPC() -#endif // !CLIENT_DLL -#endif // CSTRIKE_DLL - return (pEntity->IsNPC() || pEntity->IsPlayer()); - } - return false; -} - -//----------------------------------------------------------------------------- -// Purpose: Trace filter that only hits anything but NPCs and the player -//----------------------------------------------------------------------------- -bool CTraceFilterNoNPCsOrPlayer::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - if ( CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ) ) - { - CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); - if ( !pEntity ) - return NULL; -#ifndef CLIENT_DLL - if ( pEntity->Classify() == CLASS_PLAYER_ALLY ) - return false; // CS hostages are CLASS_PLAYER_ALLY but not IsNPC() -#endif - return (!pEntity->IsNPC() && !pEntity->IsPlayer()); - } - return false; -} - -//----------------------------------------------------------------------------- -// Trace filter that skips two entities -//----------------------------------------------------------------------------- -CTraceFilterSkipTwoEntities::CTraceFilterSkipTwoEntities( const IHandleEntity *passentity, const IHandleEntity *passentity2, int collisionGroup ) : - BaseClass( passentity, collisionGroup ), m_pPassEnt2(passentity2) -{ -} - -bool CTraceFilterSkipTwoEntities::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - Assert( pHandleEntity ); - if ( !PassServerEntityFilter( pHandleEntity, m_pPassEnt2 ) ) - return false; - - return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); -} - - -//----------------------------------------------------------------------------- -// Trace filter that can take a list of entities to ignore -//----------------------------------------------------------------------------- -CTraceFilterSimpleList::CTraceFilterSimpleList( int collisionGroup ) : - CTraceFilterSimple( NULL, collisionGroup ) -{ -} - - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -bool CTraceFilterSimpleList::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - if ( m_PassEntities.Find(pHandleEntity) != m_PassEntities.InvalidIndex() ) - return false; - - return CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Add an entity to my list of entities to ignore in the trace -//----------------------------------------------------------------------------- -void CTraceFilterSimpleList::AddEntityToIgnore( IHandleEntity *pEntity ) -{ - m_PassEntities.AddToTail( pEntity ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Custom trace filter used for NPC LOS traces -//----------------------------------------------------------------------------- -CTraceFilterLOS::CTraceFilterLOS( IHandleEntity *pHandleEntity, int collisionGroup, IHandleEntity *pHandleEntity2 ) : - CTraceFilterSkipTwoEntities( pHandleEntity, pHandleEntity2, collisionGroup ) -{ -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -bool CTraceFilterLOS::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); - - if ( !pEntity->BlocksLOS() ) - return false; - - return CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ); -} - -//----------------------------------------------------------------------------- -// Trace filter that can take a classname to ignore -//----------------------------------------------------------------------------- -CTraceFilterSkipClassname::CTraceFilterSkipClassname( const IHandleEntity *passentity, const char *pchClassname, int collisionGroup ) : -CTraceFilterSimple( passentity, collisionGroup ), m_pchClassname( pchClassname ) -{ -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -bool CTraceFilterSkipClassname::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); - if ( !pEntity || FClassnameIs( pEntity, m_pchClassname ) ) - return false; - - return CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ); -} - -//----------------------------------------------------------------------------- -// Trace filter that skips two classnames -//----------------------------------------------------------------------------- -CTraceFilterSkipTwoClassnames::CTraceFilterSkipTwoClassnames( const IHandleEntity *passentity, const char *pchClassname, const char *pchClassname2, int collisionGroup ) : -BaseClass( passentity, pchClassname, collisionGroup ), m_pchClassname2(pchClassname2) -{ -} - -bool CTraceFilterSkipTwoClassnames::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); - if ( !pEntity || FClassnameIs( pEntity, m_pchClassname2 ) ) - return false; - - return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); -} - -//----------------------------------------------------------------------------- -// Trace filter that can take a list of entities to ignore -//----------------------------------------------------------------------------- -CTraceFilterSimpleClassnameList::CTraceFilterSimpleClassnameList( const IHandleEntity *passentity, int collisionGroup ) : -CTraceFilterSimple( passentity, collisionGroup ) -{ -} - - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -bool CTraceFilterSimpleClassnameList::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); - if ( !pEntity ) - return false; - - for ( int i = 0; i < m_PassClassnames.Count(); ++i ) - { - if ( FClassnameIs( pEntity, m_PassClassnames[ i ] ) ) - return false; - } - - return CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ); -} - - -//----------------------------------------------------------------------------- -// Purpose: Add an entity to my list of entities to ignore in the trace -//----------------------------------------------------------------------------- -void CTraceFilterSimpleClassnameList::AddClassnameToIgnore( const char *pchClassname ) -{ - m_PassClassnames.AddToTail( pchClassname ); -} - -CTraceFilterChain::CTraceFilterChain( ITraceFilter *pTraceFilter1, ITraceFilter *pTraceFilter2 ) -{ - m_pTraceFilter1 = pTraceFilter1; - m_pTraceFilter2 = pTraceFilter2; -} - -bool CTraceFilterChain::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) -{ - bool bResult1 = true; - bool bResult2 = true; - - if ( m_pTraceFilter1 ) - bResult1 = m_pTraceFilter1->ShouldHitEntity( pHandleEntity, contentsMask ); - - if ( m_pTraceFilter2 ) - bResult2 = m_pTraceFilter2->ShouldHitEntity( pHandleEntity, contentsMask ); - - return ( bResult1 && bResult2 ); -} - -//----------------------------------------------------------------------------- -// Sweeps against a particular model, using collision rules -//----------------------------------------------------------------------------- -void UTIL_TraceModel( const Vector &vecStart, const Vector &vecEnd, const Vector &hullMin, - const Vector &hullMax, CBaseEntity *pentModel, int collisionGroup, trace_t *ptr ) -{ - // Cull it.... - if ( pentModel && pentModel->ShouldCollide( collisionGroup, MASK_ALL ) ) - { - Ray_t ray; - ray.Init( vecStart, vecEnd, hullMin, hullMax ); - enginetrace->ClipRayToEntity( ray, MASK_ALL, pentModel, ptr ); - } - else - { - memset( ptr, 0, sizeof(trace_t) ); - ptr->fraction = 1.0f; - } -} - -bool UTIL_EntityHasMatchingRootParent( CBaseEntity *pRootParent, CBaseEntity *pEntity ) -{ - if ( pRootParent ) - { - // NOTE: Don't let siblings/parents collide. - if ( pRootParent == pEntity->GetRootMoveParent() ) - return true; - if ( pEntity->GetOwnerEntity() && pRootParent == pEntity->GetOwnerEntity()->GetRootMoveParent() ) - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -// Sweep an entity from the starting to the ending position -//----------------------------------------------------------------------------- -class CTraceFilterEntity : public CTraceFilterSimple -{ - DECLARE_CLASS( CTraceFilterEntity, CTraceFilterSimple ); - -public: - CTraceFilterEntity( CBaseEntity *pEntity, int nCollisionGroup ) - : CTraceFilterSimple( pEntity, nCollisionGroup ) - { - m_pRootParent = pEntity->GetRootMoveParent(); - m_pEntity = pEntity; - m_checkHash = g_EntityCollisionHash->IsObjectInHash(pEntity); - } - - bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) - { - CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); - if ( !pEntity ) - return false; - - // Check parents against each other - // NOTE: Don't let siblings/parents collide. - if ( UTIL_EntityHasMatchingRootParent( m_pRootParent, pEntity ) ) - return false; - - if ( m_checkHash ) - { - if ( g_EntityCollisionHash->IsObjectPairInHash( m_pEntity, pEntity ) ) - return false; - } - -#ifndef CLIENT_DLL - if ( m_pEntity->IsNPC() ) - { - if ( NPC_CheckBrushExclude( m_pEntity, pEntity ) ) - return false; - - } -#endif - - return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); - } - -private: - - CBaseEntity *m_pRootParent; - CBaseEntity *m_pEntity; - bool m_checkHash; -}; - -class CTraceFilterEntityIgnoreOther : public CTraceFilterEntity -{ - DECLARE_CLASS( CTraceFilterEntityIgnoreOther, CTraceFilterEntity ); -public: - CTraceFilterEntityIgnoreOther( CBaseEntity *pEntity, const IHandleEntity *pIgnore, int nCollisionGroup ) : - CTraceFilterEntity( pEntity, nCollisionGroup ), m_pIgnoreOther( pIgnore ) - { - } - - bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) - { - if ( pHandleEntity == m_pIgnoreOther ) - return false; - - return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); - } - -private: - const IHandleEntity *m_pIgnoreOther; -}; - -//----------------------------------------------------------------------------- -// Sweeps a particular entity through the world -//----------------------------------------------------------------------------- -void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, unsigned int mask, trace_t *ptr ) -{ - ICollideable *pCollision = pEntity->GetCollideable(); - - // Adding this assertion here so game code catches it, but really the assertion belongs in the engine - // because one day, rotated collideables will work! - Assert( pCollision->GetCollisionAngles() == vec3_angle ); - - CTraceFilterEntity traceFilter( pEntity, pCollision->GetCollisionGroup() ); - -#ifdef PORTAL - UTIL_Portal_TraceEntity( pEntity, vecAbsStart, vecAbsEnd, mask, &traceFilter, ptr ); -#else - enginetrace->SweepCollideable( pCollision, vecAbsStart, vecAbsEnd, pCollision->GetCollisionAngles(), mask, &traceFilter, ptr ); -#endif -} - -void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, - unsigned int mask, const IHandleEntity *pIgnore, int nCollisionGroup, trace_t *ptr ) -{ - ICollideable *pCollision; - pCollision = pEntity->GetCollideable(); - - // Adding this assertion here so game code catches it, but really the assertion belongs in the engine - // because one day, rotated collideables will work! - Assert( pCollision->GetCollisionAngles() == vec3_angle ); - - CTraceFilterEntityIgnoreOther traceFilter( pEntity, pIgnore, nCollisionGroup ); - -#ifdef PORTAL - UTIL_Portal_TraceEntity( pEntity, vecAbsStart, vecAbsEnd, mask, &traceFilter, ptr ); -#else - enginetrace->SweepCollideable( pCollision, vecAbsStart, vecAbsEnd, pCollision->GetCollisionAngles(), mask, &traceFilter, ptr ); -#endif -} - -void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, - unsigned int mask, ITraceFilter *pFilter, trace_t *ptr ) -{ - ICollideable *pCollision; - pCollision = pEntity->GetCollideable(); - - // Adding this assertion here so game code catches it, but really the assertion belongs in the engine - // because one day, rotated collideables will work! - Assert( pCollision->GetCollisionAngles() == vec3_angle ); - -#ifdef PORTAL - UTIL_Portal_TraceEntity( pEntity, vecAbsStart, vecAbsEnd, mask, pFilter, ptr ); -#else - enginetrace->SweepCollideable( pCollision, vecAbsStart, vecAbsEnd, pCollision->GetCollisionAngles(), mask, pFilter, ptr ); -#endif -} - -// ---- -// This is basically a regular TraceLine that uses the FilterEntity filter. -void UTIL_TraceLineFilterEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, - unsigned int mask, int nCollisionGroup, trace_t *ptr ) -{ - CTraceFilterEntity traceFilter( pEntity, nCollisionGroup ); - UTIL_TraceLine( vecAbsStart, vecAbsEnd, mask, &traceFilter, ptr ); -} - -void UTIL_ClipTraceToPlayers( const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, ITraceFilter *filter, trace_t *tr ) -{ - trace_t playerTrace; - Ray_t ray; - float smallestFraction = tr->fraction; - const float maxRange = 60.0f; - - ray.Init( vecAbsStart, vecAbsEnd ); - - for ( int k = 1; k <= gpGlobals->maxClients; ++k ) - { - CBasePlayer *player = UTIL_PlayerByIndex( k ); - - if ( !player || !player->IsAlive() ) - continue; - -#ifdef CLIENT_DLL - if ( player->IsDormant() ) - continue; -#endif // CLIENT_DLL - - if ( filter && filter->ShouldHitEntity( player, mask ) == false ) - continue; - - float range = DistanceToRay( player->WorldSpaceCenter(), vecAbsStart, vecAbsEnd ); - if ( range < 0.0f || range > maxRange ) - continue; - - enginetrace->ClipRayToEntity( ray, mask|CONTENTS_HITBOX, player, &playerTrace ); - if ( playerTrace.fraction < smallestFraction ) - { - // we shortened the ray - save off the trace - *tr = playerTrace; - smallestFraction = playerTrace.fraction; - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: Make a tracer using a particle effect -//----------------------------------------------------------------------------- -void UTIL_ParticleTracer( const char *pszTracerEffectName, const Vector &vecStart, const Vector &vecEnd, - int iEntIndex, int iAttachment, bool bWhiz ) -{ - int iParticleIndex = GetParticleSystemIndex( pszTracerEffectName ); - UTIL_Tracer( vecStart, vecEnd, iEntIndex, iAttachment, 0, bWhiz, "ParticleTracer", iParticleIndex ); -} - -//----------------------------------------------------------------------------- -// Purpose: Make a tracer effect using the old, non-particle system, tracer effects. -//----------------------------------------------------------------------------- -void UTIL_Tracer( const Vector &vecStart, const Vector &vecEnd, int iEntIndex, - int iAttachment, float flVelocity, bool bWhiz, const char *pCustomTracerName, int iParticleID ) -{ - CEffectData data; - data.m_vStart = vecStart; - data.m_vOrigin = vecEnd; -#ifdef CLIENT_DLL - data.m_hEntity = ClientEntityList().EntIndexToHandle( iEntIndex ); -#else - data.m_nEntIndex = iEntIndex; -#endif - data.m_flScale = flVelocity; - data.m_nHitBox = iParticleID; - - // Flags - if ( bWhiz ) - { - data.m_fFlags |= TRACER_FLAG_WHIZ; - } - - if ( iAttachment != TRACER_DONT_USE_ATTACHMENT ) - { - data.m_fFlags |= TRACER_FLAG_USEATTACHMENT; - data.m_nAttachmentIndex = iAttachment; - } - - // Fire it off - if ( pCustomTracerName ) - { - DispatchEffect( pCustomTracerName, data ); - } - else - { - DispatchEffect( "Tracer", data ); - } -} - - -void UTIL_BloodDrips( const Vector &origin, const Vector &direction, int color, int amount ) -{ - if ( !UTIL_ShouldShowBlood( color ) ) - return; - - if ( color == DONT_BLEED || amount == 0 ) - return; - - if ( g_Language.GetInt() == LANGUAGE_GERMAN && color == BLOOD_COLOR_RED ) - color = 0; - - if ( g_pGameRules->IsMultiplayer() ) - { - // scale up blood effect in multiplayer for better visibility - amount *= 5; - } - - if ( amount > 255 ) - amount = 255; - - if (color == BLOOD_COLOR_MECH) - { - g_pEffects->Sparks(origin); - if (random->RandomFloat(0, 2) >= 1) - { - UTIL_Smoke(origin, random->RandomInt(10, 15), 10); - } - } - else - { - // Normal blood impact - UTIL_BloodImpact( origin, direction, color, amount ); - } -} - -//----------------------------------------------------------------------------- -// Purpose: Returns low violence settings -//----------------------------------------------------------------------------- -static ConVar violence_hblood( "violence_hblood","1", 0, "Draw human blood" ); -static ConVar violence_hgibs( "violence_hgibs","1", 0, "Show human gib entities" ); -static ConVar violence_ablood( "violence_ablood","1", 0, "Draw alien blood" ); -static ConVar violence_agibs( "violence_agibs","1", 0, "Show alien gib entities" ); - -bool UTIL_IsLowViolence( void ) -{ - // These convars are no longer necessary -- the engine is the final arbiter of - // violence settings -- but they're here for legacy support and for testing low - // violence when the engine is in normal violence mode. - if ( !violence_hblood.GetBool() || !violence_ablood.GetBool() || !violence_hgibs.GetBool() || !violence_agibs.GetBool() ) - return true; - - return engine->IsLowViolence(); -} - -bool UTIL_ShouldShowBlood( int color ) -{ - if ( color != DONT_BLEED ) - { - if ( color == BLOOD_COLOR_RED ) - { - return violence_hblood.GetBool(); - } - else - { - return violence_ablood.GetBool(); - } - } - return false; -} - - -//------------------------------------------------------------------------------ -// Purpose : Use trace to pass a specific decal type to the entity being decaled -// Input : -// Output : -//------------------------------------------------------------------------------ -void UTIL_DecalTrace( trace_t *pTrace, char const *decalName ) -{ - if (pTrace->fraction == 1.0) - return; - - CBaseEntity *pEntity = pTrace->m_pEnt; - pEntity->DecalTrace( pTrace, decalName ); -} - - -void UTIL_BloodDecalTrace( trace_t *pTrace, int bloodColor ) -{ - if ( UTIL_ShouldShowBlood( bloodColor ) ) - { - if ( bloodColor == BLOOD_COLOR_RED ) - { - UTIL_DecalTrace( pTrace, "Blood" ); - } - else - { - UTIL_DecalTrace( pTrace, "YellowBlood" ); - } - } -} - -//----------------------------------------------------------------------------- -// Purpose: -// Input : &pos - -// &dir - -// color - -// amount - -//----------------------------------------------------------------------------- -void UTIL_BloodImpact( const Vector &pos, const Vector &dir, int color, int amount ) -{ - CEffectData data; - - data.m_vOrigin = pos; - data.m_vNormal = dir; - data.m_flScale = (float)amount; - data.m_nColor = (unsigned char)color; - - DispatchEffect( "bloodimpact", data ); -} - -bool UTIL_IsSpaceEmpty( CBaseEntity *pMainEnt, const Vector &vMin, const Vector &vMax ) -{ - Vector vHalfDims = ( vMax - vMin ) * 0.5f; - Vector vCenter = vMin + vHalfDims; - - trace_t trace; - UTIL_TraceHull( vCenter, vCenter, -vHalfDims, vHalfDims, MASK_SOLID, pMainEnt, COLLISION_GROUP_NONE, &trace ); - - bool bClear = ( trace.fraction == 1 && trace.allsolid != 1 && (trace.startsolid != 1) ); - return bClear; -} - -void UTIL_StringToFloatArray( float *pVector, int count, const char *pString ) -{ - char *pstr, *pfront, tempString[128]; - int j; - - Q_strncpy( tempString, pString, sizeof(tempString) ); - pstr = pfront = tempString; - - for ( j = 0; j < count; j++ ) // lifted from pr_edict.c - { - pVector[j] = atof( pfront ); - - // skip any leading whitespace - while ( *pstr && *pstr <= ' ' ) - pstr++; - - // skip to next whitespace - while ( *pstr && *pstr > ' ' ) - pstr++; - - if (!*pstr) - break; - - pstr++; - pfront = pstr; - } - for ( j++; j < count; j++ ) - { - pVector[j] = 0; - } -} - -void UTIL_StringToVector( float *pVector, const char *pString ) -{ - UTIL_StringToFloatArray( pVector, 3, pString ); -} - -void UTIL_StringToIntArray( int *pVector, int count, const char *pString ) -{ - char *pstr, *pfront, tempString[128]; - int j; - - Q_strncpy( tempString, pString, sizeof(tempString) ); - pstr = pfront = tempString; - - for ( j = 0; j < count; j++ ) // lifted from pr_edict.c - { - pVector[j] = atoi( pfront ); - - while ( *pstr && *pstr != ' ' ) - pstr++; - if (!*pstr) - break; - pstr++; - pfront = pstr; - } - - for ( j++; j < count; j++ ) - { - pVector[j] = 0; - } -} - -void UTIL_StringToColor32( color32 *color, const char *pString ) -{ - int tmp[4]; - UTIL_StringToIntArray( tmp, 4, pString ); - color->r = tmp[0]; - color->g = tmp[1]; - color->b = tmp[2]; - color->a = tmp[3]; -} - -#ifndef _XBOX -void UTIL_DecodeICE( unsigned char * buffer, int size, const unsigned char *key) -{ - if ( !key ) - return; - - IceKey ice( 0 ); // level 0 = 64bit key - ice.set( key ); // set key - - int blockSize = ice.blockSize(); - - unsigned char *temp = (unsigned char *)_alloca( PAD_NUMBER( size, blockSize ) ); - unsigned char *p1 = buffer; - unsigned char *p2 = temp; - - // encrypt data in 8 byte blocks - int bytesLeft = size; - while ( bytesLeft >= blockSize ) - { - ice.decrypt( p1, p2 ); - bytesLeft -= blockSize; - p1+=blockSize; - p2+=blockSize; - } - - // copy encrypted data back to original buffer - Q_memcpy( buffer, temp, size-bytesLeft ); -} -#endif - -// work-around since client header doesn't like inlined gpGlobals->curtime -float IntervalTimer::Now( void ) const -{ - return gpGlobals->curtime; -} - -// work-around since client header doesn't like inlined gpGlobals->curtime -float CountdownTimer::Now( void ) const -{ - return gpGlobals->curtime; -} - - -#ifdef CLIENT_DLL - CBasePlayer *UTIL_PlayerByIndex( int entindex ) - { - return ToBasePlayer( ClientEntityList().GetEnt( entindex ) ); - } -#endif - - -unsigned short UTIL_GetAchievementEventMask( void ) -{ - CRC32_t mapCRC; - CRC32_Init( &mapCRC ); - - char lowercase[ 256 ]; -#ifdef CLIENT_DLL - Q_FileBase( engine->GetLevelName(), lowercase, sizeof( lowercase ) ); -#else - Q_strncpy( lowercase, STRING( gpGlobals->mapname ), sizeof( lowercase ) ); -#endif - Q_strlower( lowercase ); - - CRC32_ProcessBuffer( &mapCRC, lowercase, Q_strlen( lowercase ) ); - CRC32_Final( &mapCRC ); - - return ( mapCRC & 0xFFFF ); -} - -char* ReadAndAllocStringValue( KeyValues *pSub, const char *pName, const char *pFilename ) -{ - const char *pValue = pSub->GetString( pName, NULL ); - if ( !pValue ) - { - if ( pFilename ) - { - DevWarning( "Can't get key value '%s' from file '%s'.\n", pName, pFilename ); - } - return ""; - } - - int len = Q_strlen( pValue ) + 1; - char *pAlloced = new char[ len ]; - Assert( pAlloced ); - Q_strncpy( pAlloced, pValue, len ); - return pAlloced; -} - -int UTIL_StringFieldToInt( const char *szValue, const char **pValueStrings, int iNumStrings ) -{ - if ( !szValue || !szValue[0] ) - return -1; - - for ( int i = 0; i < iNumStrings; i++ ) - { - if ( FStrEq(szValue, pValueStrings[i]) ) - return i; - } - - Assert(0); - return -1; -} +//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#include "cbase.h" +#include "mathlib/mathlib.h" +#include "util_shared.h" +#include "model_types.h" +#include "convar.h" +#include "IEffects.h" +#include "vphysics/object_hash.h" +#include "mathlib/IceKey.H" +#include "checksum_crc.h" +#include "particle_parse.h" +#include "KeyValues.h" + +#ifdef CLIENT_DLL + #include "c_te_effect_dispatch.h" +#else + #include "te_effect_dispatch.h" + +bool NPC_CheckBrushExclude( CBaseEntity *pEntity, CBaseEntity *pBrush ); +#endif + + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +ConVar r_visualizetraces( "r_visualizetraces", "0", FCVAR_CHEAT ); +ConVar developer("developer", "0", 0, "Set developer message level" ); // developer mode + +float UTIL_VecToYaw( const Vector &vec ) +{ + if (vec.y == 0 && vec.x == 0) + return 0; + + float yaw = atan2( vec.y, vec.x ); + + yaw = RAD2DEG(yaw); + + if (yaw < 0) + yaw += 360; + + return yaw; +} + + +float UTIL_VecToPitch( const Vector &vec ) +{ + if (vec.y == 0 && vec.x == 0) + { + if (vec.z < 0) + return 180.0; + else + return -180.0; + } + + float dist = vec.Length2D(); + float pitch = atan2( -vec.z, dist ); + + pitch = RAD2DEG(pitch); + + return pitch; +} + +float UTIL_VecToYaw( const matrix3x4_t &matrix, const Vector &vec ) +{ + Vector tmp = vec; + VectorNormalize( tmp ); + + float x = matrix[0][0] * tmp.x + matrix[1][0] * tmp.y + matrix[2][0] * tmp.z; + float y = matrix[0][1] * tmp.x + matrix[1][1] * tmp.y + matrix[2][1] * tmp.z; + + if (x == 0.0f && y == 0.0f) + return 0.0f; + + float yaw = atan2( -y, x ); + + yaw = RAD2DEG(yaw); + + if (yaw < 0) + yaw += 360; + + return yaw; +} + + +float UTIL_VecToPitch( const matrix3x4_t &matrix, const Vector &vec ) +{ + Vector tmp = vec; + VectorNormalize( tmp ); + + float x = matrix[0][0] * tmp.x + matrix[1][0] * tmp.y + matrix[2][0] * tmp.z; + float z = matrix[0][2] * tmp.x + matrix[1][2] * tmp.y + matrix[2][2] * tmp.z; + + if (x == 0.0f && z == 0.0f) + return 0.0f; + + float pitch = atan2( z, x ); + + pitch = RAD2DEG(pitch); + + if (pitch < 0) + pitch += 360; + + return pitch; +} + +Vector UTIL_YawToVector( float yaw ) +{ + Vector ret; + + ret.z = 0; + float angle = DEG2RAD( yaw ); + SinCos( angle, &ret.y, &ret.x ); + + return ret; +} + +//----------------------------------------------------------------------------- +// Purpose: Helper function get get determinisitc random values for shared/prediction code +// Input : seedvalue - +// *module - +// line - +// Output : static int +//----------------------------------------------------------------------------- +static int SeedFileLineHash( int seedvalue, const char *sharedname, int additionalSeed ) +{ + CRC32_t retval; + + CRC32_Init( &retval ); + + CRC32_ProcessBuffer( &retval, (void *)&seedvalue, sizeof( int ) ); + CRC32_ProcessBuffer( &retval, (void *)&additionalSeed, sizeof( int ) ); + CRC32_ProcessBuffer( &retval, (void *)sharedname, Q_strlen( sharedname ) ); + + CRC32_Final( &retval ); + + return (int)( retval ); +} + +float SharedRandomFloat( const char *sharedname, float flMinVal, float flMaxVal, int additionalSeed /*=0*/ ) +{ + Assert( CBaseEntity::GetPredictionRandomSeed() != -1 ); + + int seed = SeedFileLineHash( CBaseEntity::GetPredictionRandomSeed(), sharedname, additionalSeed ); + RandomSeed( seed ); + return RandomFloat( flMinVal, flMaxVal ); +} + +int SharedRandomInt( const char *sharedname, int iMinVal, int iMaxVal, int additionalSeed /*=0*/ ) +{ + Assert( CBaseEntity::GetPredictionRandomSeed() != -1 ); + + int seed = SeedFileLineHash( CBaseEntity::GetPredictionRandomSeed(), sharedname, additionalSeed ); + RandomSeed( seed ); + return RandomInt( iMinVal, iMaxVal ); +} + +Vector SharedRandomVector( const char *sharedname, float minVal, float maxVal, int additionalSeed /*=0*/ ) +{ + Assert( CBaseEntity::GetPredictionRandomSeed() != -1 ); + + int seed = SeedFileLineHash( CBaseEntity::GetPredictionRandomSeed(), sharedname, additionalSeed ); + RandomSeed( seed ); + // HACK: Can't call RandomVector/Angle because it uses rand() not vstlib Random*() functions! + // Get a random vector. + Vector random; + random.x = RandomFloat( minVal, maxVal ); + random.y = RandomFloat( minVal, maxVal ); + random.z = RandomFloat( minVal, maxVal ); + return random; +} + +QAngle SharedRandomAngle( const char *sharedname, float minVal, float maxVal, int additionalSeed /*=0*/ ) +{ + Assert( CBaseEntity::GetPredictionRandomSeed() != -1 ); + + int seed = SeedFileLineHash( CBaseEntity::GetPredictionRandomSeed(), sharedname, additionalSeed ); + RandomSeed( seed ); + + // HACK: Can't call RandomVector/Angle because it uses rand() not vstlib Random*() functions! + // Get a random vector. + Vector random; + random.x = RandomFloat( minVal, maxVal ); + random.y = RandomFloat( minVal, maxVal ); + random.z = RandomFloat( minVal, maxVal ); + return QAngle( random.x, random.y, random.z ); +} + + +//----------------------------------------------------------------------------- +// +// Shared client/server trace filter code +// +//----------------------------------------------------------------------------- +bool PassServerEntityFilter( const IHandleEntity *pTouch, const IHandleEntity *pPass ) +{ + if ( !pPass ) + return true; + + if ( pTouch == pPass ) + return false; + + const CBaseEntity *pEntTouch = EntityFromEntityHandle( pTouch ); + const CBaseEntity *pEntPass = EntityFromEntityHandle( pPass ); + if ( !pEntTouch || !pEntPass ) + return true; + + // don't clip against own missiles + if ( pEntTouch->GetOwnerEntity() == pEntPass ) + return false; + + // don't clip against owner + if ( pEntPass->GetOwnerEntity() == pEntTouch ) + return false; + + + return true; +} + + +//----------------------------------------------------------------------------- +// A standard filter to be applied to just about everything. +//----------------------------------------------------------------------------- +bool StandardFilterRules( IHandleEntity *pHandleEntity, int fContentsMask ) +{ + CBaseEntity *pCollide = EntityFromEntityHandle( pHandleEntity ); + + // Static prop case... + if ( !pCollide ) + return true; + + SolidType_t solid = pCollide->GetSolid(); + const model_t *pModel = pCollide->GetModel(); + + if ( ( modelinfo->GetModelType( pModel ) != mod_brush ) || (solid != SOLID_BSP && solid != SOLID_VPHYSICS) ) + { + if ( (fContentsMask & CONTENTS_MONSTER) == 0 ) + return false; + } + + // This code is used to cull out tests against see-thru entities + if ( !(fContentsMask & CONTENTS_WINDOW) && pCollide->IsTransparent() ) + return false; + + // FIXME: this is to skip BSP models that are entities that can be + // potentially moved/deleted, similar to a monster but doors don't seem to + // be flagged as monsters + // FIXME: the FL_WORLDBRUSH looked promising, but it needs to be set on + // everything that's actually a worldbrush and it currently isn't + if ( !(fContentsMask & CONTENTS_MOVEABLE) && (pCollide->GetMoveType() == MOVETYPE_PUSH))// !(touch->flags & FL_WORLDBRUSH) ) + return false; + + return true; +} + + + +//----------------------------------------------------------------------------- +// Simple trace filter +//----------------------------------------------------------------------------- +CTraceFilterSimple::CTraceFilterSimple( const IHandleEntity *passedict, int collisionGroup ) +{ + m_pPassEnt = passedict; + m_collisionGroup = collisionGroup; +} + + +//----------------------------------------------------------------------------- +// The trace filter! +//----------------------------------------------------------------------------- +bool CTraceFilterSimple::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + if ( !StandardFilterRules( pHandleEntity, contentsMask ) ) + return false; + + if ( m_pPassEnt ) + { + if ( !PassServerEntityFilter( pHandleEntity, m_pPassEnt ) ) + { + return false; + } + } + + // Don't test if the game code tells us we should ignore this collision... + CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); + if ( !pEntity ) + return false; + if ( !pEntity->ShouldCollide( m_collisionGroup, contentsMask ) ) + return false; + if ( pEntity && !g_pGameRules->ShouldCollide( m_collisionGroup, pEntity->GetCollisionGroup() ) ) + return false; + + return true; +} + +//----------------------------------------------------------------------------- +// Purpose: Trace filter that only hits NPCs and the player +//----------------------------------------------------------------------------- +bool CTraceFilterOnlyNPCsAndPlayer::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + if ( CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ) ) + { + CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); + if ( !pEntity ) + return false; + +#ifdef CSTRIKE_DLL +#ifndef CLIENT_DLL + if ( pEntity->Classify() == CLASS_PLAYER_ALLY ) + return true; // CS hostages are CLASS_PLAYER_ALLY but not IsNPC() +#endif // !CLIENT_DLL +#endif // CSTRIKE_DLL + return (pEntity->IsNPC() || pEntity->IsPlayer()); + } + return false; +} + +//----------------------------------------------------------------------------- +// Purpose: Trace filter that only hits anything but NPCs and the player +//----------------------------------------------------------------------------- +bool CTraceFilterNoNPCsOrPlayer::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + if ( CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ) ) + { + CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); + if ( !pEntity ) + return false; +#ifndef CLIENT_DLL + if ( pEntity->Classify() == CLASS_PLAYER_ALLY ) + return false; // CS hostages are CLASS_PLAYER_ALLY but not IsNPC() +#endif + return (!pEntity->IsNPC() && !pEntity->IsPlayer()); + } + return false; +} + +//----------------------------------------------------------------------------- +// Trace filter that skips two entities +//----------------------------------------------------------------------------- +CTraceFilterSkipTwoEntities::CTraceFilterSkipTwoEntities( const IHandleEntity *passentity, const IHandleEntity *passentity2, int collisionGroup ) : + BaseClass( passentity, collisionGroup ), m_pPassEnt2(passentity2) +{ +} + +bool CTraceFilterSkipTwoEntities::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + Assert( pHandleEntity ); + if ( !PassServerEntityFilter( pHandleEntity, m_pPassEnt2 ) ) + return false; + + return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); +} + + +//----------------------------------------------------------------------------- +// Trace filter that can take a list of entities to ignore +//----------------------------------------------------------------------------- +CTraceFilterSimpleList::CTraceFilterSimpleList( int collisionGroup ) : + CTraceFilterSimple( NULL, collisionGroup ) +{ +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CTraceFilterSimpleList::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + if ( m_PassEntities.Find(pHandleEntity) != m_PassEntities.InvalidIndex() ) + return false; + + return CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Add an entity to my list of entities to ignore in the trace +//----------------------------------------------------------------------------- +void CTraceFilterSimpleList::AddEntityToIgnore( IHandleEntity *pEntity ) +{ + m_PassEntities.AddToTail( pEntity ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Custom trace filter used for NPC LOS traces +//----------------------------------------------------------------------------- +CTraceFilterLOS::CTraceFilterLOS( IHandleEntity *pHandleEntity, int collisionGroup, IHandleEntity *pHandleEntity2 ) : + CTraceFilterSkipTwoEntities( pHandleEntity, pHandleEntity2, collisionGroup ) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CTraceFilterLOS::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); + + if ( !pEntity->BlocksLOS() ) + return false; + + return CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ); +} + +//----------------------------------------------------------------------------- +// Trace filter that can take a classname to ignore +//----------------------------------------------------------------------------- +CTraceFilterSkipClassname::CTraceFilterSkipClassname( const IHandleEntity *passentity, const char *pchClassname, int collisionGroup ) : +CTraceFilterSimple( passentity, collisionGroup ), m_pchClassname( pchClassname ) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CTraceFilterSkipClassname::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); + if ( !pEntity || FClassnameIs( pEntity, m_pchClassname ) ) + return false; + + return CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ); +} + +//----------------------------------------------------------------------------- +// Trace filter that skips two classnames +//----------------------------------------------------------------------------- +CTraceFilterSkipTwoClassnames::CTraceFilterSkipTwoClassnames( const IHandleEntity *passentity, const char *pchClassname, const char *pchClassname2, int collisionGroup ) : +BaseClass( passentity, pchClassname, collisionGroup ), m_pchClassname2(pchClassname2) +{ +} + +bool CTraceFilterSkipTwoClassnames::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); + if ( !pEntity || FClassnameIs( pEntity, m_pchClassname2 ) ) + return false; + + return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); +} + +//----------------------------------------------------------------------------- +// Trace filter that can take a list of entities to ignore +//----------------------------------------------------------------------------- +CTraceFilterSimpleClassnameList::CTraceFilterSimpleClassnameList( const IHandleEntity *passentity, int collisionGroup ) : +CTraceFilterSimple( passentity, collisionGroup ) +{ +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CTraceFilterSimpleClassnameList::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); + if ( !pEntity ) + return false; + + for ( int i = 0; i < m_PassClassnames.Count(); ++i ) + { + if ( FClassnameIs( pEntity, m_PassClassnames[ i ] ) ) + return false; + } + + return CTraceFilterSimple::ShouldHitEntity( pHandleEntity, contentsMask ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Add an entity to my list of entities to ignore in the trace +//----------------------------------------------------------------------------- +void CTraceFilterSimpleClassnameList::AddClassnameToIgnore( const char *pchClassname ) +{ + m_PassClassnames.AddToTail( pchClassname ); +} + +CTraceFilterChain::CTraceFilterChain( ITraceFilter *pTraceFilter1, ITraceFilter *pTraceFilter2 ) +{ + m_pTraceFilter1 = pTraceFilter1; + m_pTraceFilter2 = pTraceFilter2; +} + +bool CTraceFilterChain::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) +{ + bool bResult1 = true; + bool bResult2 = true; + + if ( m_pTraceFilter1 ) + bResult1 = m_pTraceFilter1->ShouldHitEntity( pHandleEntity, contentsMask ); + + + if ( m_pTraceFilter2 ) + bResult2 = m_pTraceFilter2->ShouldHitEntity( pHandleEntity, contentsMask ); + + return ( bResult1 && bResult2 ); +} + +//----------------------------------------------------------------------------- +// Sweeps against a particular model, using collision rules +//----------------------------------------------------------------------------- +void UTIL_TraceModel( const Vector &vecStart, const Vector &vecEnd, const Vector &hullMin, + const Vector &hullMax, CBaseEntity *pentModel, int collisionGroup, trace_t *ptr ) +{ + // Cull it.... + if ( pentModel && pentModel->ShouldCollide( collisionGroup, MASK_ALL ) ) + { + Ray_t ray; + ray.Init( vecStart, vecEnd, hullMin, hullMax ); + enginetrace->ClipRayToEntity( ray, MASK_ALL, pentModel, ptr ); + } + else + { + memset( ptr, 0, sizeof(trace_t) ); + ptr->fraction = 1.0f; + } +} + +bool UTIL_EntityHasMatchingRootParent( CBaseEntity *pRootParent, CBaseEntity *pEntity ) +{ + if ( pRootParent ) + { + // NOTE: Don't let siblings/parents collide. + if ( pRootParent == pEntity->GetRootMoveParent() ) + return true; + if ( pEntity->GetOwnerEntity() && pRootParent == pEntity->GetOwnerEntity()->GetRootMoveParent() ) + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +// Sweep an entity from the starting to the ending position +//----------------------------------------------------------------------------- +class CTraceFilterEntity : public CTraceFilterSimple +{ + DECLARE_CLASS( CTraceFilterEntity, CTraceFilterSimple ); + +public: + CTraceFilterEntity( CBaseEntity *pEntity, int nCollisionGroup ) + : CTraceFilterSimple( pEntity, nCollisionGroup ) + { + m_pRootParent = pEntity->GetRootMoveParent(); + m_pEntity = pEntity; + m_checkHash = g_EntityCollisionHash->IsObjectInHash(pEntity); + } + + bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) + { + CBaseEntity *pEntity = EntityFromEntityHandle( pHandleEntity ); + if ( !pEntity ) + return false; + + // Check parents against each other + // NOTE: Don't let siblings/parents collide. + if ( UTIL_EntityHasMatchingRootParent( m_pRootParent, pEntity ) ) + return false; + + if ( m_checkHash ) + { + if ( g_EntityCollisionHash->IsObjectPairInHash( m_pEntity, pEntity ) ) + return false; + } + +#ifndef CLIENT_DLL + if ( m_pEntity->IsNPC() ) + { + if ( NPC_CheckBrushExclude( m_pEntity, pEntity ) ) + return false; + + } +#endif + + return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); + } + +private: + + CBaseEntity *m_pRootParent; + CBaseEntity *m_pEntity; + bool m_checkHash; +}; + +class CTraceFilterEntityIgnoreOther : public CTraceFilterEntity +{ + DECLARE_CLASS( CTraceFilterEntityIgnoreOther, CTraceFilterEntity ); +public: + CTraceFilterEntityIgnoreOther( CBaseEntity *pEntity, const IHandleEntity *pIgnore, int nCollisionGroup ) : + CTraceFilterEntity( pEntity, nCollisionGroup ), m_pIgnoreOther( pIgnore ) + { + } + + bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) + { + if ( pHandleEntity == m_pIgnoreOther ) + return false; + + return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); + } + +private: + const IHandleEntity *m_pIgnoreOther; +}; + +//----------------------------------------------------------------------------- +// Sweeps a particular entity through the world +//----------------------------------------------------------------------------- +void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, unsigned int mask, trace_t *ptr ) +{ + ICollideable *pCollision = pEntity->GetCollideable(); + + // Adding this assertion here so game code catches it, but really the assertion belongs in the engine + // because one day, rotated collideables will work! + Assert( pCollision->GetCollisionAngles() == vec3_angle ); + + CTraceFilterEntity traceFilter( pEntity, pCollision->GetCollisionGroup() ); + +#ifdef PORTAL + UTIL_Portal_TraceEntity( pEntity, vecAbsStart, vecAbsEnd, mask, &traceFilter, ptr ); +#else + enginetrace->SweepCollideable( pCollision, vecAbsStart, vecAbsEnd, pCollision->GetCollisionAngles(), mask, &traceFilter, ptr ); +#endif +} + +void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, + unsigned int mask, const IHandleEntity *pIgnore, int nCollisionGroup, trace_t *ptr ) +{ + ICollideable *pCollision; + pCollision = pEntity->GetCollideable(); + + // Adding this assertion here so game code catches it, but really the assertion belongs in the engine + // because one day, rotated collideables will work! + Assert( pCollision->GetCollisionAngles() == vec3_angle ); + + CTraceFilterEntityIgnoreOther traceFilter( pEntity, pIgnore, nCollisionGroup ); + +#ifdef PORTAL + UTIL_Portal_TraceEntity( pEntity, vecAbsStart, vecAbsEnd, mask, &traceFilter, ptr ); +#else + enginetrace->SweepCollideable( pCollision, vecAbsStart, vecAbsEnd, pCollision->GetCollisionAngles(), mask, &traceFilter, ptr ); +#endif +} + +void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, + unsigned int mask, ITraceFilter *pFilter, trace_t *ptr ) +{ + ICollideable *pCollision; + pCollision = pEntity->GetCollideable(); + + // Adding this assertion here so game code catches it, but really the assertion belongs in the engine + // because one day, rotated collideables will work! + Assert( pCollision->GetCollisionAngles() == vec3_angle ); + +#ifdef PORTAL + UTIL_Portal_TraceEntity( pEntity, vecAbsStart, vecAbsEnd, mask, pFilter, ptr ); +#else + enginetrace->SweepCollideable( pCollision, vecAbsStart, vecAbsEnd, pCollision->GetCollisionAngles(), mask, pFilter, ptr ); +#endif +} + +// ---- +// This is basically a regular TraceLine that uses the FilterEntity filter. +void UTIL_TraceLineFilterEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, + unsigned int mask, int nCollisionGroup, trace_t *ptr ) +{ + CTraceFilterEntity traceFilter( pEntity, nCollisionGroup ); + UTIL_TraceLine( vecAbsStart, vecAbsEnd, mask, &traceFilter, ptr ); +} + +void UTIL_ClipTraceToPlayers( const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, ITraceFilter *filter, trace_t *tr ) +{ + trace_t playerTrace; + Ray_t ray; + float smallestFraction = tr->fraction; + const float maxRange = 60.0f; + + ray.Init( vecAbsStart, vecAbsEnd ); + + for ( int k = 1; k <= gpGlobals->maxClients; ++k ) + { + CBasePlayer *player = UTIL_PlayerByIndex( k ); + + if ( !player || !player->IsAlive() ) + continue; + +#ifdef CLIENT_DLL + if ( player->IsDormant() ) + continue; +#endif // CLIENT_DLL + + if ( filter && filter->ShouldHitEntity( player, mask ) == false ) + continue; + + float range = DistanceToRay( player->WorldSpaceCenter(), vecAbsStart, vecAbsEnd ); + if ( range < 0.0f || range > maxRange ) + continue; + + enginetrace->ClipRayToEntity( ray, mask|CONTENTS_HITBOX, player, &playerTrace ); + if ( playerTrace.fraction < smallestFraction ) + { + // we shortened the ray - save off the trace + *tr = playerTrace; + smallestFraction = playerTrace.fraction; + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: Make a tracer using a particle effect +//----------------------------------------------------------------------------- +void UTIL_ParticleTracer( const char *pszTracerEffectName, const Vector &vecStart, const Vector &vecEnd, + int iEntIndex, int iAttachment, bool bWhiz ) +{ + int iParticleIndex = GetParticleSystemIndex( pszTracerEffectName ); + UTIL_Tracer( vecStart, vecEnd, iEntIndex, iAttachment, 0, bWhiz, "ParticleTracer", iParticleIndex ); +} + +//----------------------------------------------------------------------------- +// Purpose: Make a tracer effect using the old, non-particle system, tracer effects. +//----------------------------------------------------------------------------- +void UTIL_Tracer( const Vector &vecStart, const Vector &vecEnd, int iEntIndex, + int iAttachment, float flVelocity, bool bWhiz, const char *pCustomTracerName, int iParticleID ) +{ + CEffectData data; + data.m_vStart = vecStart; + data.m_vOrigin = vecEnd; +#ifdef CLIENT_DLL + data.m_hEntity = ClientEntityList().EntIndexToHandle( iEntIndex ); +#else + data.m_nEntIndex = iEntIndex; +#endif + data.m_flScale = flVelocity; + data.m_nHitBox = iParticleID; + + // Flags + if ( bWhiz ) + { + data.m_fFlags |= TRACER_FLAG_WHIZ; + } + + if ( iAttachment != TRACER_DONT_USE_ATTACHMENT ) + { + data.m_fFlags |= TRACER_FLAG_USEATTACHMENT; + data.m_nAttachmentIndex = iAttachment; + } + + // Fire it off + if ( pCustomTracerName ) + { + DispatchEffect( pCustomTracerName, data ); + } + else + { + DispatchEffect( "Tracer", data ); + } +} + + +void UTIL_BloodDrips( const Vector &origin, const Vector &direction, int color, int amount ) +{ + if ( !UTIL_ShouldShowBlood( color ) ) + return; + + if ( color == DONT_BLEED || amount == 0 ) + return; + + if ( g_Language.GetInt() == LANGUAGE_GERMAN && color == BLOOD_COLOR_RED ) + color = 0; + + if ( g_pGameRules->IsMultiplayer() ) + { + // scale up blood effect in multiplayer for better visibility + amount *= 5; + } + + if ( amount > 255 ) + amount = 255; + + if (color == BLOOD_COLOR_MECH) + { + g_pEffects->Sparks(origin); + if (random->RandomFloat(0, 2) >= 1) + { + UTIL_Smoke(origin, random->RandomInt(10, 15), 10); + } + } + else + { + // Normal blood impact + UTIL_BloodImpact( origin, direction, color, amount ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: Returns low violence settings +//----------------------------------------------------------------------------- +static ConVar violence_hblood( "violence_hblood","1", 0, "Draw human blood" ); +static ConVar violence_hgibs( "violence_hgibs","1", 0, "Show human gib entities" ); +static ConVar violence_ablood( "violence_ablood","1", 0, "Draw alien blood" ); +static ConVar violence_agibs( "violence_agibs","1", 0, "Show alien gib entities" ); + +bool UTIL_IsLowViolence( void ) +{ + // These convars are no longer necessary -- the engine is the final arbiter of + // violence settings -- but they're here for legacy support and for testing low + // violence when the engine is in normal violence mode. + if ( !violence_hblood.GetBool() || !violence_ablood.GetBool() || !violence_hgibs.GetBool() || !violence_agibs.GetBool() ) + return true; + + return engine->IsLowViolence(); +} + +bool UTIL_ShouldShowBlood( int color ) +{ + if ( color != DONT_BLEED ) + { + if ( color == BLOOD_COLOR_RED ) + { + return violence_hblood.GetBool(); + } + else + { + return violence_ablood.GetBool(); + } + } + return false; +} + + +//------------------------------------------------------------------------------ +// Purpose : Use trace to pass a specific decal type to the entity being decaled +// Input : +// Output : +//------------------------------------------------------------------------------ +void UTIL_DecalTrace( trace_t *pTrace, char const *decalName ) +{ + if (pTrace->fraction == 1.0) + return; + + CBaseEntity *pEntity = pTrace->m_pEnt; + pEntity->DecalTrace( pTrace, decalName ); +} + + +void UTIL_BloodDecalTrace( trace_t *pTrace, int bloodColor ) +{ + if ( UTIL_ShouldShowBlood( bloodColor ) ) + { + if ( bloodColor == BLOOD_COLOR_RED ) + { + UTIL_DecalTrace( pTrace, "Blood" ); + } + else + { + UTIL_DecalTrace( pTrace, "YellowBlood" ); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : &pos - +// &dir - +// color - +// amount - +//----------------------------------------------------------------------------- +void UTIL_BloodImpact( const Vector &pos, const Vector &dir, int color, int amount ) +{ + CEffectData data; + + data.m_vOrigin = pos; + data.m_vNormal = dir; + data.m_flScale = (float)amount; + data.m_nColor = (unsigned char)color; + + DispatchEffect( "bloodimpact", data ); +} + +bool UTIL_IsSpaceEmpty( CBaseEntity *pMainEnt, const Vector &vMin, const Vector &vMax ) +{ + Vector vHalfDims = ( vMax - vMin ) * 0.5f; + Vector vCenter = vMin + vHalfDims; + + trace_t trace; + + UTIL_TraceHull( vCenter, vCenter, -vHalfDims, vHalfDims, MASK_SOLID, pMainEnt, COLLISION_GROUP_NONE, &trace ); + + bool bClear = ( trace.fraction == 1 && trace.allsolid != 1 && (trace.startsolid != 1) ); + return bClear; +} + +void UTIL_StringToFloatArray( float *pVector, int count, const char *pString ) +{ + char *pstr, *pfront, tempString[128]; + int j; + + Q_strncpy( tempString, pString, sizeof(tempString) ); + pstr = pfront = tempString; + + for ( j = 0; j < count; j++ ) // lifted from pr_edict.c + { + pVector[j] = atof( pfront ); + + // skip any leading whitespace + while ( *pstr && *pstr <= ' ' ) + pstr++; + + // skip to next whitespace + while ( *pstr && *pstr > ' ' ) + pstr++; + + if (!*pstr) + break; + + pstr++; + pfront = pstr; + } + for ( j++; j < count; j++ ) + { + pVector[j] = 0; + } +} + +void UTIL_StringToVector( float *pVector, const char *pString ) +{ + UTIL_StringToFloatArray( pVector, 3, pString ); +} + +void UTIL_StringToIntArray( int *pVector, int count, const char *pString ) +{ + char *pstr, *pfront, tempString[128]; + int j; + + Q_strncpy( tempString, pString, sizeof(tempString) ); + pstr = pfront = tempString; + + for ( j = 0; j < count; j++ ) // lifted from pr_edict.c + { + pVector[j] = atoi( pfront ); + + while ( *pstr && *pstr != ' ' ) + pstr++; + if (!*pstr) + break; + pstr++; + pfront = pstr; + } + + for ( j++; j < count; j++ ) + { + pVector[j] = 0; + } +} + +void UTIL_StringToColor32( color32 *color, const char *pString ) +{ + int tmp[4]; + UTIL_StringToIntArray( tmp, 4, pString ); + color->r = tmp[0]; + color->g = tmp[1]; + color->b = tmp[2]; + color->a = tmp[3]; +} + +#ifndef _XBOX +void UTIL_DecodeICE( unsigned char * buffer, int size, const unsigned char *key) +{ + if ( !key ) + return; + + IceKey ice( 0 ); // level 0 = 64bit key + ice.set( key ); // set key + + int blockSize = ice.blockSize(); + + unsigned char *temp = (unsigned char *)_alloca( PAD_NUMBER( size, blockSize ) ); + unsigned char *p1 = buffer; + unsigned char *p2 = temp; + + // encrypt data in 8 byte blocks + int bytesLeft = size; + while ( bytesLeft >= blockSize ) + { + ice.decrypt( p1, p2 ); + bytesLeft -= blockSize; + p1+=blockSize; + p2+=blockSize; + } + + // copy encrypted data back to original buffer + Q_memcpy( buffer, temp, size-bytesLeft ); +} +#endif + +// work-around since client header doesn't like inlined gpGlobals->curtime +float IntervalTimer::Now( void ) const +{ + return gpGlobals->curtime; +} + +// work-around since client header doesn't like inlined gpGlobals->curtime +float CountdownTimer::Now( void ) const +{ + return gpGlobals->curtime; +} + + +#ifdef CLIENT_DLL + CBasePlayer *UTIL_PlayerByIndex( int entindex ) + { + return ToBasePlayer( ClientEntityList().GetEnt( entindex ) ); + } +#endif + + +unsigned short UTIL_GetAchievementEventMask( void ) +{ + CRC32_t mapCRC; + CRC32_Init( &mapCRC ); + + char lowercase[ 256 ]; +#ifdef CLIENT_DLL + Q_FileBase( engine->GetLevelName(), lowercase, sizeof( lowercase ) ); +#else + Q_strncpy( lowercase, STRING( gpGlobals->mapname ), sizeof( lowercase ) ); +#endif + Q_strlower( lowercase ); + + CRC32_ProcessBuffer( &mapCRC, lowercase, Q_strlen( lowercase ) ); + CRC32_Final( &mapCRC ); + + return ( mapCRC & 0xFFFF ); +} + +const char* ReadAndAllocStringValue( KeyValues *pSub, const char *pName, const char *pFilename ) +{ + const char *pValue = pSub->GetString( pName, NULL ); + if ( !pValue ) + { + if ( pFilename ) + { + DevWarning( "Can't get key value '%s' from file '%s'.\n", pName, pFilename ); + } + return ""; + } + + int len = Q_strlen( pValue ) + 1; + char *pAlloced = new char[ len ]; + Assert( pAlloced ); + Q_strncpy( pAlloced, pValue, len ); + return pAlloced; +} + +int UTIL_StringFieldToInt( const char *szValue, const char **pValueStrings, int iNumStrings ) +{ + if ( !szValue || !szValue[0] ) + return -1; + + for ( int i = 0; i < iNumStrings; i++ ) + { + if ( FStrEq(szValue, pValueStrings[i]) ) + return i; + } + + Assert(0); + return -1; +} diff --git a/game/shared/util_shared.h b/game/shared/util_shared.h index 3e2591c7..8a8781fd 100644 --- a/game/shared/util_shared.h +++ b/game/shared/util_shared.h @@ -1,540 +1,540 @@ -//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// -// -// Purpose: Shared util code between client and server. -// -//=============================================================================// - -#ifndef UTIL_SHARED_H -#define UTIL_SHARED_H -#ifdef _WIN32 -#pragma once -#endif - -#include "mathlib/vector.h" -#include "cmodel.h" -#include "utlvector.h" -#include "networkvar.h" -#include "engine/IEngineTrace.h" -#include "engine/IStaticPropMgr.h" -#include "shared_classnames.h" - -#ifdef CLIENT_DLL -#include "cdll_client_int.h" -#endif - -#ifdef PORTAL -#include "portal_util_shared.h" -#endif - -//----------------------------------------------------------------------------- -// Forward declarations -//----------------------------------------------------------------------------- -class CGameTrace; -class CBasePlayer; -typedef CGameTrace trace_t; - -extern ConVar developer; // developer mode - - -//----------------------------------------------------------------------------- -// Language IDs. -//----------------------------------------------------------------------------- -#define LANGUAGE_ENGLISH 0 -#define LANGUAGE_GERMAN 1 -#define LANGUAGE_FRENCH 2 -#define LANGUAGE_BRITISH 3 - - -//----------------------------------------------------------------------------- -// Pitch + yaw -//----------------------------------------------------------------------------- -float UTIL_VecToYaw (const Vector &vec); -float UTIL_VecToPitch (const Vector &vec); -float UTIL_VecToYaw (const matrix3x4_t& matrix, const Vector &vec); -float UTIL_VecToPitch (const matrix3x4_t& matrix, const Vector &vec); -Vector UTIL_YawToVector ( float yaw ); - -//----------------------------------------------------------------------------- -// Shared random number generators for shared/predicted code: -// whenever generating random numbers in shared/predicted code, these functions -// have to be used. Each call should specify a unique "sharedname" string that -// seeds the random number generator. In loops make sure the "additionalSeed" -// is increased with the loop counter, otherwise it will always return the -// same random number -//----------------------------------------------------------------------------- -float SharedRandomFloat( const char *sharedname, float flMinVal, float flMaxVal, int additionalSeed = 0 ); -int SharedRandomInt( const char *sharedname, int iMinVal, int iMaxVal, int additionalSeed = 0 ); -Vector SharedRandomVector( const char *sharedname, float minVal, float maxVal, int additionalSeed = 0 ); -QAngle SharedRandomAngle( const char *sharedname, float minVal, float maxVal, int additionalSeed = 0 ); - -//----------------------------------------------------------------------------- -// Standard collision filters... -//----------------------------------------------------------------------------- -bool PassServerEntityFilter( const IHandleEntity *pTouch, const IHandleEntity *pPass ); -bool StandardFilterRules( IHandleEntity *pHandleEntity, int fContentsMask ); - - -//----------------------------------------------------------------------------- -// Converts an IHandleEntity to an CBaseEntity -//----------------------------------------------------------------------------- -inline const CBaseEntity *EntityFromEntityHandle( const IHandleEntity *pConstHandleEntity ) -{ - IHandleEntity *pHandleEntity = const_cast(pConstHandleEntity); - -#ifdef CLIENT_DLL - IClientUnknown *pUnk = (IClientUnknown*)pHandleEntity; - return pUnk->GetBaseEntity(); -#else - if ( staticpropmgr->IsStaticProp( pHandleEntity ) ) - return NULL; - - IServerUnknown *pUnk = (IServerUnknown*)pHandleEntity; - return pUnk->GetBaseEntity(); -#endif -} - -inline CBaseEntity *EntityFromEntityHandle( IHandleEntity *pHandleEntity ) -{ -#ifdef CLIENT_DLL - IClientUnknown *pUnk = (IClientUnknown*)pHandleEntity; - return pUnk->GetBaseEntity(); -#else - if ( staticpropmgr->IsStaticProp( pHandleEntity ) ) - return NULL; - - IServerUnknown *pUnk = (IServerUnknown*)pHandleEntity; - return pUnk->GetBaseEntity(); -#endif -} - - -//----------------------------------------------------------------------------- -// traceline methods -//----------------------------------------------------------------------------- -class CTraceFilterSimple : public CTraceFilter -{ -public: - // It does have a base, but we'll never network anything below here.. - DECLARE_CLASS_NOBASE( CTraceFilterSimple ); - - CTraceFilterSimple( const IHandleEntity *passentity, int collisionGroup ); - virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); - virtual void SetPassEntity( const IHandleEntity *pPassEntity ) { m_pPassEnt = pPassEntity; } - virtual void SetCollisionGroup( int iCollisionGroup ) { m_collisionGroup = iCollisionGroup; } - - const IHandleEntity *GetPassEntity( void ){ return m_pPassEnt;} - -private: - const IHandleEntity *m_pPassEnt; - int m_collisionGroup; -}; - -class CTraceFilterSkipTwoEntities : public CTraceFilterSimple -{ -public: - // It does have a base, but we'll never network anything below here.. - DECLARE_CLASS( CTraceFilterSkipTwoEntities, CTraceFilterSimple ); - - CTraceFilterSkipTwoEntities( const IHandleEntity *passentity, const IHandleEntity *passentity2, int collisionGroup ); - virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); - virtual void SetPassEntity2( const IHandleEntity *pPassEntity2 ) { m_pPassEnt2 = pPassEntity2; } - -private: - const IHandleEntity *m_pPassEnt2; -}; - -class CTraceFilterSimpleList : public CTraceFilterSimple -{ -public: - CTraceFilterSimpleList( int collisionGroup ); - virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); - - void AddEntityToIgnore( IHandleEntity *pEntity ); -protected: - CUtlVector m_PassEntities; -}; - -class CTraceFilterOnlyNPCsAndPlayer : public CTraceFilterSimple -{ -public: - CTraceFilterOnlyNPCsAndPlayer( const IHandleEntity *passentity, int collisionGroup ) - : CTraceFilterSimple( passentity, collisionGroup ) - { - } - - virtual TraceType_t GetTraceType() const - { - return TRACE_ENTITIES_ONLY; - } - - virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); -}; - -class CTraceFilterNoNPCsOrPlayer : public CTraceFilterSimple -{ -public: - CTraceFilterNoNPCsOrPlayer( const IHandleEntity *passentity, int collisionGroup ) - : CTraceFilterSimple( passentity, collisionGroup ) - { - } - - virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); -}; - -//----------------------------------------------------------------------------- -// Purpose: Custom trace filter used for NPC LOS traces -//----------------------------------------------------------------------------- -class CTraceFilterLOS : public CTraceFilterSkipTwoEntities -{ -public: - CTraceFilterLOS( IHandleEntity *pHandleEntity, int collisionGroup, IHandleEntity *pHandleEntity2 = NULL ); - bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); -}; - -class CTraceFilterSkipClassname : public CTraceFilterSimple -{ -public: - CTraceFilterSkipClassname( const IHandleEntity *passentity, const char *pchClassname, int collisionGroup ); - virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); - -private: - - const char *m_pchClassname; -}; - -class CTraceFilterSkipTwoClassnames : public CTraceFilterSkipClassname -{ -public: - // It does have a base, but we'll never network anything below here.. - DECLARE_CLASS( CTraceFilterSkipTwoClassnames, CTraceFilterSkipClassname ); - - CTraceFilterSkipTwoClassnames( const IHandleEntity *passentity, const char *pchClassname, const char *pchClassname2, int collisionGroup ); - virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); - -private: - const char *m_pchClassname2; -}; - -class CTraceFilterSimpleClassnameList : public CTraceFilterSimple -{ -public: - CTraceFilterSimpleClassnameList( const IHandleEntity *passentity, int collisionGroup ); - virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); - - void AddClassnameToIgnore( const char *pchClassname ); -private: - CUtlVector m_PassClassnames; -}; - -class CTraceFilterChain : public CTraceFilter -{ -public: - CTraceFilterChain( ITraceFilter *pTraceFilter1, ITraceFilter *pTraceFilter2 ); - virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); - -private: - ITraceFilter *m_pTraceFilter1; - ITraceFilter *m_pTraceFilter2; -}; - -// helper -void DebugDrawLine( const Vector& vecAbsStart, const Vector& vecAbsEnd, int r, int g, int b, bool test, float duration ); - -extern ConVar r_visualizetraces; - -inline void UTIL_TraceLine( const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, - const IHandleEntity *ignore, int collisionGroup, trace_t *ptr ) -{ - Ray_t ray; - ray.Init( vecAbsStart, vecAbsEnd ); - CTraceFilterSimple traceFilter( ignore, collisionGroup ); - - enginetrace->TraceRay( ray, mask, &traceFilter, ptr ); - - if( r_visualizetraces.GetBool() ) - { - DebugDrawLine( ptr->startpos, ptr->endpos, 255, 0, 0, true, -1.0f ); - } -} - -inline void UTIL_TraceLine( const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, - ITraceFilter *pFilter, trace_t *ptr ) -{ - Ray_t ray; - ray.Init( vecAbsStart, vecAbsEnd ); - - enginetrace->TraceRay( ray, mask, pFilter, ptr ); - - if( r_visualizetraces.GetBool() ) - { - DebugDrawLine( ptr->startpos, ptr->endpos, 255, 0, 0, true, -1.0f ); - } -} - -inline void UTIL_TraceHull( const Vector &vecAbsStart, const Vector &vecAbsEnd, const Vector &hullMin, - const Vector &hullMax, unsigned int mask, const IHandleEntity *ignore, - int collisionGroup, trace_t *ptr ) -{ - Ray_t ray; - ray.Init( vecAbsStart, vecAbsEnd, hullMin, hullMax ); - CTraceFilterSimple traceFilter( ignore, collisionGroup ); - - enginetrace->TraceRay( ray, mask, &traceFilter, ptr ); - - if( r_visualizetraces.GetBool() ) - { - DebugDrawLine( ptr->startpos, ptr->endpos, 255, 255, 0, true, -1.0f ); - } -} - -inline void UTIL_TraceHull( const Vector &vecAbsStart, const Vector &vecAbsEnd, const Vector &hullMin, - const Vector &hullMax, unsigned int mask, ITraceFilter *pFilter, trace_t *ptr ) -{ - Ray_t ray; - ray.Init( vecAbsStart, vecAbsEnd, hullMin, hullMax ); - - enginetrace->TraceRay( ray, mask, pFilter, ptr ); - - if( r_visualizetraces.GetBool() ) - { - DebugDrawLine( ptr->startpos, ptr->endpos, 255, 255, 0, true, -1.0f ); - } -} - -inline void UTIL_TraceRay( const Ray_t &ray, unsigned int mask, - const IHandleEntity *ignore, int collisionGroup, trace_t *ptr ) -{ - CTraceFilterSimple traceFilter( ignore, collisionGroup ); - - enginetrace->TraceRay( ray, mask, &traceFilter, ptr ); - - if( r_visualizetraces.GetBool() ) - { - DebugDrawLine( ptr->startpos, ptr->endpos, 255, 0, 0, true, -1.0f ); - } -} - -// Sweeps a particular entity through the world -void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, unsigned int mask, trace_t *ptr ); -void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, - unsigned int mask, ITraceFilter *pFilter, trace_t *ptr ); -void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, - unsigned int mask, const IHandleEntity *ignore, int collisionGroup, trace_t *ptr ); - -bool UTIL_EntityHasMatchingRootParent( CBaseEntity *pRootParent, CBaseEntity *pEntity ); - -inline int UTIL_PointContents( const Vector &vec ) -{ - return enginetrace->GetPointContents( vec ); -} - -// Sweeps against a particular model, using collision rules -void UTIL_TraceModel( const Vector &vecStart, const Vector &vecEnd, const Vector &hullMin, - const Vector &hullMax, CBaseEntity *pentModel, int collisionGroup, trace_t *ptr ); - -void UTIL_ClipTraceToPlayers( const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, ITraceFilter *filter, trace_t *tr ); - -// Particle effect tracer -void UTIL_ParticleTracer( const char *pszTracerEffectName, const Vector &vecStart, const Vector &vecEnd, int iEntIndex = 0, int iAttachment = 0, bool bWhiz = false ); - -// Old style, non-particle system, tracers -void UTIL_Tracer( const Vector &vecStart, const Vector &vecEnd, int iEntIndex = 0, int iAttachment = TRACER_DONT_USE_ATTACHMENT, float flVelocity = 0, bool bWhiz = false, const char *pCustomTracerName = NULL, int iParticleID = 0 ); - -bool UTIL_IsLowViolence( void ); -bool UTIL_ShouldShowBlood( int bloodColor ); -void UTIL_BloodDrips( const Vector &origin, const Vector &direction, int color, int amount ); - -void UTIL_BloodImpact( const Vector &pos, const Vector &dir, int color, int amount ); -void UTIL_BloodDecalTrace( trace_t *pTrace, int bloodColor ); -void UTIL_DecalTrace( trace_t *pTrace, char const *decalName ); -bool UTIL_IsSpaceEmpty( CBaseEntity *pMainEnt, const Vector &vMin, const Vector &vMax ); - -void UTIL_StringToVector( float *pVector, const char *pString ); -void UTIL_StringToIntArray( int *pVector, int count, const char *pString ); -void UTIL_StringToFloatArray( float *pVector, int count, const char *pString ); -void UTIL_StringToColor32( color32 *color, const char *pString ); - -CBasePlayer *UTIL_PlayerByIndex( int entindex ); - -// decodes a buffer using a 64bit ICE key (inplace) -void UTIL_DecodeICE( unsigned char * buffer, int size, const unsigned char *key); - -unsigned short UTIL_GetAchievementEventMask( void ); - - -//-------------------------------------------------------------------------------------------------------------- -/** - * Given a position and a ray, return the shortest distance between the two. - * If 'pos' is beyond either end of the ray, the returned distance is negated. - */ -inline float DistanceToRay( const Vector &pos, const Vector &rayStart, const Vector &rayEnd, float *along = NULL, Vector *pointOnRay = NULL ) -{ - Vector to = pos - rayStart; - Vector dir = rayEnd - rayStart; - float length = dir.NormalizeInPlace(); - - float rangeAlong = DotProduct( dir, to ); - if (along) - { - *along = rangeAlong; - } - - float range; - - if (rangeAlong < 0.0f) - { - // off start point - range = -(pos - rayStart).Length(); - - if (pointOnRay) - { - *pointOnRay = rayStart; - } - } - else if (rangeAlong > length) - { - // off end point - range = -(pos - rayEnd).Length(); - - if (pointOnRay) - { - *pointOnRay = rayEnd; - } - } - else // within ray bounds - { - Vector onRay = rayStart + rangeAlong * dir; - range = (pos - onRay).Length(); - - if (pointOnRay) - { - *pointOnRay = onRay; - } - } - - return range; -} - - -//-------------------------------------------------------------------------------------------------------------- -/** - * Simple class for tracking intervals of game time. - * Upon creation, the timer is invalidated. To measure time intervals, start the timer via Start(). - */ -class IntervalTimer -{ -public: - IntervalTimer( void ) - { - m_timestamp = -1.0f; - } - - void Reset( void ) - { - m_timestamp = Now(); - } - - void Start( void ) - { - m_timestamp = Now(); - } - - void Invalidate( void ) - { - m_timestamp = -1.0f; - } - - bool HasStarted( void ) const - { - return (m_timestamp > 0.0f); - } - - /// if not started, elapsed time is very large - float GetElapsedTime( void ) const - { - return (HasStarted()) ? (Now() - m_timestamp) : 99999.9f; - } - - bool IsLessThen( float duration ) const - { - return (Now() - m_timestamp < duration) ? true : false; - } - - bool IsGreaterThen( float duration ) const - { - return (Now() - m_timestamp > duration) ? true : false; - } - -private: - float m_timestamp; - float Now( void ) const; // work-around since client header doesn't like inlined gpGlobals->curtime -}; - - -//-------------------------------------------------------------------------------------------------------------- -/** - * Simple class for counting down a short interval of time. - * Upon creation, the timer is invalidated. Invalidated countdown timers are considered to have elapsed. - */ -class CountdownTimer -{ -public: - CountdownTimer( void ) - { - m_timestamp = -1.0f; - m_duration = 0.0f; - } - - void Reset( void ) - { - m_timestamp = Now() + m_duration; - } - - void Start( float duration ) - { - m_timestamp = Now() + duration; - m_duration = duration; - } - - void Invalidate( void ) - { - m_timestamp = -1.0f; - } - - bool HasStarted( void ) const - { - return (m_timestamp > 0.0f); - } - - bool IsElapsed( void ) const - { - return (Now() > m_timestamp); - } - - float GetElapsedTime( void ) const - { - return Now() - m_timestamp + m_duration; - } - - float GetRemainingTime( void ) const - { - return (m_timestamp - Now()); - } - - /// return original countdown time - float GetCountdownDuration( void ) const - { - return (m_timestamp > 0.0f) ? m_duration : 0.0f; - } - -private: - float m_duration; - float m_timestamp; - float Now( void ) const; // work-around since client header doesn't like inlined gpGlobals->curtime -}; - -char* ReadAndAllocStringValue( KeyValues *pSub, const char *pName, const char *pFilename = NULL ); - -int UTIL_StringFieldToInt( const char *szValue, const char **pValueStrings, int iNumStrings ); - -#endif // UTIL_SHARED_H +//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// +// +// Purpose: Shared util code between client and server. +// +//=============================================================================// + +#ifndef UTIL_SHARED_H +#define UTIL_SHARED_H +#ifdef _WIN32 +#pragma once +#endif + +#include "mathlib/vector.h" +#include "cmodel.h" +#include "utlvector.h" +#include "networkvar.h" +#include "engine/IEngineTrace.h" +#include "engine/IStaticPropMgr.h" +#include "shared_classnames.h" + +#ifdef CLIENT_DLL +#include "cdll_client_int.h" +#endif + +#ifdef PORTAL +#include "portal_util_shared.h" +#endif + +//----------------------------------------------------------------------------- +// Forward declarations +//----------------------------------------------------------------------------- +class CGameTrace; +class CBasePlayer; +typedef CGameTrace trace_t; + +extern ConVar developer; // developer mode + + +//----------------------------------------------------------------------------- +// Language IDs. +//----------------------------------------------------------------------------- +#define LANGUAGE_ENGLISH 0 +#define LANGUAGE_GERMAN 1 +#define LANGUAGE_FRENCH 2 +#define LANGUAGE_BRITISH 3 + + +//----------------------------------------------------------------------------- +// Pitch + yaw +//----------------------------------------------------------------------------- +float UTIL_VecToYaw (const Vector &vec); +float UTIL_VecToPitch (const Vector &vec); +float UTIL_VecToYaw (const matrix3x4_t& matrix, const Vector &vec); +float UTIL_VecToPitch (const matrix3x4_t& matrix, const Vector &vec); +Vector UTIL_YawToVector ( float yaw ); + +//----------------------------------------------------------------------------- +// Shared random number generators for shared/predicted code: +// whenever generating random numbers in shared/predicted code, these functions +// have to be used. Each call should specify a unique "sharedname" string that +// seeds the random number generator. In loops make sure the "additionalSeed" +// is increased with the loop counter, otherwise it will always return the +// same random number +//----------------------------------------------------------------------------- +float SharedRandomFloat( const char *sharedname, float flMinVal, float flMaxVal, int additionalSeed = 0 ); +int SharedRandomInt( const char *sharedname, int iMinVal, int iMaxVal, int additionalSeed = 0 ); +Vector SharedRandomVector( const char *sharedname, float minVal, float maxVal, int additionalSeed = 0 ); +QAngle SharedRandomAngle( const char *sharedname, float minVal, float maxVal, int additionalSeed = 0 ); + +//----------------------------------------------------------------------------- +// Standard collision filters... +//----------------------------------------------------------------------------- +bool PassServerEntityFilter( const IHandleEntity *pTouch, const IHandleEntity *pPass ); +bool StandardFilterRules( IHandleEntity *pHandleEntity, int fContentsMask ); + + +//----------------------------------------------------------------------------- +// Converts an IHandleEntity to an CBaseEntity +//----------------------------------------------------------------------------- +inline const CBaseEntity *EntityFromEntityHandle( const IHandleEntity *pConstHandleEntity ) +{ + IHandleEntity *pHandleEntity = const_cast(pConstHandleEntity); + +#ifdef CLIENT_DLL + IClientUnknown *pUnk = (IClientUnknown*)pHandleEntity; + return pUnk->GetBaseEntity(); +#else + if ( staticpropmgr->IsStaticProp( pHandleEntity ) ) + return NULL; + + IServerUnknown *pUnk = (IServerUnknown*)pHandleEntity; + return pUnk->GetBaseEntity(); +#endif +} + +inline CBaseEntity *EntityFromEntityHandle( IHandleEntity *pHandleEntity ) +{ +#ifdef CLIENT_DLL + IClientUnknown *pUnk = (IClientUnknown*)pHandleEntity; + return pUnk->GetBaseEntity(); +#else + if ( staticpropmgr->IsStaticProp( pHandleEntity ) ) + return NULL; + + IServerUnknown *pUnk = (IServerUnknown*)pHandleEntity; + return pUnk->GetBaseEntity(); +#endif +} + + +//----------------------------------------------------------------------------- +// traceline methods +//----------------------------------------------------------------------------- +class CTraceFilterSimple : public CTraceFilter +{ +public: + // It does have a base, but we'll never network anything below here.. + DECLARE_CLASS_NOBASE( CTraceFilterSimple ); + + CTraceFilterSimple( const IHandleEntity *passentity, int collisionGroup ); + virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); + virtual void SetPassEntity( const IHandleEntity *pPassEntity ) { m_pPassEnt = pPassEntity; } + virtual void SetCollisionGroup( int iCollisionGroup ) { m_collisionGroup = iCollisionGroup; } + + const IHandleEntity *GetPassEntity( void ){ return m_pPassEnt;} + +private: + const IHandleEntity *m_pPassEnt; + int m_collisionGroup; +}; + +class CTraceFilterSkipTwoEntities : public CTraceFilterSimple +{ +public: + // It does have a base, but we'll never network anything below here.. + DECLARE_CLASS( CTraceFilterSkipTwoEntities, CTraceFilterSimple ); + + CTraceFilterSkipTwoEntities( const IHandleEntity *passentity, const IHandleEntity *passentity2, int collisionGroup ); + virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); + virtual void SetPassEntity2( const IHandleEntity *pPassEntity2 ) { m_pPassEnt2 = pPassEntity2; } + +private: + const IHandleEntity *m_pPassEnt2; +}; + +class CTraceFilterSimpleList : public CTraceFilterSimple +{ +public: + CTraceFilterSimpleList( int collisionGroup ); + virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); + + void AddEntityToIgnore( IHandleEntity *pEntity ); +protected: + CUtlVector m_PassEntities; +}; + +class CTraceFilterOnlyNPCsAndPlayer : public CTraceFilterSimple +{ +public: + CTraceFilterOnlyNPCsAndPlayer( const IHandleEntity *passentity, int collisionGroup ) + : CTraceFilterSimple( passentity, collisionGroup ) + { + } + + virtual TraceType_t GetTraceType() const + { + return TRACE_ENTITIES_ONLY; + } + + virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); +}; + +class CTraceFilterNoNPCsOrPlayer : public CTraceFilterSimple +{ +public: + CTraceFilterNoNPCsOrPlayer( const IHandleEntity *passentity, int collisionGroup ) + : CTraceFilterSimple( passentity, collisionGroup ) + { + } + + virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); +}; + +//----------------------------------------------------------------------------- +// Purpose: Custom trace filter used for NPC LOS traces +//----------------------------------------------------------------------------- +class CTraceFilterLOS : public CTraceFilterSkipTwoEntities +{ +public: + CTraceFilterLOS( IHandleEntity *pHandleEntity, int collisionGroup, IHandleEntity *pHandleEntity2 = NULL ); + bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); +}; + +class CTraceFilterSkipClassname : public CTraceFilterSimple +{ +public: + CTraceFilterSkipClassname( const IHandleEntity *passentity, const char *pchClassname, int collisionGroup ); + virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); + +private: + + const char *m_pchClassname; +}; + +class CTraceFilterSkipTwoClassnames : public CTraceFilterSkipClassname +{ +public: + // It does have a base, but we'll never network anything below here.. + DECLARE_CLASS( CTraceFilterSkipTwoClassnames, CTraceFilterSkipClassname ); + + CTraceFilterSkipTwoClassnames( const IHandleEntity *passentity, const char *pchClassname, const char *pchClassname2, int collisionGroup ); + virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); + +private: + const char *m_pchClassname2; +}; + +class CTraceFilterSimpleClassnameList : public CTraceFilterSimple +{ +public: + CTraceFilterSimpleClassnameList( const IHandleEntity *passentity, int collisionGroup ); + virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); + + void AddClassnameToIgnore( const char *pchClassname ); +private: + CUtlVector m_PassClassnames; +}; + +class CTraceFilterChain : public CTraceFilter +{ +public: + CTraceFilterChain( ITraceFilter *pTraceFilter1, ITraceFilter *pTraceFilter2 ); + virtual bool ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ); + +private: + ITraceFilter *m_pTraceFilter1; + ITraceFilter *m_pTraceFilter2; +}; + +// helper +void DebugDrawLine( const Vector& vecAbsStart, const Vector& vecAbsEnd, int r, int g, int b, bool test, float duration ); + +extern ConVar r_visualizetraces; + +inline void UTIL_TraceLine( const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, + const IHandleEntity *ignore, int collisionGroup, trace_t *ptr ) +{ + Ray_t ray; + ray.Init( vecAbsStart, vecAbsEnd ); + CTraceFilterSimple traceFilter( ignore, collisionGroup ); + + enginetrace->TraceRay( ray, mask, &traceFilter, ptr ); + + if( r_visualizetraces.GetBool() ) + { + DebugDrawLine( ptr->startpos, ptr->endpos, 255, 0, 0, true, -1.0f ); + } +} + +inline void UTIL_TraceLine( const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, + ITraceFilter *pFilter, trace_t *ptr ) +{ + Ray_t ray; + ray.Init( vecAbsStart, vecAbsEnd ); + + enginetrace->TraceRay( ray, mask, pFilter, ptr ); + + if( r_visualizetraces.GetBool() ) + { + DebugDrawLine( ptr->startpos, ptr->endpos, 255, 0, 0, true, -1.0f ); + } +} + +inline void UTIL_TraceHull( const Vector &vecAbsStart, const Vector &vecAbsEnd, const Vector &hullMin, + const Vector &hullMax, unsigned int mask, const IHandleEntity *ignore, + int collisionGroup, trace_t *ptr ) +{ + Ray_t ray; + ray.Init( vecAbsStart, vecAbsEnd, hullMin, hullMax ); + CTraceFilterSimple traceFilter( ignore, collisionGroup ); + + enginetrace->TraceRay( ray, mask, &traceFilter, ptr ); + + if( r_visualizetraces.GetBool() ) + { + DebugDrawLine( ptr->startpos, ptr->endpos, 255, 255, 0, true, -1.0f ); + } +} + +inline void UTIL_TraceHull( const Vector &vecAbsStart, const Vector &vecAbsEnd, const Vector &hullMin, + const Vector &hullMax, unsigned int mask, ITraceFilter *pFilter, trace_t *ptr ) +{ + Ray_t ray; + ray.Init( vecAbsStart, vecAbsEnd, hullMin, hullMax ); + + enginetrace->TraceRay( ray, mask, pFilter, ptr ); + + if( r_visualizetraces.GetBool() ) + { + DebugDrawLine( ptr->startpos, ptr->endpos, 255, 255, 0, true, -1.0f ); + } +} + +inline void UTIL_TraceRay( const Ray_t &ray, unsigned int mask, + const IHandleEntity *ignore, int collisionGroup, trace_t *ptr ) +{ + CTraceFilterSimple traceFilter( ignore, collisionGroup ); + + enginetrace->TraceRay( ray, mask, &traceFilter, ptr ); + + if( r_visualizetraces.GetBool() ) + { + DebugDrawLine( ptr->startpos, ptr->endpos, 255, 0, 0, true, -1.0f ); + } +} + +// Sweeps a particular entity through the world +void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, unsigned int mask, trace_t *ptr ); +void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, + unsigned int mask, ITraceFilter *pFilter, trace_t *ptr ); +void UTIL_TraceEntity( CBaseEntity *pEntity, const Vector &vecAbsStart, const Vector &vecAbsEnd, + unsigned int mask, const IHandleEntity *ignore, int collisionGroup, trace_t *ptr ); + +bool UTIL_EntityHasMatchingRootParent( CBaseEntity *pRootParent, CBaseEntity *pEntity ); + +inline int UTIL_PointContents( const Vector &vec ) +{ + return enginetrace->GetPointContents( vec ); +} + +// Sweeps against a particular model, using collision rules +void UTIL_TraceModel( const Vector &vecStart, const Vector &vecEnd, const Vector &hullMin, + const Vector &hullMax, CBaseEntity *pentModel, int collisionGroup, trace_t *ptr ); + +void UTIL_ClipTraceToPlayers( const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, ITraceFilter *filter, trace_t *tr ); + +// Particle effect tracer +void UTIL_ParticleTracer( const char *pszTracerEffectName, const Vector &vecStart, const Vector &vecEnd, int iEntIndex = 0, int iAttachment = 0, bool bWhiz = false ); + +// Old style, non-particle system, tracers +void UTIL_Tracer( const Vector &vecStart, const Vector &vecEnd, int iEntIndex = 0, int iAttachment = TRACER_DONT_USE_ATTACHMENT, float flVelocity = 0, bool bWhiz = false, const char *pCustomTracerName = NULL, int iParticleID = 0 ); + +bool UTIL_IsLowViolence( void ); +bool UTIL_ShouldShowBlood( int bloodColor ); +void UTIL_BloodDrips( const Vector &origin, const Vector &direction, int color, int amount ); + +void UTIL_BloodImpact( const Vector &pos, const Vector &dir, int color, int amount ); +void UTIL_BloodDecalTrace( trace_t *pTrace, int bloodColor ); +void UTIL_DecalTrace( trace_t *pTrace, char const *decalName ); +bool UTIL_IsSpaceEmpty( CBaseEntity *pMainEnt, const Vector &vMin, const Vector &vMax ); + +void UTIL_StringToVector( float *pVector, const char *pString ); +void UTIL_StringToIntArray( int *pVector, int count, const char *pString ); +void UTIL_StringToFloatArray( float *pVector, int count, const char *pString ); +void UTIL_StringToColor32( color32 *color, const char *pString ); + +CBasePlayer *UTIL_PlayerByIndex( int entindex ); + +// decodes a buffer using a 64bit ICE key (inplace) +void UTIL_DecodeICE( unsigned char * buffer, int size, const unsigned char *key); + +unsigned short UTIL_GetAchievementEventMask( void ); + + +//-------------------------------------------------------------------------------------------------------------- +/** + * Given a position and a ray, return the shortest distance between the two. + * If 'pos' is beyond either end of the ray, the returned distance is negated. + */ +inline float DistanceToRay( const Vector &pos, const Vector &rayStart, const Vector &rayEnd, float *along = NULL, Vector *pointOnRay = NULL ) +{ + Vector to = pos - rayStart; + Vector dir = rayEnd - rayStart; + float length = dir.NormalizeInPlace(); + + float rangeAlong = DotProduct( dir, to ); + if (along) + { + *along = rangeAlong; + } + + float range; + + if (rangeAlong < 0.0f) + { + // off start point + range = -(pos - rayStart).Length(); + + if (pointOnRay) + { + *pointOnRay = rayStart; + } + } + else if (rangeAlong > length) + { + // off end point + range = -(pos - rayEnd).Length(); + + if (pointOnRay) + { + *pointOnRay = rayEnd; + } + } + else // within ray bounds + { + Vector onRay = rayStart + rangeAlong * dir; + range = (pos - onRay).Length(); + + if (pointOnRay) + { + *pointOnRay = onRay; + } + } + + return range; +} + + +//-------------------------------------------------------------------------------------------------------------- +/** + * Simple class for tracking intervals of game time. + * Upon creation, the timer is invalidated. To measure time intervals, start the timer via Start(). + */ +class IntervalTimer +{ +public: + IntervalTimer( void ) + { + m_timestamp = -1.0f; + } + + void Reset( void ) + { + m_timestamp = Now(); + } + + void Start( void ) + { + m_timestamp = Now(); + } + + void Invalidate( void ) + { + m_timestamp = -1.0f; + } + + bool HasStarted( void ) const + { + return (m_timestamp > 0.0f); + } + + /// if not started, elapsed time is very large + float GetElapsedTime( void ) const + { + return (HasStarted()) ? (Now() - m_timestamp) : 99999.9f; + } + + bool IsLessThen( float duration ) const + { + return (Now() - m_timestamp < duration) ? true : false; + } + + bool IsGreaterThen( float duration ) const + { + return (Now() - m_timestamp > duration) ? true : false; + } + +private: + float m_timestamp; + float Now( void ) const; // work-around since client header doesn't like inlined gpGlobals->curtime +}; + + +//-------------------------------------------------------------------------------------------------------------- +/** + * Simple class for counting down a short interval of time. + * Upon creation, the timer is invalidated. Invalidated countdown timers are considered to have elapsed. + */ +class CountdownTimer +{ +public: + CountdownTimer( void ) + { + m_timestamp = -1.0f; + m_duration = 0.0f; + } + + void Reset( void ) + { + m_timestamp = Now() + m_duration; + } + + void Start( float duration ) + { + m_timestamp = Now() + duration; + m_duration = duration; + } + + void Invalidate( void ) + { + m_timestamp = -1.0f; + } + + bool HasStarted( void ) const + { + return (m_timestamp > 0.0f); + } + + bool IsElapsed( void ) const + { + return (Now() > m_timestamp); + } + + float GetElapsedTime( void ) const + { + return Now() - m_timestamp + m_duration; + } + + float GetRemainingTime( void ) const + { + return (m_timestamp - Now()); + } + + /// return original countdown time + float GetCountdownDuration( void ) const + { + return (m_timestamp > 0.0f) ? m_duration : 0.0f; + } + +private: + float m_duration; + float m_timestamp; + float Now( void ) const; // work-around since client header doesn't like inlined gpGlobals->curtime +}; + +const char* ReadAndAllocStringValue( KeyValues *pSub, const char *pName, const char *pFilename = NULL ); + +int UTIL_StringFieldToInt( const char *szValue, const char **pValueStrings, int iNumStrings ); + +#endif // UTIL_SHARED_H diff --git a/game/shared/voice_gamemgr.cpp b/game/shared/voice_gamemgr.cpp index f3b7bfe8..9b12382f 100644 --- a/game/shared/voice_gamemgr.cpp +++ b/game/shared/voice_gamemgr.cpp @@ -48,7 +48,7 @@ CVoiceGameMgr g_VoiceGameMgr; // ------------------------------------------------------------------------ // // Find a player with a case-insensitive name search. -static CBasePlayer* FindPlayerByName(const char *pTestName) +/*static CBasePlayer* FindPlayerByName(const char *pTestName) { for(int i=1; i <= gpGlobals->maxClients; i++) { @@ -68,7 +68,7 @@ static CBasePlayer* FindPlayerByName(const char *pTestName) } return NULL; -} +}*/ static void VoiceServerDebug( const char *pFmt, ... ) { @@ -163,7 +163,7 @@ bool CVoiceGameMgr::ClientCommand( CBasePlayer *pPlayer, const CCommand &args ) for(int i=1; i < args.ArgC(); i++) { unsigned long mask = 0; - sscanf( args[i], "%x", &mask); + sscanf( args[i], "%p", (void**)&mask); if( i <= VOICE_MAX_PLAYERS_DW ) { @@ -194,7 +194,6 @@ bool CVoiceGameMgr::ClientCommand( CBasePlayer *pPlayer, const CCommand &args ) } } - void CVoiceGameMgr::UpdateMasks() { m_UpdateInterval = 0; @@ -287,4 +286,4 @@ bool CVoiceGameMgr::CheckProximity( int iDistance ) return true; return false; -} \ No newline at end of file +} diff --git a/game/shared/voice_status.cpp b/game/shared/voice_status.cpp index bed82c01..5b27ce37 100644 --- a/game/shared/voice_status.cpp +++ b/game/shared/voice_status.cpp @@ -561,4 +561,4 @@ void CVoiceStatus::SetHeadLabelMaterial( const char *pszMaterial ) m_pHeadLabelMaterial = materials->FindMaterial( pszMaterial, TEXTURE_GROUP_VGUI ); m_pHeadLabelMaterial->IncrementReferenceCount(); -} \ No newline at end of file +} diff --git a/game/shared/weapon_parse.cpp b/game/shared/weapon_parse.cpp index 5b584ab0..69fbcb99 100644 --- a/game/shared/weapon_parse.cpp +++ b/game/shared/weapon_parse.cpp @@ -77,7 +77,7 @@ static CUtlDict< FileWeaponInfo_t*, unsigned short > m_WeaponInfoDatabase; #ifdef _DEBUG // used to track whether or not two weapons have been mistakenly assigned the wrong slot -bool g_bUsedWeaponSlots[MAX_WEAPON_SLOTS][MAX_WEAPON_POSITIONS] = { 0 }; +bool g_bUsedWeaponSlots[MAX_WEAPON_SLOTS][MAX_WEAPON_POSITIONS] = { {false} }; #endif @@ -121,7 +121,7 @@ static FileWeaponInfo_t gNullWeaponInfo; //----------------------------------------------------------------------------- FileWeaponInfo_t *GetFileWeaponInfoFromHandle( WEAPON_FILE_INFO_HANDLE handle ) { - if ( handle < 0 || handle >= m_WeaponInfoDatabase.Count() ) + if ( handle >= m_WeaponInfoDatabase.Count() ) { return &gNullWeaponInfo; } @@ -382,7 +382,7 @@ void FileWeaponInfo_t::Parse( KeyValues *pKeyValuesData, const char *szWeaponNam // Weapon scripts should use the flag names. iFlags = pKeyValuesData->GetInt( "item_flags", ITEM_FLAG_LIMITINWORLD ); - for ( int i=0; i < ARRAYSIZE( g_ItemFlags ); i++ ) + for ( size_t i=0; i < ARRAYSIZE( g_ItemFlags ); i++ ) { int iVal = pKeyValuesData->GetInt( g_ItemFlags[i].m_pFlagName, -1 ); if ( iVal == 0 ) diff --git a/lib/linux/choreoobjects_i486.a b/lib/linux/choreoobjects_i486.a index e235d1c7914c78571b6ce424421ba95b6c5c3506..fb4b1e41b29dd0a487c055487d77bf3ab75d07f4 100644 GIT binary patch literal 353574 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�j@+V$5tpK$%5t|5BI-lDz!u-oree*@j> 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

Lwh%i%$Dhj^;o~tO%xcvRpNQA-xcfg7q0Xk z+mNUJnIdn|`kCr_SNu|!%-?UZK1~0(OXhW{^G`{E{22W~>LrnR4cis_!M84b{qj(gMDLA!AG-CSy$eNt58t~gzvA^6 zKU?vyD|UnVE`9!92S4=jI$%Fo1^Ft}iO*yljs0SeOaB*_+yzTUD$epXH$azq;b-M_V7J|C>wx#3d)#d>rc2&$T|3&veOsT{8Vn>qGseF8N-U z{DMpVhfC(~Y*-)K29rThGm~zt*|ppLNMExa3b<^3N{0JsnN?ungT@a&MPB+$EQ} z5m-s zpvc_Gy1?J57nwS&Z=)mq81K-cq(`Il$-^7C;II#^Pe zUs6^QEGZ~0nF*=9EWefqU^Sz{OI#Lu_=Jns> zNS;1*=nr58`4}eBO|GfQufU(}l;e-FN`f=;r>D_~<6#fm6IrM!9@Em#rL>%v{UNOU z%YD9a`O~Y)D)84m!D2iDg@czC<}7(c$TV24ewv0^{BJ$Wm7iM?xOPNY zak{$pRdE8R~@nac91Fq(45 zW;!1n!yv-nk2NcgFaA?wG-xlj?OCz>ys~TY>|Oqt0R9FoV9kI1mwK@7JDU&Y7-QHxOE#j)osC}?(UIb8KIk~3f{#VAT#h(jKSbsf@FANZ zmJg^*&TsZiwQfCUGETIt((`C6lhrRh ze*_ldoM{ZmGy(E}x=ENbEobC(=7-16w7UMAMx);!ZBP{$T3J5LJip3W`Y|}pW|1>=Iw~^L^o*{ES#3}e(<8R9ez}1lpL<2d zv7XX4*^qhw;ECF1k-l`qj;@}j71)b$H1xmngWt*-rb+!W8jW;yPQ1su(1iU)U7kHCKdXEi{%W(TDrd^o zIagn;i)b%EhQF+;x{?E`pb%S_RMV!>FQ=Mqqr1@6I73WR7M13(>h1><^Ye?U%JZjS zU&fP}`T2!41^M_pSgfd8w}r>~w3+7Xi!Qc%ta_QVWi^k~dqGhfV% zYQCIF3z_Y(1a^!%t0Pa8nnB6+0OLnLfUWCl>wp1S{L@+Xf*FFgDBl1qm!nbGv4P5I z7$95|?4#QZkh5~M`(PgI4wjdeUmK`oWzxsx4=t(5EiI^;62SA-9R0R}a^FVCuRcrL zl1l6`TBnDneW!}(pRnlUR%85sdAt@w&h=<4A2)SAEX!euy@jK=reIRZbYD8YSC!-! zqVcNogIMO_juw}5v7s^h6S2*b`p$-#IO$x^*)pBWlAc2qn63HKODcnSMqOvu@=R*! znOPPx{-Q~PNEL5AWmHSg#L{3KuRvRCAw2H$tjs zjvEe}L~aniE_|Qy$X~TF=~GBN;CU*@{4SJm{ti6Dr%HGgWt4Na$oB}J5pEW46}~0p z@2j$$KZ)$Y`HTnoB!etxCy~1ddkQlck8%zbd5mx(!-M!8O_75lKSVA-KQg>des>l9 z#ozl&xE{Am$Q$rCLF7WE29hECE+*)?5$|;%(Kdw)596|!GRDsg;S%98q5d6J#OvQr z1)oEB!Xo^xD2Z}(!UZ_fp9&^K@cVn@V&p5~{Qc8}+2;386P74dBH?8WUy6G^lru12 zg!fDQV~qcUQuUP4j;~AjPKN&xznd&_BF;$?Zo)lukmb<7ON#cW5_t~em*IC}MP5aD zImR(%=siLCX1oBHyan@53!ZIPxYZ7qN?K;ZH??w{&EtU9N8IOGL7I~fUSz!Z-cG)5F2g1F=uY^3H zVmXsQw%;)#^A~v-emV&|14JGo94)*|c%|?F$Z{W~jJ`|6t(=4#(N3V}&v+(_MEJSF zEXJ?K-)f4?-$_hZgZt!^>#)v|IP|)U;jr@nWu$+CGSa;+@o!1|KJpHX52RtavxT#S zcauo}AegXLsV_wSR^%SIwUlrtp0fn0cMfIfO(L-_EF`fWy)N-PDc8adW!U&P<-3&n znKH&pCmeV&JQZa5OGwPq8yJrAeIZQ2Ei1Nn28r-XL@ow7U#5xtlJIW~FTq>(NUUey zl9)%oi2S>wjlGM&1l-P?O5TliMZ(_`x$Q9szX#9h2*;6_ZxtZRKe;1h*j)&+J(g0w zSE+xJu$O`xI7~l~gx*k)>24%Zk4Hs*UwFiE&_nxnBd1{9C-1}lN#3ti8OVI5Q~nFz zumPfew~|;-A0ls1Y6H0tf9FY7;CWq;?fea8wEyA9gOxa&1X-Tm!pljN>m!jbNr7Ha zsdXUr)>B6Lo}&zVTPVZcrzF~?(+Nh;2eQ5wi(Ey*?rPyH!fz!0m=jHWCW(A56kZ~{ zT;fYbt`XJ=S4;fs!lX{d-f-c3;d8>Tgo`_y{GP!rMV9wvkomXAEk$w}$bNi|L_h8l z`S4SW+ySIsPZIs&V>tT%JPBV#8R@r>NS~5w^io0U`9#hX`E$y!cVrh3?Rz}PdC^Ve z-Xfn%IRn4jP9oot5+0m3-L2#+J3EYp>Ub-cHv)yj|rb8VSl^G?+ZTzSc4ae9DtB-^n8L zOlU$e#*@VNV>s5CF=Pq+T9LI~j6W?;mEX&Te66ILMZHqIQjeU5-}h!X;<2@SQq4+Nyq2@9lK&^g#FQvLDAB%hK_}B_rc@gw(qy9p3{XzVeeV zLm+)G&E+TkT{^z~^T5}*bnE;)hvN>#$#-g=^^s40%J(cJ->2KZ#Q7Y*LW&#@aHEtN zPwQ_r81mUW>we{O3s57Tzy zq%q^@w2a$y-ZlHRJTGp4wcb9*oAaRe^Ds@9SoV0PaY1~zj@uZi<0vTVT>5BT-;Xi= zw_Kbe^LY#I3G{qXV5U9dF~Qz1A;q5wr#Mc?-1#Hym`8=v9M5}kJtrWX7osnj56pMX L_sx&ZFUEm=tQ4n|4UDtJAeu|1(8*xF~0u8vU3;YDseGznbWeh03P+k=B`+m>8_nGIJ zc_s}k?*9M#F`rNSyq$aQx#ym9?z!ild*|(oI|epxzWnq{E4+V^s>u9EUDblhg%uT* z^2z;wMMc$unn;zrzy9<Xzr%D^9G;D15} zf`9)~;E(_Q$b&zW3{0IhEAaoZf9=<-ic~c;Z0;NA>RYlg);CbSqPIKNv^9|TVd1i_ z*s6{#U4Gvp)%-ZLrD1bNZ*N!6pf5}%U^GBecRv2eg68htP7Sc4x3g=wsWnoqNz<=c z>Pj!YRS}?V?%3GX+BeuWu(GeStEUi^b!)p~Xk+)*uBHt>nCgH?fA(p9WZ{~wEqzWa1ZZ)}fk9_qbu-iG0PPAmipX@eBX?Vw2I zl1{@We-3#W6scOft)t(exf`tap<|;D9g&EuN1FVJsb1MJaAR}dz}gOBjbdyL0rM5- zGzpWW8Ti`zmJUUuT?0*PB9#s6Vm<1q)xo}YV^?oiYh>XHCBAE81KquwTKoEX@>$vt z@u$C`s=)h*p9llmM>0CrHm$jGZF_#D6q!M&R9Evr-SqC zk;=jLwOzfjZdims<5lwpx}x*i+cymlxA%7q4EFVQ^mNCzw{NWkb@OW)ItIIXP>Ujf z^|is4tk~2G_O0#d7~I@7xaLZT;Myw1=p4h4W1MonMyjCNFi%ZeL5?v_IWV;Vk?-0z z<$R7*Qx^ol*d}8(<)!p~P8qi;&H2RI#N29u%KfY?Ro?)V#Z)8Ue%0igwH$1DhAroN zq{cCA9uB#sB}<2Z#9Es-K+EyQc0{YpdI98?NlyJ}DusY42|8c7&9}5OgP3Gyc%EdR3$Sn*VVE zav1O?bhfbqz6^d7@t=y7f557$s{D@^GC)gL_cT`SkjSRgVcR=rFv==C0AW5IN+#T#no? zStlj`i*h`2-y4S{=Y7=zj4x~Z24Y>E4SicSU<6j8)zUo}qr;;eD(wmQ>qvF`+6AY! z?bT|~r;OIpRyTHUjIHom>OzdDf|zaW>)qJh)3pqK($GLxTlbbOJv@8I0e=c#*XR?8 ztm+z$t$;t#36C-+O7$l9_<|L^n1aNbFec`qU-gF?QzDTyeX)*M*P8B4n`7E{akuLa zS8=7PxTPy<>dlqHYzH^=V0PBf(I4yX>lK&B-(&q><zi z0(tZlTlzNMNOR%)9mw=|nL(QtF4-{H*E1A5WeYuU6SU9`N8er8NbBHjrUwk@vS1#5 zxxfnW%MCFhzchbc@btbMOv?n_=A$&4(OWhHA=L7VdrbKn$`_E%H<1NwPKKH4Ja8< zfCBmw1Z@}^fDPN;??lgh@fzrBx(52zck~QR2rb>-*cI&<>X9l~2yr~E<-Yi74zjqr z(L^5s(NQ%&1fl^Vn}y}KstSyxVa!USn)Fvipz0kx-cRkZiR6c<=!5lTIai>gR}5z1 z3ey&0C$H^7R}8G}?wpXj5%jSOvM|mCK)JHJx2dpb2}H;6L=fl~;wY?2l#G?YQ5Ygp zxngidFIon_bs`y{`Z#b(&5VmLLjX;buv<0R`weB~+p4wgbxrG=R<*T#ptY$<41fm^ zlNvBO)-e#1fk*Ks2LknEA$%%}Fy`IV+vys*ycjB%cMMMSouiA^kF5GB26_?En&kod zP(;%#ktCOCmgjs1P*W7B51vRR5KS(kD_tU-Fz|l(*r#iUHb_j@MVmb5(-vXW-vRf< z$MFM!>B;r=d=1^uVBisVYgxUvsbNWL+ltkz{Nw{8Lv#0VS7%FC@21#hEwA2Q;gH~l z@sZUCdjxUfp)FmoHl5w#A^X8CTrrpn=GShH-}Fb8_H}N@It2W>oS3}ojs+_QbD;c? ziTGj8*wMQY(fGEGflUx+KTQzv%LVkosFp|i;Qy}0l2dFY7F4#-Pw;85atZQ5{jk=ClGwWnkIYTDe51Ks_;^hRiPa=`qsQLW&h zxF!W=yvvatz`205+4REHt{7Z5h{n3%{OY9XMV*eH?_VQ_RtLndzA7>fcsTxfJw9KA zj#KA_^}{U86X&U=ukXg8esJ7Zq1Y8UU?Mu%ML{Lr82MTU`Zi)2fePTqk{U7GE}+(` zO1+RIC>lC?dN#n9&CZ&{6!{5%E!~9f-l48H1sg(!ef@6=rkaM$U1&g-4{x}Mv{5Tz z>$n~fX;?DU+1)3P%4_t?B09K&6Smzc}Sv(Lz( z_0LsuunE2ZmQ^P##uaW?nY8SWHfC$PK0MR~ zQ`|T-Ad@XWQ!JssLhx$xkfSVQNNaa&qwf&Lo>w1*ww$80DR(7|VNqR1|dd*gY_#u(dOUGbL zK#UhH209lPx!IBn>4UP0j)aHpeK&UXVjA1s>B~|X5DUNy`W!;4;C31AOQ$XCf^isV zV=aD4RK=bsSisL|suW@o4>qMl9QK#(n#fL%jWl}U@ zDL<;J8hRMo;LMJlffuOeK2SnT;1>zuX5Z~~J8^FXd zvePc@X!rqT0}?*1rsE!~LQbHJX8r$*E}C9s6mQPg zdP=-NPY~9|w!^BmZuGP3w9LiK`NY`VzEkNNron8ungq(r@n@=w9QaOpyo&QOxT-*gcG|s?s1X zpQ|u*?b_as{(=!6>Tcc)YXcgE)R+8m5X=2;*39?kO%7Bx1I^7Nj(#h8VT%WmBn7YA zhd+K(k@@YOatg%Hps0zsC&XEpM@$eJM9Z=>31zAB1vbI~)Zsf9Y!nH8kf789>A~re zamn7AILt;53yzqfs=npeWRcfKD8*t0p0<2f815ZDS%i5HICO(WHi$GQfjr4D-{@$@)d#kAl{)7=EaZND#<|P z;vM=dZ~p0HjU;`SOLdcjuOogn92={h!&3q{D(gdof3f+3*DNs?u!%JUaw&ZQFpkZQ z5GV%WOe#S(fnAUD;wvFx)`?~LN2e+coU2I%LIL7&sm$9IIi2Onip8jawTB%MAdwYnUpWzkN#d_HuqLkFUwbl(gm=f zh?V<00YZx~Q@Q#JTZgzTGth+X1~4~%ghXiey#5zlt-`~Kz&B%E-z6Ce+GUCtG$MUF z)}-sw}S$0~s zWT2~K0!Dka#mU%o=CttC^hN+b4w#PgnZ!uIOU##pi}Pchr)Mk=qm+^mt#a^{waIPM zeCCmw0oIRg8HzZOVz zY-vXim!+Jp)82Z+i)51QbY=N0TI!QzBHWukhM4%C+^Q`#{7TTIK8PTBHOyp+FSFW2^ zc(mW-8rAaI>-bGRz=fSGACD}r<0iuF5@X+b9U=FKTBI6WaJ7d1j_NyKdI}&hd(yJ$ zcX@uHzfYz|9Y+}pxLX>34xJ*K`K@sc-+om1coUH-ih|oS)boN|d*It4%Aw8$_3db% z*+yi+>Rv5kOiS1_amI;vI__gNC(MAKj8?oEIrKSwvc7AeJIcwzYRP%_ne@7|?7fBQ zBY4e?Pycz$mKaNKQjL;5cu^kQ`QkGlu|Ty^&b_caSa{pqq!{|2d z8mU&hIa@dP^&;tKFn2*sfUumoxo@baGY8abx)dZMjpCn}ObyYdD0YH3707e&h@PTJ zFEUD+o0)nUA=gyH5MrfLr>^!HM_UTtUW&KY?!5%NjBNrJfml19jF3&KZtu=AU_+y!IV z3XSCSsoZPUY*p;0Yx?@ONT}17Ni_xpX}hwTE_iZTSwo5#lpb6iRk;#g^H?Zf zSJ6vx$Oc>|ciw_#7?!gJyC%|L&SuT`T#s6CR7tS4wPR?oYiU<(TUS@Fl3hO)Raxq)HT66j{#+Cb7*mXZx^c%UQQ)tM>fY zu~obJ^={RE)2cevrs6+L19NN5<*K6#N@y!p(tvE~?0$XQ@h7nb{tr}HZX5G2|fUlfM?MjSAK&u$5`M7&PBVkZ1g@V%$#bhZJzafL#1F zfbu1G zQYAae`8y)C<|q$OiHOg}byp^bqP>!4UVN3P36Uxfw3|LlzNb)yqlMsj{=unx$iZUJy*JoqRsW8S(!KIAL}IqQ1+vDyv~q`#{xFZ)+%8ht=6|3f6j zfmbFkCk;!1Rx;mAdI`HOeH11FfyMf=>>-h4Uhexqr-?oD*~6D}B9&CaHYwl4uL4PT zQYVn*B$TPbX6@2<&Y{!M6!xqH6cRh}wF*ocsur5SP9syuu(uj^lc^TST=MNyz3$+@ z0l}y9=1c8P5+tX)(n87a(pfrv1FblQLFY-fyUsf>i%DJ~_gPqSR!EIDsD7^29v zf8lqp@8&^FRGGUV*Ro&7>aLg0`DV(|+&zF(FMKpaA5+n`83$ImERFOP7SPskz^Z9o zv$~;a?b;QqmbGU$3JQ_t94+_B4*z8rG?IU+!XL1*NdDOoUM5z`xnoKxd^lJ&UoHEt z>B2E>+?mk1dczGkplmRgojyWbC8&)Qy-wt(w6|tqSUPjCX?SB-zt+E2U*p7iw-K1U z#SkU<*=a5g67e%II!!Jc>}lHIH~rItjkaT_G&MDPX!2p9>K$d|{TRs6q+v~i#L*=- zr<@Y+P`t*Q(68FcxwM-de&)7TtdQ4hDP)SY`{EU@2~zSD704Las1At1B8IQ!tWnDA z6Yug{+R#{yW1<-6@k=H%_QNDG9Yf+26qTGs`ibl+r?h?{HDo_2U&*LLE>WkH_XwsX z3WbuZTm**m1;#UM=Y@BS?UO*_FaA_0wMN6k3=2vV_)+kHB}0Si2Aoc~p^5uldp98m zkLM3|`mm;EWfzm%O@VSI9EPB!@5`I#e^1g7~SB>MYlKEY;kfT3|{|VeI1?BO&VIg z6=s<=n*vC%`hbwX-|E9;JdQ#(u2xxYo><$}>9KYH`_>+X@8}EH3ZwICMFHgk?3=ib zxC&EMsnTl~pi)Bv@D*duW|V?+KYs)@O#=fw7*(eGK4sO}FaBjC)l%z{tsUJx9C6gF zz#o=#O+}-!T?_S5)apb>9y83zv3hD6G)tcOP!UOOUOj;Do(2Z#flckg8;-YwR2jr) zdOKx`jT2BrMY38ek6tfh&@+V^q*t-2-RBr&Gz}SzJeUiksH~2(bA1-G?#gyK9tgu+ zM0L}OEjW;j60_c)AMyz^GM`#jd2pCIrGbJ~yb6y;0tz;4K&(y8TN%ip_kwfmhRBUK zK^-@>_h;)5#JIt-Uu|FM8&Eamh1dT(k3*I`fn3I~^{|orUJ;2X4mq6zn4CB0z??TL z3U}bz!k8*kEz3<{1e!u^a_c^tv6i|2@yO`fgl1I0fM2_m`ws2_C&HTRe*<()?2X7`-DFPq9 znE0+*j}oP+Shy_p4MHWyt%KiYJ%1E^br>4cOjUOwjtNw_U_&DCh zUn+`S8Gorbc6t1zU@Q`UDHJ^vyD0wBl-N1(m!`%_6l|-$*yqMS7>E%IQE7HqDyv|H7pTcWddihjdOVZ1y;X3rq>+FZx z@4xPzas0L04>=8W@h|?&9_MwcEnGsL?mt9M-+zer))8U*{hFVlQQV`kdrVcdqs-ygDt zxXdNsJv&DCCxA&hpwp#Q>Coqa)Zu<+4q%f+^-c;w`cDwL7D*QHMssUp|7i?pClS1+0`ViYo1RJQKxBzc#W zF8?~71Hn7kL#fLgEIt+A3b=GLsT2+3K)|eyDQAhn9iCErf0#{Q(_t=5LlAlCM{Nu;QBV(lfEH_<)!Mdy1KpMQTR!&>5AXpD7-xV}qJ%%Od3DpnQt?%%wRI}HG z?f0*$_NI4DG1&Zg_c*~?Sm{&)2JOyk!j}k!mPVd4P}0_E3J{`J_bp+`!Eb@O%pO21 ze@FGNDdW?_2fq*4%xe4x%~5*e8jqE|EJc@8NKJZJ=aBbztS|YTb?|z2%H5RgMVDKN zt+=L}#v>2IA5y*%{Fiijn*FnAG2EpK007s>N*u%+x<^~-9$g3b2yR=ff&S4Y^pD<> zQ|>Mf0!PgCcoFa36qSl0u22R`S81*sFTw3ZwFJ>j-p}MXlt1K(i32^%VM+DpZbf>fo8$ zEJaR6j;3#-HK>pOEV$^aBDn{4^J`1Eg`;O%csYDIHVzb)!hDqo6&S8C7@t5LaKsZ2 zp{n?JQEX>?yg0U)?TZ{;^c5o8X{8q{<1cPTYT7CAk`j~^LQqx@2zoL==8>iyS(@6! z#Zffn)T_&i*OLmMkd$r7mfeA}EuQwAL_0hbyoES(TL6}j3NVOVA#=bLaz{AhDeu<; zA>S!T4=qbRhw#T1?G?_+5U!{%gW6MUmfP?$Ss|uE4(UQ7hH>9=(u+ZdV<@hiLRT*) zPgjFRy>;Xu=N9{0!slB@)}3?mcu{Oxs;LZ)>8^Zvip|0&>quMp{7afDf=z+_W$~sm z4i&-#xZt8C){ℜxn_As5)c-G6S%4`V-X1^XVddN_|9piK0x5_VAe^Rmq;()2(Db z$c>zg|DQaCzX-vNb;N&BWbI#%FZq;O$3#tJ47u@p|7wBvqA$M)j(rq-t_GiBZ-*LELuJ;;j_{mIhAM(X(EZE7 z&|*VI=1k1x2my|lD~SCw+#JumT>;>m{j1>0K1K^j#EtjotPRpv2Tyu?USGebgx>3S`E4AXPH4`M&0s zb5ZWMS=-Ezq~fu|se_8FShz)og(UxXq@NCtHuliD z#&miQ>QNr5NKU12~Ns$tsRLT^tlqO-0}< ze+plP9H?5@)(#d%STzcktHB1W2(vEdyG)-`NwOG|kh)Rppbb2!G&zl6(~ezM;&-ez zCph$^eFux^;1KN7!5MfgdLChOpPV0;m98b!eABHCdU;!n+B=lq!18h_Pa5J9yH4QY) z?SsbF7{PGI6DePNpIwZ`rEU*j%gcdq8!m2PyDQwv55*^!oKut<4h`K10a3nhsp@Hr z(}^_Q*o2g|jQb8_cJ*bCZ7Y8HBuC{ z)%y$`V*8|yXW8FN#~~Ae^Z``}F~8`j0t6J?M0O!;zR;_ikdB3Gt#2zJkXlOZh9H)h z4u29a)mTC4G}@wQKUsfH(a=IR5QPFpblJe$=zZTS4NPq-y<}TOaG`Z%`hG=Md|7GH z*t@~*nTlLcLN1=rlnRk_wX|wjM^rIHND>coe6$k6dl@`X`7AaW>Q@dtSCe|9Qin|+ z@vWu?<7p{yaJV8j!lHMsi4TcCjl@qv|5mZGQ|jMbV4IZw{ROGS-2F|`KkHV`JH0wc z39p3?dQ1=WaaIvb*DORuDy-xYs)Fi~lS?rdOHi3W*Ua?S$Y`gRC=TL^D>r=4y&`i( zjCTgC+r`lCeSo?mS}pN|ocOUvpEK*Ahc1==5y+rQTL&M}ce|g@&{8c{WP3%h&N?z}zY?hUlG38ghk!jt&ZKoo+KaI-q;D7MUD|>;TjqywM^zglN2L{$ zFf1EEqTx~IXLzuWQ>T|!1dFv=S|gQ^zL`<`u+*t-2&gR1Y(|AHtMo6JH&`PIjNrB4 zrgdaV5gMj$&)R=`xQ;JJ4#=CRtyE>~^J!JeW>9fv=GgBTxeipqq`b2;@Xn#YJ2wWv z-m>8-w-p8MFADx$ap051QvwCwE$9ve{-$Wkw?cs#;gJ40!lyUfQG)dvDgrk6BKuZTk{CQ;(}qFw1khm1y|C?7vPtxEl!gIo>w)mDv&A--=CTlzCSQ;aQl{6#|B(u1M0fj+zoW~%!?r# zH!u&UICTW(Z5SL3;CF_5=5dXew|#uif{}TVz`RWxH@0_4DsVdx^>j&rd6URDAmV~> z*`Ha?g8h#s7YGNsHn&Fyup?RVL)b9U+W5SUeOvfT90B1cey2JAr^>M*qwq&$-OTIl zi*?OI558wGh7HPKH-D+u^zS6D_dsU2K5qWFmR^E?=i}c>{G%N4UoPBYyfbjCCV*>n z!L6PEuEhn{Issgp3obGN+_f&ace~&BlEfXd4sdG*|R`T-ZHto*V4r|ElM`YZ7t z7{T|`)UCAtowz4HV+F4#fa{OE_O@HMCb?*<&}F@NShffu|#72Fpl z3AX?QkOo5^>%Gemh4+R>Re0xa-!S;nkM95voUP$VSEI&f=)3lUEDn5j@YUzwd&b4* zau>d+#>cY!yB_#hpZUXQ`RmhgQ*}cIa_Tj32Xf%H7J&Od8qU;n6X4u`1|N0Y$R58F z?x^{QXLHM|;W6PJcn5R>DiCC3kJ>*+eJU76wk#dPdR@Ige}+48*t?x`@9I{d-c6}<~Q>f z44i3h<%iN%7B7APda00hDH7evh;(a)^u z?BZ#GzjA%2oG`zo0{>W&-@lJ5Z5M46pI^eY9{(Ud@;nm)LVbN&KXX!bJ^r!32!9j5 z;~#s1&!52k9{gkf^LYgKhg{$P4fmhHKl+>eeuk^bXBW>5T;zHty|p>dSK|38lqbzB z-;HPEfAaZHbKw6v=lP3x{tVbkTT1vxT;I8tYl>8>syJ+pJ3=i}M< ztAxKQ=lf26huVAH#+1J_CBm1YlJ1hjW@Na~u&&V{#4Sqv9XCJG4<&mvh@Ix8cP^oFm z-76d60ma+r?p=kGI-UJJzP=H|6cZS8GKmbNtUB&NFc5Q2f;js4qOH=?+Acc4_3 z_X7}~JuLXKtxm&FA66oH8$WL%`$Gd;y0)-w`JIjf6S3jkX)t$n`cGQ&gexLv^*Fm@ z*nG%ePJg;&3QgVEG1#?n3p6BGPz#(_k%O!Nl$R&^d}N2NT#9@upYYU4gI)6A3+@<` z-NkBOXssMAfCHrU=GNRsyt%bScn<8UAso{#Tjbq8Ipm^gf$V;b>g^uudhyeao$YGd zUp_y$BTx6HX}ky{ci;KGH|KTdLi=cFc0XzFHnn3mhdroV70Y=)@h`6C0B39I>}mC( zViKn_o3^~pZij`@-R|Ok4R-hT8s@u1UvT5}R{YlHMkBAjjeq_08uF#%3P|mnus=kC zKL4Xpnu($@fxutGXDWVoAn*lTPoEPAdd_`)XVXe;KZXe-YQ< zJoq~Bxk8r)0>ilS`Dt8>5v=$bu7o=a&cJE-cdou(ps(-H*A`rfcMYzD{|K%jIIw@l zYjq&-5Bm9^_48}`c{+R>evj}9_$B&zn|{7UKYv+2e_KEQR6qYlKi>==hV}2qmGwV` zYiI#{Soku$cIfLqef@&IKBBKL=(m=k}8Z{V^%v^;UiT2Yo#U(e^_7tU0-pDKP z9?;jH>MI>kzP~_UFVojfech|Czr>a8e*ssv|1?bQDUS`fQr>RX*Sq-sy@9~{FbySq z6Rw2+0Ir1p7_NkWOkaP`_kjNw_~(TG39f{nhPD%aw!YTm%5pdIxgikP#%p6Ba0{Dw9Z*8}>>xh>!SyS|puPT={iyq*F3pr7BXpRd-> z9r`(;pHVzegutYl8f;Xj>0q~%vsbFd?2=MDrp#Wcnwm&$C3a9%R9t`hsrE`8{se0Q zP4fS2w5ch8>ak}^#eNvu;d6z)UZk&KeZ5#;(MjVN1qi7uyaws0Td)>$$hrfESmR+X#tDpBDVo7K3 zmONzlZjqDxyB~XZW?`YZ0(orZSUgrK2P*lDE0U?=RK(V)Fi1%F;kDs1m6QPR$Wbgt z&-`Iyxa`Nj`qv*=A3cgxa^fqnH;YxKZrP9jU1=E3-YlxF-kT+Wcd~cm+?&Nmldy8< z?RfC)%_7(v+nYs7PQ5paP^nv4i{IWX`RXLDmcoD{Apwp?{5hQ znfVz^SKk4MK=A7%<=9hGQ`7Ae_9HJo5@ce_D6?qSTSxW|v)u8b_*36L?fL!kR0mqD zgU_K5H2V(Lg&i=+rk#y!S}S=so_&isz&D%ES(NE3it3mQ{2l8cX;N6NTbagS9hpKB z((hL!e3lR9dkww|Ve&Tp{$lfCmidr=e=zc}tIV!=h8;9^<{|f=uER9b1#ca!1bF5j zk$Vt-phWgA!9FVG_(Si7^WWP+erNY~uO#^w6d-6Rcme==J}5!#UsDmq_=orD~omHHhLZVv29~gTRhZ; zgY*419Avk6Jg@h0F!S+sZSjzXPj-vPh6%TL{5gj$3`&bJC><)e$Kwt{`S0=g7qCTY z_^mrnPUmbQPcHcb066(`uJ^ALc>kav%mcpzmjyTN0JdxHmddqnLBHh2`;LNN^kUct>5XYga84IXcs zsAL9g&6{V8&1U(7p+M{LyI#bJi5@1=xm4F@rlurVzxR`0Gk4Zp(niWa{y4U@r z|LaLW7o8K2F?9#;>Celf@#pWLKfn80o%~7=CjmXClV431^h%CU+)?KEsxaT~9Cfn6 zy7hDDLsyRaRyd!Yvk*MFtYfw-k@ajyn9fZXF--xV=4&>`UVGR{lA3utN{kBQaWkHI zlCs5|-3M)*@@mqs3+AR@50?AnraMXL0}z?Kr1al%;LS-&Ul~FVKga}D*&t^nzQGr+ ztn^uum3|}MVuzMVY0cE&Imcg3-zC|uD&rf2$}Cr|ZI9$)J92J)TV>-iH65*BV?b{< zGoAAaxFAm=rMp#qb5tch8ZzRpn<6>twQMgy14i1JG@L=?CUuv}QQujr44NxzxJi=K zF*i{oL+Y?MNu2_NDKRFmqE6Nkm27Msc_wib%?n$J&#@E!p1qCQD|m%|%>-Et3mHO? zldL<7Z*?U=EL$Vd<5YjGp``f+(tNwxV(?W_(3@QfdKh)2KB5)WI`G$cRAl5RDVR#e z)jet7Cc1iwoFu}{A_ss!Pgiw?wp69dro>;7i5j+!JVn}((~QOuaq6tp9#LVQEK;s_ z8AHunO6=fFkY+_sYOl2DHol@t%cD{0+td{O>-Yw>)?Lq2R0tg_wr3lRIQswsBAo(u za;E^)g?yA(YV%1CHlMJMlD*U|l{n4~8&=}aNDe#wYq&AuVe+}9H`wWB8-$|!8>k~- z^53o7_tJj5Qs0%9PGm1K+`r;787WYua^LsrJLJA^#jPX8dPJZ|e42DlnETEtsfI8u zk;W#uXA!yYDrelKkFdd+Z5XNja^HP=xQsol_XnM2x$jqam}^6x}5;%rz$!QDOzLlI=( zcl)JcnvzwY1AtNoSqrycnmVxK5!)|G(uCVD4b54CQ(qEP2T9_@+b{FWIu=zb=JrcP zmfC))iBa1xvu9=fk)PNM%k7tM5YXErc@bYHzWXNQ zQ~qraMgZ!Fh_nj#S|iJ6MB^{xgoU5tL#iH8dg~x37Ln&7*aKg8V&@sw$g#Q;*1j)< za9l*)KdJMPFftQSdRdV*@_cGtN!=4x`c}M%#$N)eB<|{-ut#~i#B?Ia)cwNR_tI&C zAa(8AskF(*Fd9``2R}{cN?bqtk@Uy#flfgs zulQaL6IeD@uiZIy_FROA|7^DP*w1rJR$}a`5?2uA?cqJZk-C|6)#3Zj zQ3y&UsN!qbWi>vg0%Kpv@y7t>!d@KvY^nz@^uWerph86NdIwWX>2rI^084J-;Br`) zV2$i5JJA?kggzP{k8Mq(@Yp4eyeYwOJ2civfZ#>!(%3S46g7~S=(2SA)?+^@4q~(E z+;IGO2?zA?vl2&#zRBXcHplZCsV~;GzBE2`kCq#2WJ`GzhoeQ|i(PFcTF@AF?A5w( zx@AiMyL8c*`qZir2K;)b4UMN4NA2cvEy(urnY!b_u=?QA5Ze~DheOfP`eODtMkU)AG``pZKG*GQqX@0n;TuN%Kk$xFYjmr{^ z4^ItP$%oh<7%IUV-A1q|9a_OoZVIJKccVR|1cxTB19eMzvl2H;NZUv(+{RNApa;Kj zTH0Jz_n?*d7`{u8$9S?M_1q&0=~Et)uD(4FY&pTKk(Z<3;(EBYJg-0%u|`@$VAm}9 z{z??x*M@J)9h5K$QU!cyF%;HFSrifa^@O~}N<2+JL5UPmW;?plbP8BwYt7K)aks4a zZF9G3F*^1i;LaLyX9-Tw*$rlC?sS7GP2|q|g-w`n{cE zpcnc80t!4S&U~103?;52(b^x2E}9*?)EJ7;R{BN9>?eX(p#RsDNA33)2b)7t8(z<< z8Bx2pJTsjxj!~XfGcvE?K)S5`3DW*t3`v5evJxL9tdbDNT3P8Gc$+N|Vu@G83ZlgI zz9p{kl$gR2XO`+Z=COpL2Zl1$Tw;y90D$xiDYGLyJw7@$a|MXh9YNb}jXa8OYo!#N zmuf9RKek#2J^&gbM-is@i=#ODZu5AOC+tBES3S=I<-Q9g&@!AFDoviW_NVbCc`|(i zJn-|-VC+`Mfrqcjfrn2xb^W^T1-rFm*F{m_O_l*{FML5Dy)}gU^bLkP_6;Qt@(_?G zdhi*VQuJ`Y|}-!zTJiOrInHSNM~FBNSAin8gxhEetdU>pTGHh!XbqHA3$EAt54hRERoVtX zA(y-L+M&73E`=KZn##A>saJo6O3j9zSg^5CyVxV@@!{g}*d;z1=^$>+Dxg?Q99+1V zQ<#?Dj-L^T%?Iw~rg&Rcp>=UJ1c0U%slOk3Ghj?V^rs9ekvwM#Inone3}q@aW_oF; zhzAW}9V2S*Dvr_zNc^56s~n0HB8%2YOL%c`Cs3{qWuD?UHHwQF)T*A}5g0w7-&W#3 zFx``WU>C4!+a}Qu6{qfp*5YhOT<+5m6~YJ{s@Zn&J? z(D=H#p|Nl`{8$gJm*;guBf6mxrvRy5*!r@&7b@5bmz!R=hToKRvqqMd*-t1vrM;9f zEgEk=n+JK-L%8FwyksSQc@hQap4?E9`6=&JVG&UsCSwKDql-$^c?;>#R;?^zmaUQX z$k@3|Yzwykm z0~ilsUd;%<3>aGBe7rjTZRxfe4JX4a?1dSvo%*+?7js!UkoqvRw>4DsTGU?e(I486 zWEpIV^qMmI7DD^$gS$}IGHA}xqSzTwm$1C(;}NX0jF`E-7Nu9BFRnlfnU4m*QKGey zedw@PPuh=zDa$k8<@nhHe5ziz|KW)3W~C1k^LH+sNMWy!Qe0}Nbt{F^boyhUu0;D! zx!j$9O760Ep9F7*%6dEAcZ_R#>G)n`@PywW~aH7OG%_uGYd8wLe^z z`R#8}uaZ9wMI0M33~7F0P=V&ct*$2_v=i^n{24i0xWMH(1-gqfzXa>@DCbVpNmIV} zSE$p-?CKerWq3}17?af#-=b4ecicMod00RDLClgfpWz*aT^m4QR0Tr1ldkRonmt$s zG9&Aqdxb}IC%UK=5_BG#;s>5CuZM!r53z43∈Cd~!(3tmH@0v3}4loO3dNNBiMo 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

}6YBY=v*X&FHXEkJ@uH+SlXRNX`ME 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

Y-Wr)8ohbqb$4<%eYv|rzn5%4ZWvlx(L z0^}5>Nmw+i=%P8y52t`MyFMsu`1?Z#HDv|WRkO@lB^GRS4UGW(N*|IORaH7oyEl}p z2uELBO)|8!qJs5fa4R0Ls9+8%a*b&jT@lkWQ4!N3uCRXN%0ltp<)~cCq#|_($Tx=4 zA~LHlVhd|$X$H2UyPODO&3SMqFU-kH({b1>)PcRRZgoYV%3umiItR0tEnoPiNOY^=}Jnb z&Mhs$;p(~NAB*<`cVUDBw`eOB1%*Sd)DW85uuhTb$~N>Nsh={Qso zy8k!~mbEo7#n}b56%{myar0_IWwR9A9!3KcJL}vDTA#2$Mi;_%sB zA;++@737GY>6G*b=s)^wB_oZ0G3`5GD9=o@6-*a&wN2Ilc)mguc6?d&EOZe11b6Q? z0?sMYLk&ClH5k?^s;(}pW@Y+LC@CnPJFcR%W@Z_VPSUr!3Q8ZZO2*ADyLv?B^eS^V z8vO{z;?=mBRkan^$Af}9faHHf@I%2b1W&|5hw)Q@EazsRf1y&JNcgc>-%;Klfs9YXdWu*C zBp=sf%;#<(<#0Vl{6g@*g59xBVt6Hx>9+!z{(A{O6$>)v^9YdfryOmt6iB}3g!W?L zNI4w@bAjZq1yXO<0;#vZ0sZw#J;r!Tss9kc*9BXc{u`7!pJ*$UPh1MU5u?}-0s59H zRR-iiTe=Z}^!-NmGThxRAlh&?C?Uj+0n z!Pyyx--L4}68;C$E3y73jmI_(#B8NLlK3wfze=h93hl$zEA?_B(Eoev)saTN!${w( z)MY|12T~7D3jH$UZ&B)>LVrQ}R;9iLlJ972eEM<lD}ACPh{5}Ye|1CadB3jH0B z?REmTd>LK0oCl;{LZnguT|n0VYar`i(9xtD1x)Ra{Y}#7mzM&4 zccUH*KS!x$#B-Ip3+P{ieouOUQlFB(N2#4a_Wu*GVUmi2J6(X3Gmr@WB8H!bXWtS& zoA_tg4Upwa$Hob9oZw2q&4TT*<*wre|04L2U@9IKr4Cf;IH3P8c(y}&kW!O~=ffT( z{5ImfcwtlMcZl!@2Z``6=bQxo3zRAZdVj0bWYQNRJ-6v1ip^nz`w#j2)-=1 zQ?SEnCcd}eXu&H4Zz0}~w<87j3UXE|BeTa%aPT!RbJh>k?pU zF65G4i*f4=AjQKD5MjCc-7wJ5V!=xWp>KW4c=%>U2rQTuq-=LRl6W@slx(o3U)Q9*e?47ty zsd+%k`yFY>yO}iP+(Crg`xuV&>xoGJCK2hk6W3vW1>eQ~S`4I~E+>tCQbk00e=qT4 z&jF3}q78*w<&;{-R0(ud;g!D+It`z!7Aj`Rx^q=83&ogwfU{vrvApL#2 zfd*FqneGR{ey}al?+VU5-;4{DK#mKGfvI<4UP`RPyNrS>fz0v*0?xXMmLd zrqJ&RZWr7w=)1tkr_W_RX9%7xI0MLf%o4g*@LIvB;LSkhw^ry!1fLe%B={ka@{YRD zMCfb6foAzclf0?C&G zWcqZ5hYk(z#PB)b5q|QKALgycBe+2A@1_ywnX@_cf8?Y5jzIFGTj=o&s?_6IPmj?H z&mYr1_*)4a@7kbX)E6(0A7O5M(v;WpCmpRkPfPq$623vgpONrq1rg4AdK!g(PUtJ( z{~2Cu%Im2y>mg57lKkg||Ai#^FN!>bJMy(WAvDA&Po+}-5A}hXD*ylh diff --git a/lib/linux/mathlib_i486.a b/lib/linux/mathlib_i486.a index b5dab225c02119e437611d9b0bbcaad4b2f712af..963b347ae45d0c3b59624e6676fedff9ddd0b16d 100644 GIT binary patch literal 208902 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 Vn}&Nd?9%Xk4gJtTFujQy{vUpV6CVHo literal 297798 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

Mn0X}VTd8sq7wF--M=Q4wnYTtKdWkZR)_{| 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�kxe2Ni8tAqmH%f{lpFybkt$N(Q1 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

P<;((<=w- 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%0AuS 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 Ng1v%h(VBp@;D5fYc8~x7 diff --git a/lib/public/choreoobjects.lib b/lib/public/choreoobjects.lib index fb59c41328f89d2c0fe1a5f3ad563ec0e03f210f..bb3231cd1c496b38f2c7035bf5885aa37aee8cea 100644 GIT binary patch literal 2834448 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 z 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�&nQV!S*qUk1gs^uRN$f2Vl9 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%0DyMHENd3=A5 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

$Oe(S{YS5dgonhk=_@!8y=LM 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�}o`$k#C% zV^VdZw-EHk0{7xZZ+Z!c{!L@N==B1Bzv@k|6QW<&7%zJ9 zp!Xhd|K99PuQQ_ed(EUIcPDvadn5zbcT3asPSzNcsvEsB;7)(tn;!M)O&a4x?@L79 z3f!eMWZ>NN3#wtP)))oEAE)wdL--ot?s!vBZuAaB^cxx@NN0Lk$ap7k1K;+h$NB~| z#*5y5pf?M+hOOT8k`Vo<#(2^D6_IO!`};fI^r%n2(iks#m!W*$0k`O%-t^cWD>TN7 z9>=$pz&%LA1J12I_D0-$8l!;t_NGUDdeA2(CAmAbFZJJ1z@`1$n;yrHQjIaGI?`nAB^=&`=nXpBkFi5}(oR^VRz z#+x2s#%~(qMQTsy-&H7I0dW8RO;B$1s89F%-J~RUCwe!5USHtW?eeB~0HVLw7?Y|Ky)4j6 zL?<5J+(#(LB1j`ZJYOjGpsY8PV+kMpL-{!ythUi5AQ znR9^a)xn$IejqYIW4!1s2bnV9dUD`|bK@WBjnfzf#2+XAJq|L{f$NdrO^@}>(HJj! zRHKuD%kI=Py)!kYDS8(IH;0A{oLhbSAnsm`Q9%50s;>buF97#K7jJsByMEOeFM8V% z*{*Ahu>%*KTlpw|2XzyS0^*NT`N+RxfIB47n;z$blQhPQo)2VB1@7FWrs+MbF-_5X z2DpEA_ohcablF=lUi8iZq&skz^zf#~_E@DcUi2;onGL`d_VlLL3q%%aj2AtM)a}4M zw68b4!65R!#(2@=e6R=p^xxl`9^3acjq##KmYfdU`~$q{(Oz4wF<$g&);|v1bq9LW zqrLlr#(2@=ko7Wfn>g`;bL$_h?=KpofcWFoKM2|Dpcv!OgT3huLHfzSG-@2tPV{CW z;%Z=iJH(sbu}FUmI#U@t6r3BqxrnF%W_xeJQEr{)Z+#Iypihi31s9zgy?jJW2WI)9 zf^*{^^~;AEqX^=UQ+=-jnQwtxd|1=;p4OPA=)DBo^dr3KrGv;7z`Ue!L_3x5B}BXh z%pFGxJvaVQp0{g^SNRr$%oo4~`w2Za{?Q(~TVuTFEeDw=fh#-On;y%3oyK_4yAEV- z1@72myyY<0Cz=-H$CdBb-?_jaYQ?{2m436)EHxSnm4@xNPjahFKV0{ zz0rtx6PSGl2|c&=W&bz@m<1Z=MsF%2mI3q0V4>&MzO|sY?~oW{2`)M}dTfs?f$2BY zn;z})Q#D2r#2+XAT?H~#z{RF}(@2k%_J zvb%=FlvM+4IQApEQ#jjx2Da}u`;>=(OZS+oxnUiPH>!8IgLk8A-rR5jIjn6 z9sfGf+m48rfO-4`Z+f{%-!(7BI1v|}n>=qt^v%H3PYB~w`D}7Z{cLx8D$ma#&(Cze z%-yNJK}385%*=dS`E2dm6X_q)7_*#C^m>5ITHxNEB=p?c_XrT_SRfcLdOko>fXgrR zrbm1C0*&#a*B@kV0q%t&Z+e_x{t8Tw$%5lwr}|!nh=YN7bc#1U>eG*b`A*}!=D>r=M;FH!8*$O`uM_{M54HgFbcx{H^b5<^ zqf{`YN9RQEUO@T-_eMalZvEp_r0-A`W0c^cb8C+W5q%#plV^F;WBXnN%v&1gMXy&m z_;R{8z22brv&OJ|bWZi{3^E7Kjxmm?@TS)v=}*!aMa+d>e~?)O+#{9V^rj;HM;hZr zZ!X9TuZl4qtM;as1|pvTvu};y_}8hv90Gd-6F9@09_^QFHO8xai6C<;a1Ymd(r z0H#Zw;M~T`6h!w1W>V0b9_L#NG{&oZ*MZE{z#ToOX?lK*X^P$%z;$H9z`6Ag+I7P< zMgj51sXewMd=zj;%=4z#0l1Si#*1DLknsaoca}FjmhUc&@uK%GBJTrk(b?YgxPHGv zW4!2f2ASu9d+i)=dKn3NHnIHH}(M|%GNruzj#&rM!PFAJDC8s|oDG$I;+S+&5M-W1UL8klhl z1?Se^@)11^mCxVu1I&dQ=SJ^3L|g_;-(}wPSiX~inXPeN^y-1> za;Z1Hqd;#IFy$KO*1lUo=3HPVU+zsW74$9wW~Iitm2Vp&)&O(ImEQDdU%jC*@G9rj z9uI=d4&bi6+M6EjmrWX@$vL(!>3sm)vTMERwMX>dfmz1}groj)D&KN2Hvf8HZW5fA ze#rqQsBuI)(Yp*0^MUDli#I*ar;9WOUgezV{fL-Zz)inZ=(*_^>c1<1S*3Aq<(rF$ z7l0XayEna9L+$FdW|7!6XbFtKme>s24(-<>!bYjYA`+FVZ z5jg|6hb{D+__7??eFw~4_ej2Oe4*X>HZX_Z8!n#{y~hz<0gUf{Z+hIqQvl512L$IP zSI>ektARQ9ui<>%#;vu$e5G+jJC*M?MEnBGjjT9ah|jip@>PiY0GRqm1jltvCwlQH z-w(j-dQ5O`{5ulqQ^A~*$sjl+bEHQ-R0T}Vliu{cMf$nGRICsj=QB>_yBHa*2d3a@ zZ+hIKun?HDpJ|%jo4^!5=S?pe^sWSEg~qwn_hXQG5txTpdDByNF)&?L3yy!C>iY#E z_64ThT5o!%BmH1tZq+#2@lN!<1(}_|eDu6Gy;MZ+vmWiXL2%SdPV{a9Bf4&kG46lC zn_dS*zYENVFA9#&wVmkQ26}T}iZS+k)tg=((jO1ZH5%vE9)m#Ueqi3)>`ku_^b%i# zy@894&)J;H*9+0-19S5hZ+dKxSAiM!y5RWNiC#V;GJ(1B4R3nfC-}U^z^j}SJjt9N>fjM%U;N0YI9HPepbLj`(^k^rp24;uGd6jP$Fo%5PO|KaACIR!P z#u4o#FYLe10yFL3LeEWJxbA%iFsFPfI5&EuK`#KzU7rcgt$j)FZD20@TySpVTQAV- zz9YsM@E>n_e?#181OSYQ@woEtr;X5%JcX8kDi+}fAp#a}fBUgezX zOFMQAa8Li_UA}3+eF4n4p9ROiPV`oy;03@W{N`Q0Pmn$zn8Cjb&dpw140@}9$&DdL z@N58=lf6c{{0lJmYMfj7z5wn~U~Y*OdT#Pufr!n(jG#dV$8}ey`VNJnc&}5e(X*R3 zy|YlDaloue6kHz{dZmc&**(@ctA{te5h&k-z--@NaI;+KjX?Q+JSf%})Z3dL?eQ{T zp3pcq{Wl2pcpaF%4zy~e4%HU5K(&aEG@zK8USHOg_( zp<0gp$cKnJV6N=%O)n9+=Ye_iXu;7gb1L6f;4%lq8V9Bb&P`8peW)0iT8;B6-#NhC zlXXRz8YT`(tB`qlbCZV?KUhN;S@ne;jA3fGJD&rdI~sb-?_tac=fBqgvvj04J@$`hf!U#PZuGVS_Z=`VkMgER{_O%Lj)oST8@+oG z*AaBl4p zkBDx-?3?FJuQ%xB0&}{?5$#ky_TTxyoHbtPx$*BP(-EBt%;hHu&P|>>qfl=H^O44Zyd(eE9{&O6vy;8choTt=o)T-EajM|)~A@o>ZCpowbxP3}ujk{=A!nyUM z`w{mxFy{vZ$LF3-^sp3b{0*4EOmBJ*A^o+$WX%#B^@tNaPEoD`=Hk=6=~0hA2h3KD zLo!EtJrMCBFyGJirq>tg`&Psn`MBu#*QtCx5K#)u+$wK+d~fl7U^Zx+TlxAT;x%A? zs`jRLIq3DPi8Y?ZMaRER<;z0EW?*{MdDF{8`W#@EXq+28>W!O$sjnA$ZvBY$eFm7V z8s}EuUWoV*nBV7kmydFpa%QYC7#E!zz3qq_1bDlT7AQ*8xFwZpz&aFL|Pu%&? zlep;I`1da2_6BCB#<`6%M*!F50?Zq6(Yev9K*UI3?q47{xB8v|8t(!#excyp_*Vpa z^}uXeb>c8wCcLTF#sW-hNk^Wm?4r&yf8@&|JO9iI*VsCmJ=&uCk%1Z@zxJ&tN0e2`9LBBoR|^KDlvCrDZ9gl=0lRB3us=KUv839^-O)}@;ncZwMJA2JO>d zr)5=_)K}tr>UF;2s!|`$!4Kl}z`ALLCDp;;wDI$Nq4;Uz@_hNV)i}<%vJ#MKvntZ+ zN@pKkJ!4vlIt#IS#_2eAuWlO7;0zSk1$1Z$KIl>vs2G4)<5;6-5`}m#^+^1P^)%d% zSU_=eqQc`Y@?4(+#w>CQ5gjw z&Vn0`m=h*uj?0*keS&{XMnO?_USX(8@t!b02MsJNxh`<)+ zj?d4__GeBWlbdPmuOZzcAmbp0#=eL;I2m&&BPTaIFUy~qmr+=lUsQkx^b*lUN8rfr z30ZmBD*PeUaG8?}ri7d9V2$sl@%a-AbBl5(PVi63&McZ(VC=2q6Lox1?)Yqoj%3nZ z2acbZm7T|~5sKMc#}rPSJVAAuP>J`^F*%bbWHKYg2v%iZ9WiBmMo~fTRR4(+3-YoG z^D{EDjYD;Q`!&3GRTUI#hOW6!!Ed@ zA_zxL?u1-4&jE;e82svB3!Ie{0I^Pt83?tfUjUoQEebFp}I8S z4~|e##Wf?)*=v0z)m3#t-%F)E48r4E~_e z4dlmQbf1!0piUq*4n)9TnO{!%+(7A=@*qB*GzL0qMC!34jqZpftINs*6{W#>HK>rW z9AVe%0!mGrU&sDUa3k}Cz`VRbU7g@sg`vKY#@|rlbN@^w7O}{zu24M zr41f35`5YRz*z($`*62|Zj4X57Uo!H7B*^C7T4sk>lK!t703#d)|UioN2CrOsknO4 zAplvqI=7}4U8lUdN^6RI7}7RY^hh) zsl!IX5QtA&(+dfs)KS{dkuU_}lL}$uWSSZ{BN(hLpHUwSD1976(IBG-ejmFx^eyba>e?~$rW9Ay2aK@@&DJ?e%!ud?Ybj22Bu5Vj5nE~} z<+MI^2=W`M@~2P-YHO>iQP2GWcpmm_rZmv_;;Q=M3eo)I5OtOh#-qcCRXDG5Ms)?g zZ(b2dPtOc@qg;FqdT#$n^)M1ceSA{8I8+)YDbKtPi2;lE2&GSoH%JK*gu^UOVNH2e z!HIeJ%DIsY=y0c)^mNAOQs#oHuR{}An~H3TC~mm4em&NXG+5Ufm%5I(kIsrcV{5DH zYm@{;4AL;5;*(}#+obiVa^nyLcC`hjr$hVVdyGXGHenRSC;e-m$W&l#-o(P}%#3_x zHys4XKcgVD&x%gU&xR?2jvN)8JtccWk&0*UdigNq;HozUja2NvJuD4{^QuZFs;PW zpj-#0nYwiyN?j9FYN>KY33Zn0ExoAM>XlL-qH4EN*Dgv7Oe4)0fZDBX3Wd6Aa@Uqg8>!5&*PZmSZxAqY43qZc6hUsiN&u}#vKuMLWCV4 zBgrf_<&Z(p>}hI9{Rmam7KpOXIUc^vFgMY{h|00M7bQ!nHH$@PWFY1>rbeUaQ7E!C ztY)|^2BJ;AQ`D=Vwf+7|SV}VbQQB0QQ&qDpV-7O~hvt}4`35R*yu_^MWI z6~^t13iY*T6|)FQINK-<)RokhW7VU&3bM^MUKCbdImLBBAx2}P3y7%?DN99E!Pqz0 z2VuaJ0CIL@RWqBg5hFysX>$_HU`HRqOx#){4IQ2K;cpS`?qunJ8ZFL8VOg>qW6GNw3fq#sFli}by{$ll=4JYGvqJMye`sP_XJn%Uy+|f3 z&5?zHii&7cwK5l}zO+Pt28p)F(MuH641PC6soeK;qsZW-EZ`9sm~%O6R$8x&vl7m$ z(?F-7D9@i+fHj!Rj66R^do|Xx+Z?K;69y=i^jYlcT4_Iz-v>eovbbJTY!5@ld8Qqe zz#OxzoC#&>wSo~v$-a;QR&GHxj6Z!fA}8bhQKvW2bXG~?s2n+7nxi3g?;S)dc3Hl_ zq@;#o2C=HID6Y+|tf{Z43n&$G2@|-g5Oh)6^b2(vAiuSl)m3vak>})x!`))XD2!Jj zm^P+amkXN&XVlgf&x87wV`*W5(Qn)!v{@XN`+*jWsW?M~74(yaGw5VNY9(|bdKl&_7J!3$VE~r^Qq{{ z6{Y2KK%75md7KH$L;u_tdHKt$XVjOetUtm4l3h9zgN2&Yc0vMl8)L@2U_hBae%&Wk zF9Q`>hoEWymNM=2R6hd&M{7oE^DR=^twL^#0aZ#aHOUa) zpv(ourRBv{+4X$FMjifc^z3vzA6j8`gZrKV}it;*P=+QKo)F7Xx zDz}P4m_M0_*f3&GAXr-zdW+|&tuj@fE{J0NFh+b@pVZ=N&LJT8g zv=~yfAE2xWO)-dW1?jwfB%VBv8I+4y!Xh>4b=&^mK{JsVJU_bq8gwxedna6u~w*h|9xHrQlUpV_KiU`)q1$p zRSEQKVfCVTXRHM9d)@y`D;7d&8Ju8-+ZHu#f}&a^GC^~mh(@OH&cext<&^W?KV!)w zEm+FarEC=~i?Z$%UMiw!-ht*Wm4|B(DTV|Ql55UOlt|p>B@$^^NvA?SB~m|VC8cK| zVzf~{Z}6f8QnZ>V<6NpznP26VAQckLm9WRdvX>KDR--+4F;hpaZK-vgOB|yj9*wH; zJ`>AJV$+qXk+l@PM^#Hb6p`ip$hvb}HU}Xp?bEa<>9Hy_cOy&;nfH`%8L`|y;G5Hf)DA?$#homNzXF}TShgxmTO@N|uNlzU5Cr_9=Dh>IMEj+Q?f)BXHvK4tqW2Y>Fav85#WMpOhsGDz&V~i8 z9+`#3RTgboqJEww!qOloq=yj%-kW9!yb;PStn1X{K8q;O>jl-r8^?!_oyG?&bSm}m zBbbs?TVEHf$KCx)_k~TDF=Q)Iu&pB4a-7V3uk?+HPT0Sm?nl&bv69 z^y}#)2j5#!x?F7n;dyt}%zP|Dy`P_kX z2cb^PG=<}{=u1`ptt2hK)6?b7`3KOPmK_mBV?ITjN)g$iW(MIU;Y}c-AHrewtscT< zAoWJlwzR3#%`|1LO&A%YTa2=E6m2)woDT`c2CBHjDNw4OK37+8M$b-Sd2WwwGN}kj z(-xSPCat$DIa)Ls%vQK>aW(8ETc8tTe%$chW!-Ojf6FKS+a5aQzT;oPYwCzkj9K;3 zO9TG()2H9(53X5xTjO)>@!GNqfB*H18rRg`(0k|fSKss>|1tQ^z0`>@qec`Yz5ihS z2T$bp+Ad}L?EF{uK6&}6kH4PscIwLG&_h-DsD8sf-#B~yymr@S1@CYt!pf%C;uHvd`)5P8u`qdb}>C!dG0p>#zsC?i;ep~bnUXxSdmsT&C+4=BwUnlL{^!w2>u3m>@YgBk~r)Ap%>&{p+ z{Gvx{uIv2rXp{$&*~FNV%x+6wIpWvAt36W>%{lHC%rPHV;g4PO^S%AH6x0m5clC(r zAKZ$t9^hSK%!*fv?|oOg|zV9Rq8UB6uv!D6;z5n2o ztSbDRACi9he!a13>w+`77f*e73|=!+;dO&gfA;pdj~xDwC;cbgJaRqwGpPgVFS_BT zITvT#AKdW6&sAsqwB~lhctV9gH2$m4Z<+CX>H6~)J~#Y`Sw3u+N82aHob=1G!tq-U z?isgc>Vz{F?0gGr1Sx>G#R;$7rR?d!jr0W$^Htah8>hzq4PQyOQc+#KuQSZxdsM^%^;dWaqi;M&C{>&5= z9&<#_o&BCT=$D6*>rUHx^%F;9kFpB?Y+cT%+h)voqG$VS7yS0r+-I>}AA7SCW4`#0 zZ^TbKH$3s~^E)3t^q?F+mZem9>0KXny5Z~t4%lH#df?IW0S$pFZH!6Y!d00_nW^+s&yr4gRKZmjCP}BV(_5AB#FFyt?t0>eSD(ca@%d@7t#w zy%*&6Q5C*v>dxLjjM*{hiQg9lrVq;-j{V4ZH#afnyP?6p2fummH2<~jN90s|z7wC3 zRN*&F>i5t?tFvPJt(&*`%8_qAh+}Y7_!VQ0`0T1~3;nsN$KUkxHE*E@=Hi{L#F%G3 zeDSiC-*h?Zy_zd}eeAnrJYM%#;d#}I54~hi%8jer?|L@laV`_ z@4g?zYhBoaofxzE+25uWCq8@Qm-iTj%fCJUT)bAI!att4e*2NZHShFVG2q&dEB-bP zuUD(^n7f}J_4?WK-+nUV%*EM1e2wz->_$3^c3isY+REJY?w@46o0W3a+nB?s@DWe^ zHvQD&{!)2fe(=O+uIY$&c~OOr3Z`v`2Ds$;_iy?1ySHyD#OEzh*2I|l!gg_|#`l^v zrsT{UI$V70b2tu1g?GRE(cD!pP5|e}47U=hhn+-1Er8KY)%3ANts@fBo{UhY~woQuXj7)7oL^ zcuR%v*Z-We7fx9^vDde?qaHfp>lDK{4kJKf%!q-H_x$#;6^|~?KYm!p#}{6Q*N0U2 z2?uug^!=m}=dHeY+QTvX-~A3g)1|_vJQtU++rh03Sa-p@8>TlshV;1LudRp zta#d!IEG1u-#NVE`SExB{{6-)Q&V%!o;DSqtL*S>qwtIy`%Kk#_;-~K&Gf9t@LJ{jEW^X|W`ct5vc;Z@K}7pw49-+ui@byn_~ zm0e;!8TCW^63BxJzv$^fUC+Dj+%<3Pyn4R>(Fp;3mIFg=V$3y1?EAy1MFYkT|8b@7 znZ1XA{vs8A>On88JYi)1u^0SjgHXSChj+T{0{%>Dfk>O zj5yG_=cM-!Tz={Oj~!oqQq1gzER1<7eC+D{`(7*l;^%Y!yJ7L!C+*C{F*z#y?*0di z>N#z~X`h{bgl>r?&%gZr zzOxtS`#xVkaywpQRpED?GyCJ^&#qbg&U2p@|6}InNi0$D0_w8pjtiYU*cHl$T5kV!vm~ zw8}tb>5Q4xWn}|qwFUX0+JzK^(N-rJ=py;buzFoLtupkM$DHyyY|rz-(kv~n_6?mj zr({}rRY^sCX<%9fH&W{4q3WskQue(1b4qF}v0J^hE3clnl;PoMNp)4Qwz>kV=`F54 zI97taVy#_7yscANJh#QAf;|dzyv51Ua;I0;w0fP2gR?5iXH1);ww$Jwwi^AJc+N7d z4m0>b>9i8HI1OW2y}{JVy#`YgRRiArHDy(;-t6r4snhC%6~d!d<4}ZB!H)1CpX;;@ z^)oq9;U=jzVNS}lImKX(Kco^{pt01$8mW8>QdiEXQ&Zix;GSxF=zP4d(`w}1J4Z=P zO=wP!0?DYX99UXaeP-KKz62WqsxfHu#n?R&{o>l0tyVy5-w%Wyx7HO` z)>O2*Q6&Z|S|y0#J%Bymv-nPOt5royFnV^Nwx${*7~cPCyFq5|jOw}m5}2M9<#>4t z+6cE+uZwU@I*r(S{_0lmJ5_<;nbozk=M-xbw{?4E>NJ?pZAQDiEs4X(s#7l$wYG?g z4JSrI4W?Fmq72Hb+op7=JT`rmne(3377A3}GO28B>fDdU9Wt%W8vX3GwaH31$27jp z2$$h8hY)YcpoqClTa--Mvb8gUc+aZM$d~ce@K&~$&4H$*4b)n3O-&h&;s{V9Pb~5mxtSseq9NkaJ3qJiRl&(;3retuv&-VTxz`QX7Oh zxCa(~u{H==cT~i>NJ*_<*1$yUT2Qw+cxG)@t#ym127?(`6qwyM+ImKL5G!V_-QTRs zeQhusH_2Pq`dZLxYNK>(S6z&jGQ7DLQKxsi>CVw91OD;4Rv z%qk3Gb(MjE@){L$n)(46gbiYXHX@5GXUtW(4D}uDL$+<0kJKhLO)~o9a~{;@H55*^ zeLliT-C|)z{!tm5P53_`D`_czP$Q-eY4eQS`a|0{qsVF6v42z@(}wD13(M*sk-1cJ zpjJ3-F0BJKJHwUy1G3gCr|o4%k44c+r|q+rI{sl=Cr#HV+>U=-)@`req#aE?8m^;R z>o)8r(vCyhUSRb27$vKrtc{njwdVlr+3aL&*1iPe-|!uz!amo&1cQgQVrv_4$=a7- zG-f5ouf;FpJ6y@QOoz0}Vb7#;1MxB$9kE~GnvW~ZNW>Pmurt#Tvl*`dXopv-)FFyK zOzW{hx;x9@;C$E)xwp|NiK**x`TgqM&I)YB?v%u0@a0bbiL(N=0qo$#o>Sv%Ts~Z; zWB#|{5BB}y1uJpbC)$90jX1W9N5o>6n(}orrfFY-u__d{E);fR<2lLki*^Nb8aFJ< zk7?YsG=9OVn1!3_e`v&>N5g3B*l$f^5`yv@$HeX0yl7SMpec=CHon^Lhh=vr6Rv&dQvdB~{4#X_>Xlt}HcO;I^iQ8}`k)!=X5C#g{RO|LYE zpa2bZ&gM%7xN_T0$i6Kj6dSW>oYq2g~8ga`kJT~GbO?>e6jc@ znQpNI(W*5_foE#i&ps@vzowRh&5P1ns=21?VBVPjEbQ&Yc3Pu|0dQ;4TrAUi+!2Kn z0*nU6W1C_FwznBC;LiF&<{Kv94vBA=i2JL!vmX4-=I(}TFXKAx>ttYioC-@YJ_&_= z778O9n4*)x&nD1^o{(i37hwf@B67MXX$@3FcuOw4dC^A%m`vA(?s6h2j zFb+$tbZcwYWjT1uwk*O$*AAzK^B#vgg{lMY*dl2hf;-zf0r%dxcfq|M?uodw?f1r= zJRy$7!gf*Jwds?tO<#i1897Q=qV^>i@1Xe_SHH6#?(y$Tjaw6Muor!YD;byRAhpVw z!p`=h$|08h=^|W1ZSBQ0#87_DGYN!W{7FxrBKyj+qPi3kXy=2T>SAYH8llC%mIC z!Ptnu5{AB}d{j(8>c1jH@UGQxyO{oU~&(w_8MQ=^?JMS0GRjPX{Vmz zUy~T(?VX@ux-{*v_60PL!ty@AA>Pz{*y@fq{luB+m$I1Z;B)C;2ifAkR`HY+kp^t% zRnAN=@$!ppy8>6Ht!-ImmhBi^r|gYC;-+H}hHsJMIWX3pajYl&I4M;PcSl4uvzei2 z&aS#$)v%^sC6ZyT9;E$v>4x!Uuk-t>)NfKa3E5+8R9d!=F30HzQ(Be@e7N>f5 zQ~X$6Dyf+l#T&r1V;AUV;SF9>;(J!YoI}BZy4n)x(J*sLc*dAj@%T(qxHEqrD#aT1 z(BT;SmEt%Izr`k?PlTU75q=4K3BM&Q#HjuVY8j(0M9O1!gHe^$a{_I}sjpEMA1>3i zhsVySQ#GTgeT7l<38Ux}MoAbMC1D{(vD0`n%Bo%gHYk1Uf@k3JVpP7_lu)lcP`A9K zGTKl94ecmWU9?EiP^n8*KbgDwnYKI96VOaaMQULReZmy_5{$?3SHf0mpBUP(6XF^Z z8#^v5O*WRsq{r6xS-2|LeQ8Ea`k0vdo(opTE?5)0a8>=s16K{)vS?Meo7OB{v-ZGM z3%2eG|8(k}W047+8#Cu3Zjept%rrTOn;K@O7;t=Tz6cwXy+jYDpQ*s6AbrIwQCKVk zf7jwS6_Q=bnD261cl2q79*a0(D1E|E`Vw$D06yld!k*PW&CvM9BCs@eQvP;?8v{2j zSQk&mtzNo%Ek`+b0rU|M=f<-J#Er1=%!e>KYBLMZGO_IsFC)~oIq!VP*Ur1%ns*}* zC%mIict@X1ZzOCTeoGil*v9y!F$-6LfALcq(@qSY(D+lo-xG9)1;+SCH5z~Un zOE))sUfl5W{%6Lae0S7sy3KFc@L?1i{#&Rof@ zD+f&#U>P34oeKJ7T*4Llge&w3S0s#FkuX{Svl{R- zf5GawN!#Hu7Od;MCQgmL)A7sMZs)QL9h-~J&am?lcAQO&%rtl#*O=j{ws{7HhbW;c zYHh?pThof?VTM{;M=_FR*a-b<6)&o51RGhnvux%_N6SMPNuMy1z64_({z}+J?MpD0 zWyH0p!_|O-ol_=PS;{(hPK^x&cb`+HF>Vzv=4a zK)jtjW*QDD=en~8Mp2XONr++(S6Nt?8W1k#;+FI;yYglk?Cg42vuio-EZZZRU9@?H zUGxdN=#$gyF*x3e2X+W^?6z(kF)0%BT_=Ros3ESus3rWIW!fy#%dOlg^sFyfoSe;$Q zY7uE?n3;y{cwUcCYP;bLz0_=moeDBm3n@xtGfz8nR%_<0!JTDUtC=$oeqj!M!W{af z3rZNfpoFQ(FQ&bXocOAd@11G*^@{Rth4-}gw|&1ZqrSsR3>XIHv1_~HejctKIQG}{ zv5DD#vv8R%O?%??oxJS?Ke4>;tHZ7F=2-d_;@H14jBXL?k2IM!71sqm{1K;4cTy+I zsr`05GmNV?Irzv~l(;f`?UV)-`TPvFOHFtkO#RgBVC>)dW)j?42DSy;#H{an-4-w4 z&J13}odW$b?wG3@ui$=+{>`%UH^-6rxb`yUYF{Vg9PLXmJ`RPkC5Xc~lF`{wiY-+F zF4_*c9${s+Zf~Y(hq(764L5l(Gr~G2!kK)Qv#o3~*dUHWpfPRY(=qSIZ5(jki?n@_ zKRIk2a9B2<%|4kDV>BSxI1zW2c`EMY;6hv??evMX)0dzY`Xy`|eoI(mOgjuYF51%^ zJmLVSvnzwk5H``qMl%gN;8PZ55PB>b{xA(+v{z>qrl*^G08Tlz8T`65tQ^dTUqR$n zt`w=Abu15`ERsdZxae-ztosY@Ea#n?bxYtE*3l=dqc1`2oRF|L@LR&#lyxiGhINna zDeJD+th-6G?q7nVDO{i5(ed>d}>`iuB_3`-l9!HNBVU3_In0l^K9*Brs42$HrF!6 zS=4K&CC#Hpz1lPC5Z?53SRV43v!)qaiUMfE!+at%7eV;OPiUpaXO<9mmYv!K|1tcF z%hp2~Z7ks{eZp7z5{zH*SHhT3!pger+SQ^iaXW~eYh$UkOH{WBOLOtobVWJ7euU2! zHX*MT^VWy5nofzRjdcZ@bvFYftfNm@N1s>$5=JXP!pa&u4qR0>98b@>UA4+(C`$yI z&P^~kA?_j@7tJ)ZTPoUyi+V4BKNubYk2|gje$r%^9WACj0^Jl-u^@aXx9M0HyP%HN z+`a>G!fpD5+w{o>842SmzJyu0ef6K8+r9rVZf9t2-xK0CeZp<}gxeBEZcA9>>M}kS zE?W}sBG?p8I;&vE>ff9+Y{X?3Y^EWG+G|#u3%2DW*-h);nPI^;ZM)tmW!Sd!;g{)H z54%twr`h}<;zX$F6E@R_@6&?062|>s64tnyTy|wLXIOM@Ouid&r`faz(~!xW%_Sa! zKjPG|*5t9-=I6sKA46=KcioVS9=ptqvV1nkhtF!_CyJP+f=?HQH$8KD)OcXn-ab=xSu&m~k;z{_0gY*dp=}RzZ z4NKTo?Q44u4rwC}{?KdBIcS|(kb~yTf+nMIkUrrceZoNrBL^j{g)7VFg23@M(PQ({ zu@fI@>%j8i5=YTfUs7tivszeYF_2PJj`D~3+r{i1ZNvW)cb4m2ZNsmEUzkLnFo{0d z-yvb^@LR$h?M(K6I=9|A2XXe*Wit)ajR?zD7PjPZx1(*vgdZXI+TCyN6;B7H8f-Ji zDRN*wC+O^feVK`N%y%gMkOdGu<+iso8tC~i?(Ct@;}Vw8CoG{)whKwvvl@rTfGe;J zvS`&gU501Gog1%~_MpWEx*0eJA|ag{vq<=Cn>?9m_CwrfZ8PfD<(AH!Lc6>PPSb?6 z%ydkx*Bd1ZkF?|P%XBO|Ws!|BLI?h=W$_o>+av5(-1o-)H{5&b->fTtvq4_KB@IHK zGzfh%ACfSRLK4=(j(jf&*4r3w?a15Pgz?Sn^V7q|4dvQCuIx^Se>KER`h=PE$;d2W zU*NZdaZMXjT%5G*oQZ3(dsk^xgSKY%lYFM>fM?Lb#Yvqc3Ggq$OfnQpYK50ez5{&8Kyo8l% zUxM@VF2qJSdlN1}>=auQTGRYw4nOkU4H>m;60g^|m14%XG(zvqc#nqE(auJKeI%q} zwvL47!Fp$<&|#J0eGh(N6Me!a`b5|zjKVHq&=v7zjqz$d<-k=xY;}19hMJzvO60nGge4-OggL4flC?U!Tt1G-^F8EpMw_s=1tRP)=IyThZbw~(o%9Ji z=}S#xK-KH)lX?`OH~- zjcAy9rwRo$`ueC<&Dn=_h+;kL+~-CN1alVJ!1`eVpi}{k6yZL7!hQM@jQ`@Vgz>M0 zacN4zxHKhU3pP4G7vMl?b@mpx50Q&(Enudh-1PE=QhO=j7Fh(?6uZaI2Uu3Sf-TTo z{Q+^pRr-Xh^d%Uyc_r*i?Zc|do-OWiXuQ~*k<-krE>t)Vo)H=2zxV3DwqK4Bw$@`PN%-avW@ zQ|l3U6)bM_vbghI)>9Li9UMzRXV(DFBFt`rnQ2&q@7u&i*sZM`O)f&DuwvS=>=aV# zsCPRS7Z}a09ITVM?%E;5ZTf`U^vPm_gwb}Bus?#^KmN~i+hU73FZndZZR;8>xoxh| zb_#KuKH)Zf!fgp7w6&5TSyYJAjtyl+`A}Zdu@1|@M*I&=+{S7hy$=FKN7E-Pr!PSr{2^hq(Im`q zih^)?a1IjP*HS~4o$T~lfH(m0!dCi(t@Md{kTAA~ zgf+JCm5D_tNr8>Crf{?06*_X(@fps9`bvHDNuW7P>6QnGGGkCeXYKba2f1V&x<1!K z*ACnn{srzda1H@ZxJ93Ei$2-QEnzQdTml|Z49ke`c9Zjbm(S6x&Mu7HjdzNTWo8=M zXH%NbvfR4txiD3$@add+&EXxYqu#cN;vG#>E9+PuJL{g&ta}!Bmh*3#b;%*t(I>2< zPi!m+qm3nDdu*y+4^s9A)*Ke;*pgFx^eJa~Uogs44edwV9h=n$k+RvW3<}$<$d;_! zQ?vER5KHM3meMENi6v|s@{uqZh2odM{O7ZVrITWoc3h0*gvEKu?aR2XQ0DUR;V_V( zbDI_1fw*xtNj1|XBW|h>f5dsQTJ893?zDjKY1mlIAYrk&n!w3E4mPS$^8{h}Xk8HA zSVqni+T%Wm0dVF_0g~9ji5F)Ky>Lf!HLxz`jA1~C_4Enr>62Y>61E+93ELw@@D#{g zXk)Kc5wv$y1be<(+cKSD8S-89?d~Xzfgv{2Cv2uqMkfj5=py(vsyHgKd$Ay?qpD>+1F+L@X#;1h+0Zbq66OQBW|1{GrMyNS+4Wd}# z%?eF1-8yq6({I*H9}{9aeZqA5gy|ASrb`%^?z;Eg)R%5Dz82ZqAK92`xL`EMhd<)l zfZe;X2i_v#=8P)U2WGqMfj4z6xD=XDWn(BKo5vzh6bXI8UiyT+5=Qn)8252|Z{zMN z{BhMIuOZ&PR%@o=Q2T!K#<5mdt2K2>v$k`;7uG2z$3H-j$#F3&e7f$uu};)0_#fi= zXwCCH1PagT6Q0wTpblV>u>J5`!a_WE-OO$B&rPoX_wl@0o4Q+t=NX#klfX~mIeo%& z`h@2aMxINUvV{4{!lXp^Hx_7E(z&s{56FFB8#2u_Y_h&IDaBEpn43$y9;o;K-}EX} zZe2lj^=`fkWsVKKQEzkmu6;g99@#gT{EpFptlEXU68Bh9UwFq-H!FS8tn?)qrT8mh zv$PM-nZkBZhTAKZiOdGhtyTMjntjWVnTAu#cpp&g&3oH+ao7`yy_n4}Zk9fia-A$*8r!W-PE;%mK51McQ7Y&648II&fgJ&Ub&- zy^9+}yCeQL-1otqzgbuQrm-*`>7+gAllGubj0Fj!u^?f4G~Zo~>@Kk>Ptz9T5=5>K zf5f#3`&%~ewX{Sl%zFc1rLdbmVK;rkZV4m1B}{D{#R3j2v?QF`=dvw?%}Ylf(%C1% zSo(+(dovB^N<)13Bd$&Oz8ky4EX^aMUoDWZh4?LDYBj;u@^1U>%vN-3`AksV>Cy6WJ`_{j z{|7CfUtEjN!tP1an;#9KB~v5RLaU`swfe@HFRV#(j|9>g*;QpJmt&ku}rwMx5W7hbI=-<>70bnb?+xW6uJ$nFY;| zKMOlU!ZyxQIOa=XrDw@R#jD?LLFd& zEeY!U8m}2M%B-HLPX{F}g)Zg{^WBI_TFsfsuuoZnDY&ydCu)0jS%^XO34`bp21yth zBw_0_;*1T5#YRna%AE5iP}Aloj?T`jN`$4`cx9&H0#1oLuX3xfZ0c?lc=Kp9Xq%4t zkw@04?2Vd7H{nhhxEXga-M9sJmg`pBDO6V=od^|u!ZZ5hI7|t9T;nhl?BR>^4}nsJ zja$kfML1`*A4Yb`mL6wjE@?OGrFzSuX3a9NSzaGFWR=KdEDRvnI1G2z<8a)GyEepK z`h>gm$<8`g{q*ykNSZAkUTojmHJ z4JkZQ*6M~nX)^i})I%N#%g1jC!v?!08T++p4C4+xd!t#$uy6k4jaCqVVVgB$W^Pqk zwZ|ah(*x~S;ch4ct-TS+8+#-6*8L6-aMU<^sP1=ngSRqf&?k*ZUxG0WefYOlkVpP^+HMLC^mHV5%)fX&9QYyGtK^p3$)30-<e2WCa7{Q%pKz8wd0j}tzC?Nn10UnDlNuj(?6zXdqAlm_ zGkj9qxryCYCdf4+6881J{R=YtsSeMOh&b|Wi_OlAiG--%Ct4&xwp?PP| zTR3hmczV4K%W~VU+kP=8SE!kjn$laI>Z_JgfsNX z`QZ|_5$PqYg>Ry8->?1nU^0XbTk(tp^F0Y!cWJ4;-ON``EViI!w&!DEv}4(PU;_S! zL}|2U*xwN-qC}rCj6T`lD`DG^PQvzdrgA?hmD@zh+BsXvmd>sSR5ovc(84^YX^MS3 zXIaTfax@ti-BEfx?}s}T3?AXDPP#6{S^9*t^vS3rVH|ZN49kIh)WgqZcJ8;P-}*(X z<{!N1`}qenc5Jt*-KzX$acOuFFn?L+%R^t|I1QsvKjw!k{5g&+{4(7T?XeC(^s@u; z&eU|)c+*1o3gH`Y)!AB$G>IRG>!{X|^TJu>WkKC!b$NU<+inoBz}jic%hGPHb=>_J_D-i^*3kPlB02%j`d(mT4(pK=$71!dm`dr!<`H7uj9`8zJog@V3TUu zx!Na(lrt>B=!?Jfb)pm~pL)Q9ug*od8y3j!>hgchw>pS-E67#)%v&K2ysf5X9 zHu+Forepm$qA~+^8oKUiQvTitcg|h*$2}GI19ekFB*0HLHGR_5^d)dHLWe;CC|`mx zIuw=_3PZ2%ylBh(gZN7HqD{elXkOy`(6NoH3-UvKc}-`7gX!V8!d*ETzf9LxdnkT% zcJuvtgxQZ`H`5%3xJj0=I{el&-;|c80!7tD#kDg7!R)Hi^5Uvyy*By(tkjbJ|;OVvXA}gRydkJ%36*qH%HmtV1VAD$9|fkI4FO}Bm1Noi%kuT<-Tq5?iSrY zw}QuFzR)M_N}ue|ldxI%En$C5yT<&VX;;hoM+@8a8r`l~v{mhToo?5Eh1!)qX;=EB zT_ud|Dq*5iorc)`BZgS?=iM4*(m?QUx z;Ju98^vTFgUxINC{z_Pb_9Ylsg~A|#DmKAr>B&1iLE&p#tD9p4Ck{RM7*gDyeJ_T& z?9uGc0N8as`C`}g)>Uru%UtFD6nqt3PoL-n`V#o<8$*X_A6jpiQ6JC6q{hT0NiJ(i zv>fQn*0GP^gF)>pTT7a0x*%Q8|9@H%`>9;N5T$q|fAsXrvZczLesu;f%J_XL%OZre z50h_fY4X~%zAtZYG?4BUxN{5~Sf zFTvnoE@2hgr)JJ^TnTnv3#P2lx%J;?5VzRYf6X+IWMgY&|8*OGce9!0RMhYpXw6>} zw(L1p%%-;V;W8b|?zSfUJ=i9!rB7H(pS;E_VFrFnn8R|@L0E3uKeXI*dAqlwR-2AO z_UyXhDQcEkGThBa7gl44el`y8OigEvH=B;DO&f9H04{E$2szRuJ`LBAZLr!@ppN}( z{pBV$+-O{;V?BIeK9wAe6uRfN>AL}UD#wkua|(;~BlYR_7jUN%`~~U6kfBcu8Tw?k zNy7T$w}in6UNAr2IOovD4%qh9vr&nAW5>p%{Khdoc5RmRrwuu($DFp7%x2!si%bI$ zV|5%JIUqAJG7PD46T^6``FjZ>PO!BoX_Cg#xOU_4-28g1PBgLlxO39E6nAQjM%=l$unc$B<5Jw&QmDLcDf*

p|C$@vFH`#H`UfIeOU%L*6V4DT5QH*(Qchz;<9SwgG@QD z8Zn|dt48c`<5&UhSf4#zG-|Kfb1Ep&Cn}XbIr&h+dO&t0j7#^4i@tAsZGH(?da>4b z3e3;Wvex%~Y)mj63U*w-jXOFlyOD+LwxUPOlA`3qZcpaN;EWX96LCx8%b|&7OM1jC zSQWeAzcKY&Ps8FMx^mZLJ%(6T3>i8TR3euQO$jFbTK<7kl8HNer#X3L@2z4aoHagP z^=(-qUXM8Y={BTE8r8U--90IBIeG=ntDO&=b&-znNi4QC#n5>yO{^(WI%>>}aA!Rz z9i4D5)!|%HBwv=}zBle%Qsj~_mlUZ-p2oco?i+AV!F?0%C*jT|#%Z|!4fpA|ug0DH zF_#__P%qKn^odrWPxQBhQGZLAb%`p@?c_&uj5L{NpSQsLGPc<|xS6Iaik9&wU!iL5 ztE1lQQ_POiU^#}+zB*k8meb}UBf8m^?jFZ>0;cJ53@On_U6|1-ytt4V4BKZME4p|2vSqJq{ zS9}!MeN|YWknhNl@0gHpe8|TPzr&S`%XCHB<0fC}4)SHDnS``i|3~D@bzOU3qjS=W zA^lkAFT~U6a%|9doJ#UxaaBL zZh}{8P(D(duy4Shp3jG3ySo~z(QYwIzw2(+M`t^te5t6QWFsgQ_ExOF&7SR zT9y@`xW;+URS)Dr=cW$^fcAfE;lK&41|C#4D!M0W>2_M}FDI z9_v#t^3i zA4&LHgL;VsPau>gKQh$H^hqnzC#@`DY-I^UE4yqn+0XtA44pl{xf@M}v1D*ug`u;~ zA~;;pq@c6LTh{=%5#j}#Y9LL{BDe?V^+=&<muX)D&!y90_lCk+OO;%PGT67PSO<)I zBG=oS{?N(^fq79)gFLkJ>BklqfUN6lGgQbvGX?G}kA0iz7|iWxWZ?}~ZDi3WU6VdJ zXja1B(6|Hx2Gxm;^Wzuo>UQxp2yD#Z;i#S4ZCtbqv-*r(*Z;6U4{zA9Hx>)p zuVhymzWUq_?N$w6ea_FrS7W!>xrZXA>w=$lo!1d-cU%$QkpwdBR$t$5&1*j@$T>UJ zir*oP^W(z(z1^;MyH3Q)U*}z${YyHWhT&Z=2%-pB6SVF+^D~z7;zV2>a5{?VCZG75@(Oy8*Xy*elW~*wB^Wdi8QaO|sC^0QcykHEb~qKAV5Ed_ zgF;~zxxNboo04lbURbWXt=Qac#m~ckqI9R1E!tAwv#fD**@Dmc*2VDG&WT^JY8Rq* z9MWyY>fx*F$1N*OW(Hc~k$CuPh(70w+d{{Oi98o;QEYyX?D#B~$cAS*_VcF~}ys0gS)5QD@BikR>bP`)LJMEMdn2pVxQ ziLzXS*s8UyR()chwzjpewqRQ;AC^e{w)PdDzSfUwq0x#}Db|ntf4@01vv==qAVGb9 zVPJF4J#%O7+&O2?%$%7yw+U%P%*hPDaC6SVz&HkWd0yfEg^*L?y~6#o4Dnv!-iCPp zxeq>*&w#PX>5@^nzt~oe4!47pDNTAiFb&tVgNIRG2Gb7wjezg9FOA@Qq+=tP2FOM* z8<35l8gMw^LO?c#MnE(exXvuqn1OZ&>N5<*?n!8!bDFqPjMmG|NufgrD`eC(}+}#8ZH2;-P70IN*4|5&D|-&udE0 zIgkV~?GTeu2QgVarzGSm*LB1~%3*=r$I+eK_jNMuY{VNa_stBvrk$_$OBfwB@pwk_ z{~t^|=;y)lrKl-lGGZqdQoXg%x`DewE7Dl5I)@-M&pA;!B8tGu9tkZn<+YaQq;eNLdIoLl+Of~nOze8t1&+5BOPgBXo0$g5t9~1Ob*rwZ8z>0 z8mHVY4~pWHXm_3xJ(&7Ek*|-3Hf(KEM@2KKFp57C zzVtcn(4ieXBkHMZb4K*EC~O}d*Fd5{#uFSMHIc{ba2==t`{cGi{x}&ZLJIi3!k)Oef zHG^Y-th+kR;2O(dV!~iz!eF71!9p|p47lBdjwfpp6ISG)<01z+Auhtt1k)7T>#PPK z*EfA5Ig^GWIBGxVZYO+Aw!7niivz5`A*c(pN1Bu6{-%-vGd1UBn%h?cvM!CQ$tx_k zi3zufg_Ltip)Cbpgtjk})UchTx+NSlu4hRF{UTG_yprFS ztw}Qm>Hd*wJ28r+leYe^g@5!8JGpFkuIlMEN?55nu)e5Nx&jW;v_D~qfao^B5r91E zT&k~Gujc6ULMwK}MC^#knv~GECM7iXBB{P@BkegjJq!Iy-cyzJHr53zc72LVFY>` zJy0hm0zgdc4ML;6L1^g$Fd-P&$6lrkxqh&RUgp4(0JSsyD-(f^^gJW91i*5ndY+M5 z0?-p_2_PmCKujb+Xp{hv2utfC5)>8s{m>BZ`RkW zPqPYeof2PCh{-Adv5@+jozRA%j6xfwv0UXzPiQkOt;*h)X*j*Fif%A+{p%hS-C6tp zaJs`|n|8<3#({TlFw*0|yCaJ2bVvqLsl`?fsn5hUXUL68GA3(G6dP%B+K?Cwu;7i* z_GL)T6-rt68Mt-Gs61mlS&v7;p5mc=kpVV`YwZuPxuC}2Ra@qoYN;Py(7zUB(p-Z0 z1M6cE9kR;oaePgIE5XkM)|G#7?KR1aLVOhj?gBuXXjrGbrT`|a01^`cBqkpu652xW zM`-&ZfZjP>-X=SzBl<-|?u*UoGKrjbPS-7px{Gyp0>ZoBmjh5bAQiFiOvM%(6Jhj3j{TQ?3FJCWSM!*>iw3jUSd+c#Kaw; z(4N%yVOisrHNXdMXnL`7d4aCmSW&R}v{*N65Np_otpoM{gjWjg)Zz=!PFISb3H>y} zI0g<`a{+lx$dWO5*qS0rl%^g~o40f7~$-`KU(7HfY|LDOnD3{2;(m5)jVOrmB&EEF&yK$_@_uK%DQ3 zA$xo%;AlXW{{ldkou0^{6=GP4v(?owU3zEv+0)Q@gV0(8{uOa?ideqdv)2+ zoVSYJ7%KwftnaplvOLuyk41j{@JlX%nG%DT#s&X$@)X{LV7Sb9Go2)t9>Q;quWgdE zoGzY<-*!la4(ufN)#vCqxFA~6k%QKIa==J+N=^ufn^{TSeh zxc)65-{o;Ya_m18$CheL+AL|ZG)XMi;nJkgT1GHU=5KRQPP~D&%fQmGcE69`6~5Xv zX()UD^JUgpTUo{5VzdXx*e>*On#tpF}+_LLgSG?z=GiE37LOfvcBC~9xWP21yCa@g-&(QSiBBzN@2Bf*;G{B<( z&jjoZI2e%S9tudgeF!xtJAH_WtP=}4tZJdXqp=Xqj*Dd-^T{vZpzt_U{98V$KLpQU z2;;ZEJ1Feb2TS&{H0y7DtS7(C`~mbdAUh8Nvi^PuNZ$Tj@s_QRn6y4(vTsjlbHNLt z{on9*e|J*YDc-hgMaryMGx7F6G;i6+8RDbA2t< zXfEpiSgJ{|w03rEm>Q15&Re&zU+w(Z@S#ITcF_I$<;cwEe%;&e@VS$rcD?=1I!7db zJs|1W_N^ozJv+1-C7+no4l((5l+ZX16PlZq7?Ho3`Lp*Z!p{WuGTz|tzwbrld|&;T zH0&Y1wEnwOp9e|n!d1`VtxJ~C--oZ&b$LG^%l-phmz!)|5|g?l7J{)D8^{%neTC5W z)p=n(a`5|xAx9X<*;Qr|sU1V_)#-mHT?A6kM)5O&&-S0f8n0`l#nuQhsS#o!HMSSp z2Ba4n9RlXif|1C=xP|%prHuVFgLz-Slzk6zlYCNU(r}J^Luc!zV@~&?dSK!?y=Ep) zG&Uri?)m#DmW_4iZK;z`cObJ(##!cz0og}AZR?Vl)FmclrgDO zf8w5;O}X8*yQ#$3{OOzBUWrP80wl}FFS+(s%A9l-UQ9zDQ4-oa3w<^Km@ zKfw0@hXC#b9ICHN^fkHif@0`WjmdzLw2)Fl#B!ZoI#woBLgR!=?)y3&7I*+9t@d&B z6wp{BJUY<{S7OUO%c&Vo45nEzD0DjLhPW3eWBz8yaz2b&WmygHPsQ+o*Zl!m{?h=- zwg0wUBPLuUCho$7_MyH{e3uI?5BbY|DU-LuVZ)HgTZFz)gDdl4t;ka6Kw;U~lI55w z943yPFkG-(GHsD>$6%_7ZP7b%y8&_jiQ53sm^dujU2I2R6}Miu z+#)92A|~xjXl!RftGqlrX%H!vHnpp)Usm(jezC*4t5qZ zqpL}<)d>-;t_BVteeJF<($W1_X47FMvqdmf$QI^pf#W1PCEnWtZ$$h^A8(l_^T1Hb zIcKlD?Xd4QkL|?pv?PtEbMQUh6a6i)8ZE3J;@ARD17wRE1UL(Dgr=8i z`e;D5OumNw+H0;Dfvez+ z_cm8{nEvLD|38_q82#N_T2bs*7LzO1_EuE*rqInqNP6wn= z(Bj!2kQUFufV6lP1JWWoM#odlGoJ5fETS0LYKtf_5e8z?Y=!m??iU&-c5*PO#w`hK z+S`dFz9xg03Fev$0>?l{zwXnSCJjdgpB>4&Rq*af*l!N3ba(?+C(WX)BfnYHySJQm zXZDhRq!>(=6O${ylakO*f?5-}%eW zsC9Jr@LpJ)X0&2G`FV`*u*5-j{tU?a`-`5>{M+)FnDCgGm`8<1^Qh3gJTA%JE0axw zY>&yA);CO=1ECRjYLEC{xXkXnKRKvFriT2cX7XPFS$}V7CbwB86B8yA6DA9dOcq+@ zB)7gOZ;~ER<9K19T=&d8Qo1yIhT0a%Av6bt(!_gNjJ#%#TZNwqCu+ni2M2@3Ydlu@ zNaiixc;o39#dOS>A#eOadI!b(i0_L`{9nE1Gx-co1rLDZsq}-NSziS4f)b+O2RCu- zQIh;}#Cq~8iw__-toIKAS$`jCISRlcB3_D!$<}OQAqOjKj?f;`7;TW)8x>x+1zT~t z7LN$l=M30Dp{Xgpve#7~R&HmRDNy~Vhi{WJ%4BnDk5S5-bT~~zuMkjpcumNGAcHsF zT(u`8%#&$P!EgT;lFC_gYpeFQzpKMS!hYWb))R$Jpg+EMgR{3 z1;~14d>-JzN|=^vOoor7$uSjTxytRG(9EK1@;Gc{MLXw|_;3c( zFgP7&pkPoC=p5OvEle7|zyYv*zcZtYcGq6b@wDEk6YudfzXoC5`87x}m<+OV38m^( zGrhZFIz@|^^hCtO(Xr4dRYFT=`h*qP?Qp$-k3(pW>&3`*yKll^(j1C(2LRVQHQeYd z+x=W;-TApbLUa8bK-TF<&Gnv^>%@fX#DwcYBiDsSJNWpC?hfqji%bfyyEgyVbjV&) z{7Frs02c9Z+9Dv%8d&!VcyD-JOY;Nblzc64Dlwn;}G|9#(0?_Qpqns`F8r6 zJIl-`WCLD^=jpIt+6TCwd-VLp)r(@a3+9(ESX@h(wlrpD%zSAX8+w{OPiT={&tlwF ztFm&;p{=Ju(ucO_B9}~zqCwBaq*ZzXE|XU1`WvfQhv`05L|hXISl?6;gU@dxuF}Uzlcopa?oBlw@7=L-r}o)-cBo`< zhRzy};%5TO<=@&UD9h&zkv;KXw8P|TTNNlKknarM8ph+)HP~f8W9N-Gdru&1DtCaC z^k&$|p5v$Z&Gm7}w6&8E*H;Y`fXD``eci~<1KyH0t#L>%sGgu3N6H43o12QB($Pu){R{YE0r;PuBo)aJC$%7W<^Zw3Ya zj#1|3ywNr8m{r*|iLnuhx(12PQc}w{PR$hIr>LC%sIwgB8DQ9I4vcci9&0UrCa~u+ z@=6-D2Cw-;mJap5KiJ0MkXd2nOMkq26qYV1&v|Z&eGnowB+D8igQPcYUVDusy8+VBi`wx zPv!3RY`x3nq4mhYQ5co-zWP-zMcVey(qG7DAQ+bVJ7a9_a^CZawMlb6(j7p~sybs4 z>eS(8))&Q_lfFUtF?bi7N^s4^rjdYLd}6(t#V4#lLp(W%ASQzdV&beyXmnO3w0#je z?|FJII*Zh)_2(}lcITqV?Tg(-h-GL`?68+GZEkAPj6u2sNbEXglG>x(p9rY*2{-Fzmqi)I4m-#=qf_=9lMxiC1*n63;?tW43u(=0X{ zn233;#THmBX0aPBb_X!YoP>ze^-eBw-p>0bjh#;3Epm|+(&8Fmp1Imci$ zFSO${7UCL-rj=OQ*U9+Q9g_W&PqNK~_+-5GSNk1+JsP1p*?NYngLY~2ZPQQVT`(x% z3i^w%e|}}gs8S^zOYt;fVvHh&6?4?I&@R!KjD&>7k&xUs-c{WNHfntAo|pe9=uX44 zZH+J2MRQ-)J;~{yIf>KxYKhaSgA(1S8H=~Xa+@P18{Y_YnG|U4`YVu}Ap>H=JD9ec z9>bp(aGlnhr9X07Zq57Ne0@XlGcAV?v?PDvXicC49O! zFg{!NK{O_D;_UZ|$}+JG-@@-*2$~N2f3L7;acuPb1&gYx7o{~Z(<|d$q2t)ZJcB*Y z#JR-O1|aLnKfG%Q$fkovKrS0J0geN_0g&~%5|Gatt=bp`l$iJuAr?~JN`&?_cq6nu z?|2&A`3+Ae;K2+OGX{zsHzOIbV<*GljrVSNGDcu;ym!OX@hJM+K9$U8@)^hBxBu^D zX@9;djSnwr531~Ozmu9ZQ0bV!dZJiSVHIiOyOvi{!FvxKoqjP3x1nAkvx z$%ZGPal@0)#!pm&6iIHKo18sfZ=DOTgQc^jxnBvtk@jwvcWV-3`r62v6@%N_VuvU1 zb(EbE&TO!pUB4<&v*HuPA2G@1H7cNP*bH@yjIPI5$d~8GE=mb4ve+*y763+dz7{_dKGX=~82svdr;u&C@~U&iUtc^2 z`3LJ&XUfAn8RCOlo%5N0&k%o*Iwvbzi%x(n_#Jkz%vAU64hE`8h04UM?)Muz>9_^4 zS+Q!i%`^?4uii@i(Hh>f)NIZg^+tU4+-kjQAv5}Wk_jEw7277PsY?Ab>UXeZvhKG4 zMgVbGT%9s{60iiN2D`yW7dDdQm^VoN0^gL-0cPzJ6GZKuXU&UklfQ4soIyxm62 zcBot1sO<2%&0bxQ*VjbWtXP_z+SW_5J<4Dzl>r)M?1-eY(8{1CsSKv)$Hpe(y~;o- zq`JdxtM_Pw`W4x&g*L*Y4u-9vHdqdA04=1-(xMd8)K%G99n@z~2iz4VN??%1N-b7x zu_lY%VzIj|#vWX9p$PcZ!M{LbU>t*A9ef~U8}C&IIf#4L7f*H2RjY%85Z9U^UR0jU z>vv>`@8VGhCqf+j-89QgbwE)+Fw}vv@qH=!;Gd|Id+;-Xb>&wF^q7Teb^Z#-x%*py z?B3r7ECKu*AZHOf0A~UI9q<}J97&6>0DKqlJAgc<&(7vOz;%E)rKHrrKLMY^^#_1| z0Ne%0R`D-D@@zLC)xl(|4v2|5ASUWSXjBJ6OC4dFRqugYi(9ane#WYeW;gvp=*|eH zo?>{+yZ~N=SO%}ubKu8o)=U&X25-D~aB2D=Z@hPKIS`rn=PX6YkI(3h-+|>}xHB8; zJ#&_JwogzJO<$aw_Z5E{+JLQ^~In|5Ja{grlG zeesor*L`Gm)faD3d+I4wn2@UVlcX$_f?`5Hjd*1NkFm1UH$%LUEOw5WWQBP$4-T{s zC|T*${`$Sk%4F1!39K{9N)T|2CWfJDSdaOD-2u75z6T&T&_@8d!TvBn^pDENEjQS+ z&KaKvc&U=9r5Y1E6KNsmR%A;o*SSMuusx-m`uPc|-x;=MYOU(|ZvHv#7}sUt7L?|_o~&dkO4EcR(j zc&szZeOEw^6B)dd@d>!*WPB1JC+Dhe_2m3ACEs@-hM4F~VxlvJMx7}%|A1UsO&gU! zySwY62P+Itx$Z-L&V7`d`;>qyvuSG=#1!v_?KE&5zYl=#p3By442SW7(SB1lz7

V&8p#(wnSl%*g=@uC+hnKJu`c* zenuQB8EK}yEk;Enjgw0Of(^9T5Q~ko7+EK|a0yYct88q&#a3ACMvL8Pu?K;1J3z$Q z3{2F>{{kbEBhC&>`_y7&CDp@P{7m2qJOkqx{1XR$#f-tk`zH>xzj@>R69<}o{qf$3 z!?79Sy%UE)i1+VaXPG&1I0f+I1IKLKDU*U{1<{xkVyF^pQs4yQ0am;YtTU0;i)-0^Scud%~{(X-{|@koJU^0BKL)A~Nj>Zvs9K_%R^u37-Jc zp3n^$)1D9pq&?vfz&`;V2}rvF`A)k6d1&kkb0N86S0E-631ax9G42xDZjHgNFcC|G z9^EymL#hkLh)D4^DxE2*>dP7>s4+y11x_$psA0E9B_;L8)a<>eq~S&-nR!m}W>D%P zKGjqo47B$0>84@X>8fdJk3c5fBpQU{62Z76CVJ=?iyd#VlPz|>#n`!shMQxtI*W0E zSM&>Yj$l8tv5#5W3l^ic@N1eJaE`%f5^5TDcD!a3cLy?uX_P18|p#okm6>c_8bSZ{u9 zLvsb|lIDtXz_$Ra0BNqc5|HMK8vtppZ~(ixD)Vo zK$fvw*-O*dz_FryqC4?Pcx=( z?t}ZqWlssPA1gx#rIsy*HDZF9{+MgF7!=U97`9(;V7%E29Yn-A-bmn#_wMhXi>o2N zp*x?+XIy~abk3M1&_-|k-O*RmtVg2~oTfS2jI9wz#rMDH&z%0pzp%ewZe7 zk-hm70oiIR0i%F09>q)bHOqDhuJZtwps=zxpO_4NiOI(@gtk-PXSkRZ`v$x!HEoC$ zD2Idb`e0iqeCq~q?jX%XFE@`6FHLUFDtJU&nV0QhD6I-bI`fD+ek5#V0aMw^qMI;Y zBLNNlY`rK$ykYD6h`Sm;Kiilm*~W%-ZM$q6IcHY-g0v}yV^)&^2B6jPE35c3hgz0pJJbT z`x;#G!!ye#xvLw2%Rw5|2#bfr!pYCi%piN%bD!+~{-h^yh@xrh@*~~bnWoFu=D_t` zwpKKk2gZpjriLf-8g5|L*ae7WoMrXHFKH{P!j%b}t1;lERq%5#)12CHkZbj<0S0e+ zZ^NV-9N}x2d?ss@lZRyy{E^`Q&X9Z+LpjvmLj#4HPz`h@GV*Mp>Zi0XYR)3OE?>8bFqtbaI`dA&r)pG+JWfCRAv7c!tng)F+&f zEb|95av9?ZqUEG=*<4VFG>7CSO$c$b_g0zs2!^W9bdBeEYI=nljo06E7oW?@BO{A6 z{d&A7(FQ=4rxB2qgeHPYnyfL|mrI&BBqt`DIfTZ2xlJ3;OJPTBu!YQV5}3q}4aR!8 z92q)p$nD{d3v}6lkHWOQn8y_~AG_Vq9sJF0z4o7P-68w$Re_u1ez-``A5s#nwKt=|x)!O?_{4oxNOT z*l`bbdz8E9MB1JgnbY@ry=GI0+83)?i1h})DmCUua}VRaVzmn4YCfIZlO~W1a!nyMl7p%dOi=>Z75-~E2c!5Fis<0wS$|LT0-&cC&#?;UirBl_nhsM zALhwCI1qa{RV|q@u=e>pY&J$z!#kikJVPpDuK5XaRt}$ytAQiYN)|4@x@?};2lPyo z!336z11+k|37WVjTlma#a-{Q|+=+nS1*F#D_38SWUGcYZ&2IY+K)xUEV_n~h7Z$l7 zCUQXxvmqUuOEskKv*YOfkl%OX9Y*be-#_0ozrTocTEqCC?Tztl-!t(u;j85PcP-zE z3EzpK$3ycGT0mnVXV-{Bv(RP(<#j>TSkX|~e8*MPw4ku2{p#k6i9H%E?X#)P*QhtX z-Uj}S zn=st2#E>3{Oa^-2uj5aHemd z1)cCOsd2|Z<5tKDxkuf~+?C2h=B{T0yC2Wata#5yEQ6PGxY;V+G8LN|?^V3tN4&ow zGEe3~mA^GJXSJi~VPB*n8VABrJcbU0_o#rq9A^3a93GCDEX#a0AQkWkz*7Ow0~`Q& zE+F5B*HpA?akD5|V$$G5AsV27_i5)bp@Zo*_Re)_|XH|cZwe@S0;XdtoV@w zNPe)zvHscO$Pd1U;l~dZKiJ}kNsA*UEly}`aY94A=RxBIIML!~D)O2(B>D`lj9;oxNcG;#l;!ewoQ9$T2>A%5%}OVVJtf6XlfOo}W9s zUurpqNBP|_o5h|Je~k*=fx)9^`*6pnoxGD`@E%w?w|enn_3b6jCd@?L%tblc=#QTX zln2`G(FUxIq6V`E%GPCoQvm1a*~Cv(<5>y{F;Qm3Le6AJn$Yl#1cl)Mm!-ulO?yk} zCEijR??YAtHw-BYPV%@Yad)eozBm9-6pURpKD_QPO|R4sFPE#*yRh?C&A*f zVDmLu^<5uVEtUI=`P95RcM6(oKCV=wodN$RV^Gr6{kV;wnD8hNHcAuNP5a~&Wepa$l=$z^c%z#=tu4o8r8^BbW#S^r2m5(L7c-~%Jgv8; zjOxQnqM~WF@id=qXcW7_)cH78RO_8)QG`ukJ+T2Wr@5Lq2B)d`lnOxhA{PUa4^sgz z0h|Fi4{#nP(Ls$FRKrLBLwTp8{SENIuL1pTsf z3QeDSmsL$C?DEf9PjUr`!SXHEI&w*f-YT5M45^`*3a*4Q;^kEtp*2C+Z9m`P5d>x#$adynb1^3dZqmf6T968EI zv0xl5VWS>sXIPBJE}@lLY?{U91Cz9MmR4`E28*q-*aH^h+kb@LTKr5P!@Yrxkxb#e zsB?#m@&>L<=j!IiVH6qa4P1E+=m8dcG@pP+_)&W{w9{39#Z90kZE=m-?T z@1~b!W)7_5PxkZ1Tvoe>^O8~xcuU)!J%`+q2i{B69rDLCVDExd0~#86*$5Z~)RsxWC-kV0}|xz1}ElRYT0qWnpf?#F6){+Q}EhRn&Xbe{`1 zlCO%4(`MOXh5xlG!ynK*|ByHo(P)XZ(hx}VJefiVr>oLDe;4cSUWJDBB%EwD=dEt- zszkMB$O+-bGm%qcCo+n-7ugoNf{k*Cw}sZ?LKQWom^>xd(V~77>*>zG6P{H?b=8aN z@;3e5FW@6&5 zO=$1nexdE_SB3d@V|*4zBbj`wxsW~`INQwp{px-Al5l^MDd$hcwVPn7=om}{_dlXB7T*1kALy4f}GEgt@&G`0Uqcamf25-DEW`senP_e1;=8AKmP5Al0w9V)98ME*^ zM9rCid@=W>;(Pj>>Y4?M#BHL=QU5Vz$7LvO4cRORaKfNA?$Qv(6oX(iPyMplD4ibx z-yw<$;t*jN2?%iDtfT^7b(G(pV*%M)6#;VK+y{{Fd>kO#(vzqJ*?~b!c3=<-Ii<*1 zXrnZyq-Hx3Ihg%M+S(eH=Q;I#V6+174@(-m^fGW6*@w?9t2al2UU1~TnKVvaB750n zFoJ14!7matNqYn1jYyE?$D+uu`5G_t#G{=O{Py>0@7_M+Y=q1+<)z8z1iU(f{fsl! zxL2fDM^xipk*b5*WxXu{Br~r9><+jTa0uWsz!Jc#0Vz_?;ASyw6BAnyv5><7h0y4W zUTBS$w$jpIiuqDJORq#}&htq@1T=;o_$}^;3O^Tz^Q-5lpYB(=s6SENqHBojz_O!-ATua}ZY5MSFYZcQp zw!m{UP+0)ICAI^>3XK+y9I85v({&o zW}X~WT#R3Ls6!pR243{O`<=tM{k!}fuvL3Di+A2uod-sz*s2F>wi{b@`nD;`NhWJG zWscVBN54eBE< zWu419CwrJ*$q;Xp7nS42jPd!3%0UP>Nd4W{{jkg|&l~t1f8eMy`oBz53Q`kz zQERdD9ECORF8f5$4_D7xG<%NP;&!6C9qzh7=7^=qb8R-#vf-M*`t;lA(H!DkLH`(# z-268n`SmFvZS|i4)&YJFNV`lMAiGcA_ea1kIZph400V%Wm-3qY;x)UrSC#tMrZJg+ zk|y&{V!6rzj?j3BL})xjA~Y_)3XK*Xq3u9^N^I$XEjdvtB3TE%ls8b|87NQ`I2XUk zK7li72p`01hYsw2_TFjk(I9KG!X!iwfL0=ZJpi&sf@tzKhh^}8JtOW&rM|8zbu#WC zCSx38Ax?BP?Rkx1jDw~3@mPDWDXz>{7RGSn2;@F-QtQF3U7ANTK5{Sab{aP;Q*7O_ zxts6f^`6bFe}tKJIc%4|S0=}sjoEUuGFx^mi)VBeVzo3`)HE#1al%coY@kFPFAPf( z8O?);dAE29vnZp^I4aRTc zarQt77UJ~Le10i1QZuAHyY6_r6V9|IN{hq|o;lwdUbhq{x3O~|0OdH-)o`Rjm-}?{r=xrnw=J2SC%gfpH8QTIUEl5 zL4}C%|8$ED111X$BQ18m#VRaTYcY1(lFN0Lc7w&5Eq1HL9!NY_X>-hL1t$v~OD)T!853@(jF`;1i1-4s|26zQE+Ur&`(>7US1=O`5@{D_NEzfwsV%%jUv|n26C5ycQOw#VKw4E0Fm&HD}SRp!V$?pnal6H}$ z!Rn=B;}*NoVh>tuJupf8xTS5e*fSP;$ztzVtSg2z^5)%uNxd9yv5~-}){r1=ax@pQ z42)yoSdoKaUNfr77w?@M(fT(nL%jJoKmp=QeDT?8Y{}uV<8ZNOc*gkTPu(Moi%@U`hr0E<)MhU>Gm~m=E|(z#f420HOuQ z?+5G!I09|taKKVPwC8v^;E{k+0Sf`=0Dc3Ir>>)b*8%nhTn$(R_$|QW0k;A61w0<_ za1tQ5B=rLv33xIfHd{HT0A2!!Z-&LOxyl&`_;0{706zmf6OiAl9SnFV;1IyxfWrV! z1w0FIFyL@N+FQ>7q6Mm`PCwH3Ei zy3d3g*B~!N@@$-N+pskuYIb-e&cZED;w%&ze<|mQqgaCC7I-01u8q1}2q#L9g5(St z5^kiAf)1wdhG8DPn7{(%w7Tn=1CZC^~a!M{wf+iTZa7c=mEJnkE&|b6HhZZBxB`uH1 z%6;^lBiNx9JJMpOTC5D1q#a{v<19AWV$&@~N%R}lu0|{a;~2a)d`2zt#rrpD#C-Ao zO&W_b#Ctbs%*_z*-K4>7EPn4SEHl>#t^z!Oz7*BD{Td$ITKei!`i2eG8T$^_TNQo` z-VGav;+h*a`U7&q#zH`D*!T$`H*9PG@I?t&a+8kMeosWoEPi`kl z2jpRgvGg(U_m_t~ea)qK4G)xvPJ)%jfxmgB_VAG-i2jV}GF+OLm=Me}wi+1&&{iW@F)$fFjIh{w7Q4`5 zvn;j%n53<*<#y(%|+iGasCWUO7M=w;CoF!cell88IrPKE~+ui5;cZ- zp3Vg`J59qJPGdMst1%qc)EFIpOMWge`e%zc-@{)i3oSzu`=1v3vBiFFu_rC|M_`in z6-#^FVt=#PyB5nr=P%C~1?)1=BRl}4%W^3&$#0>>uy;zQ;J`uBUT-m+IncCwEcP>C zlFK?vd(2{+EwspH`wMAgx3^s6s2z*?_bXjRfooNU5cj=y^a|hv>b9)*)Dely#^Ikk+9(Kw5`x z1f+H7X22rATLF&;d>W9}pr*cbaQBScS ztpe5n-!~U;?uH0)eRBq|-FR#cyutasXq19t0{7(L?QCGv<~4sPrE=!zkN0lCyBhcS zJqnsUIZ&7hRiFbm5O|#6SdW6DA}ltv$7viXaccp4PiYdSXM z^qK8^rCcRzzG|*skGJuA5%h9(R=ZrCIDc{NW%H}6_QqYvRy*8{;@O?y?pkn(V)FyQ z6969oBzJjD?(&-4E!Nbmb=7+yTn4yUv+G*YGy*~Q|DAD&l>nBdXe~l ztZ@THXql0sajIcfv|u+aQcByb;oe#_&Wksb_BLKSqP`|V8O>3CUv9&*GH>2F6Djy+ zCa`TnhbS61?_7i5P+zylG`xp{`Agg7()c+G7Rml(Z~jQ4LpzO+=bwAvmc>vFSn=To z<#Lk*kk96O9Ryga=@<~kS)LyQ<^#f0OgsYkQ@~!DezK;s%%roXx~hEGvWdy&9%3Q& z4QZim(6MN9RocsLR$WIO+62U*jaH`Hk(Kxl3#f62-=Ph6txLl@8_4}BEHkglTh8Yn z1e8<-vJ5w?YgR*NHcsW1h@|GqCG2vlOmv(i)zAk^-hU=sq*6Ro)QA&)e`y zaBTw1K-Qw8vyNIHDx%4@Q+8`8<{eqz$Vh)Dwz8tY$Zs&RGQ zfopMBqZ^fB(58SAubrwP9fF&rAr$~iosCv4qsxhesUwq9%Is`SYvi zrf~yRV?sJN%uIuh3Fpt6SFJh>_7{Uq8bFqV++j}rG##9Y9}65m<&3ZhkoD0AFb}X0 zH;XbMCdz~ucGBut?4;Eg581mr)DHVB*Qsot7#P>~JQrg*;)d6jx{x`&*m_9#@h2g~wzAOc&>LC&@+n^ylLodmy|TPNoW1ufevCO? zo9o`z2YwM6SKUQXnPJ_H<51<;XuLkl?{2*D z6_zc0+h&ykoY(ZqTs*kYfQzUim)MDIp)R4CEyPwFmFxk5S63Nr)eVcasSU8z*9*tbuAX1*^wK_=<| zX2Hg!IP0!ADnzEa#AKRFEW{%-DmK^Q!mQ9Z1eE(4Ee*mSa4X=yRY~rq0Fuh_(WD|Q z0>uRLl6Zy+{yv>+}~3B@O^X0J9OxXs;UVKCd{f$*N0Lp{*B^I$l(;< zytzGC^1)cSNj;w1KbcOQFpQ#t(4rjk?qn2i=?=*E2x|s#2aI%A#H70-hFvJQOK2Zz z499TI=d=gX4;4=04q2X8e-zH?VJk_`8q3i!y36$QiVwxAYq7J-Kl@@iIK zyLnBbJW$h8f{%OGv^e}z0y9MHo(LQ15Fb+4>R43e#E^oxnB*!9_}m(iD3 z=G&`Lcq}*SMbvjY1go|*lu$ZGG; z8y546nrgfwmZ+s5n!x&`8sN=yHF2_@Kwk_<;k*Qp7N{A30{~|M(t>p<;5mR-0A2`) zWwCglyl*{NgpAa|WI#GZSJmGa&|VD&V-#9?@7xePmG$cw3e5;l4Bt!CsYt zaSVP9!3n}7pN24L2p>M0sZ{9L*}XmO9y2*5M>n3Mdxmi_+?DiQ5KX30b|e2ez7<+K za5YA>12NGK#KeuR&|XDeLW3>{D)pc@xr_)j{JSkt9&9NIz&hDRwSd1Rg(jk0#R$f}MKE&YBm7G7Ga*y6Cl`1x zAyYG`f&mIQ87pexVu*(SgW=4RX=me?6U841UbWDnLz&_fw_ol2nE1?{wNQP1Ks(qy zv7h=z&3TI!)Gg#abcTCD^|CSW{JKXMyPbUWaFsV*?RHc{pikv6+OvR}Drm;}HpOml z8bbA7b4(2avTms&poSbX+B7PHs)4pess@^@s1k+)QYEm%V3WT5C@PN?3p25DDpY{Xxz^97PKqn@B}_d({F5oXXTAY&E$dZGc; z;XXZK(j11kJ$w=hvz^S}gOVqyzgmya#DHMW--Dw0hnm|2mcehFgW`@eem)?}wg8YV z=3Km-=m=t>BZ!5ZCvRwJYP(=7rN_C9QG`xqxGde;_6X7oO&Q>kqZ$WimOE-D zZ}7|ALPVbBs~D3;X+%>}uy+Xt3rYbE9lAVu(fOL8tXyPYl$g9Iv5>Rk9hySMyLT29 z0PY%jXcj*NJBfQO>$;=KVH4m}sy}EwvKhx5#hN!B>v>VWr;5Q+p8K1k{z$Iuiig1& z&K&mRNL^H3;Xc>);+#0{RhP|UJs!^_yFGj>4GTytgRZ8)s`5Ux8rk=TMuepTg1esB##vJWr5@n?j(16<#_iQRa$0* zLAitBbbP5^U6;2MST=h=;yk(7WG4k#+ggJEZ(6Q?~Qklgl`&&KAL6P(e}A=?>k__ zlod~qH=FXE0b5%On?UU77g3F!%efI}Ev{w5#OuH&LrNmfyTB$Xj3+z?qfJGe3xM@g zX{&)%s#u;|n5Z!B*^|u{+-aG*pt}~SOn42ke9L@IV2hzy3Ynm3;%msh`1+&yY{p`r z41ODZ@oyvE?4zPIJ)R-n?4zPK<&Hw{^O-*2*+-R&c)#~6mYHSz6W}5xvbex@mz2eU zp+m=2FUCBxx@^&cc^(TWA7+AiXTF%qTanBza6h1l1gs0HS&j|v)O4JP zi<5WX0IUX#0$u}n3?SPK-Ra#1*dOqDef=lEKDd4h@HoJa0s8{-eDDc?wSXrAHUl#K zcL1?>Dt;&6K*0L}ncqu*0|3bz(y9Hpmq`q>#KbU5EadzgcL{Bs#xVc3G|Hab2S<%c z`%~^{1<9=agNXG8zxH2^$SFSUZ_*GJ&{Qa)gR_$bRn;?M=pSS>+kw8}Fg(KBYpSvL zG`x{?gT$nFAcpZ5M-3%FIc(sVAu%f73>$jsAwvP+5iVm3HXTT=p|lI_ zC5?IP(C97l!s~X!S_Y3-#(zXjL)jr&HQE;_p3BX95I+tSIe$(HVihPR7$cz(E><*d zRzJwJbG*LM8}BtG_sJ0NH6@>oOy2Y{iqGUTSXt*MhcVuX*?wcMksYNY(%luB3d1|5 z+iHw6rrwCvb1$k{rlHi#g>7c`oZ7inNkuveWD{6_oP2TQJxmkFU{b|8y%6wVz_Ebn zpPY*Tj|ChL$oifDNWr@dH;eg}n3!*gg`5rGn9!ckm~wF#7`U}~W9+2PH1TeDPWw&# z48$_9)C_(VNVPxBCpjj~>4>{Fia!!Y@>4g9>So7=bw(Mce?HLUhkgh=I|LkI;jW2- zNf)XwnZK1(AMVk03YMSW(0_0)1 z@%{_I`r#LGTJcxL`yT<5@jh-=(zzDUgcDJ3tYOA6P&$tRC0cJMel9><6fyB&BD4>| zOQAKq6CJogO@yFvgZSl9^VZ-`FZ>EIgfFT|&`livV16{A=mW77vApz@&inkO$6WH9N_%V)wVvgpnt_h3q zi|T6t6>sjQm_CSKxlc@)C)3i5|1FLNBy?;bV11cJO*%kRI+R80M$d|w+3|HP9(6_a zG9?nPg89cmYgg6Ho41U!IPX}k#FI12%4r$94JrhNd5&zxo)3sTl;NE3vk=#Orz-); zizXCH1{TC*U_mUTcHRk%RvV#J&|{`sRxt3DhTUy&Mu`mEv4zD?)gR`T1&g1AH{*?2 zxC#_MS${~w*0$DeAY+uhIehoVh8WJXI&X0*gY&P%vkXxlW# zDOg{4oEf;wecAmHxvRd-i@n~(|3HVQ9)W3C6u%<;`m&?!hb>4&rx5GUKLcoo1c zv!da3zk_;q>sJNCjrZ{-WteOnZd~qY_aQ*&X4bw_LDN=uTP)V}N^GHe&6lTQBADam zyU(`02)sbgPhZ~t=hrXiD%Li5xX%XsF?g+(e2$Oe5GQK^^t74B0eR+mASZ6e+% z>i$b*k$k77eyA!;RS(iP+t+TWFY4>mpTfFA1s|7QPoU=esr6@3Hos7 zUPzxzO=Swe)+SSc9|03<=-a?#+bwlOKCW_{qk%n&t|Q`{59}V5%M@U6tOVK|VBc5R zHNfst*f)XQsW2{MU58vE>f2>-)dXxSXx~=YHek0ajLt@HQy86%3ieN6zg5r0j&eQ4 zJ`|Xg4~rSPd?gk`25FOMI;Q9gx(VJ14DaXGOK<#nQNA-{q)!{;i+>pLUG)TpwnlE^ z^rmNgKxqiZDL;p8kl^sQ10S5u- zcACaOrl-*s2;EAvU@l%mwCm}>L@NykCc1I~FwwJ1fQg>v$X@mXv*n9!0}Io17H3OA z&>6=-opmrEuleJ7C~y2py{VJrZW>*vyZ!NIjDI-d-^I@#Z^rmE$gK0l--`UbI*S_J zzdwm(W*I|()6AeKbsLUv7Y<8cLQ+XZA@fvHp8ZK?W;=yS3RXY6kX~+*1M>OQ1$_Tf zO`nXmGYB{~LaJ^07f6U;+_VTgV_|_cAeLXB3{QT|jxEFouiXcQjUj|@)J0A_` zFoR(9wR@bk^Nmf~`H;R;jl2SG&qO|@R-SAhS@+E;N@PW1p=Pz5l0hP;7XcGFtpp}= zdIc~U58Mo_eL4LhV!d)iIc2LrRjJ=S8R8Gpa?1JQof+bDRE``cz!jt~K70%ax^L|V zY_TtXsfrg_VhdyIEcW%SEHlfv7Qb1U<+LNl>5htN+9pvxpK{8+X)1mURggQ@2Q~u5 zy8+e!^8M!kvb|#ShFY(@9FX#iekYy)oDX;};6gyY&y|3b-yeYiBEQ5$eu;_v3XSqB zG@NLiTa*uj^T%d^^6`Rh_NY{@GApuVA|;o3tS3~0mO-Y^B9 z^JMjisy!Rny?CjJb0M&wD~uCl!R7$_FGZ^Z_A`aWfepYf;(QB#c!59o$T~j=ko6M;WHX@&Mw$sRX(q%%&Qg>} zXk5D#8fIbvC)Q0_p|>Novnk-%Dk&P&GJoRNnv3;A{Q#oDPW5u+<=atB4lW#P&eJ0ujUB926Id3W%Hp7Jm?j>F znkL#8kP>|YU=P54fE2!y09kfkv!>UhcElJ$OpGDKO$dKKK`jW@$7a*)&FfB3o? zK9l+P!LLUYe{A2#`^Vc?Kuk9+}hI{ zkXw6L_Y(jqfsf&4+1f))w)PN{{fa_+9()uU%q=)D_`Vx#*bqo`FSiQ}%DYBSWXCaJ zvbmRnVgd`nfE!exu(65onteRSU<}@P@0JoOD*q-v=E*$R6rNs`TbLx;Ar ziO-Y+Icp{1**s!=ZXAt=)?gp5480YD$P^P;KL4h^2OLoW4+4?_(35zFr5ck}BGT|s zR6DU;C!n#A!@~5P`+mdcZL#U&F)BH`_^RNwLyLD_cLv-W zZ^wNO?1{H+fXj+LbR}H4WaFDysOcF|QSL zxG6M_k%R`lq~y7!tbiigiSM7cloc|Cd;p!9Mbsv>d=w$M;kXo6CX6(QhJImYC3u5Z zm??~>pwO*8VPu|N@H+>;14tM<`Ym*iAkyM_B5Hvl)&0OIA*#QuFMsD(2f<+-E&&Vz zV&jk!(4~Mwag9xA>b$Y}82Z!Twdh`AqI-#j)Q2>LMjNKk)@Ur(xz*CxA;LNq!IUlN z_P}aiMKcb%$x71Z0z5LcLo5Qt1k)k1pbVnXL?cp2&_Ot}d_rQfl&u8oi_pb4u937kQY$tG7cst z<6vSTyf$VummR-(d1ofG{jK@-%xe4fc1K`@ZYwgh)G2elaI{{?P=UEG>t<5;)_%Q;w+_;=NN2OnIIA zea>iRA`SDOf!_h7SyTMd?0?%x)Os8^VuR6xXbifY`1*u?`c|__Hqmo!Oep zIC}`M0)hb}PFYw6SPTg5u7(<~fGE=-VloXPhOMX=DG6&gPr*uEX~ynoE1+tF`RhhRtvnIUfDXb`+f7fyb69%n#Vh&=bGxU6pzN zK+sB1{D|5Mn%W07GPMrXfVfTlNMdtC<*RGFg=#Y1c>gZei}k&{hrz##brNX)^xj>p zTrPjdr-oT3mSGltg{hM|jdpNDtH+RF7lTIe zF*>kr{ez}VJ6g}gecaJXb;}*Cg>@QI-`}09|BA|n$v)Z zN0)PeNjJor{RqEC{7fh_h=%?yrzAtXx62uxA>MR3JrHNqlDW-4^SlWWqkS^YGO?_L zb2t!^(7qkB{ozHr0C}8C`8|6XHR+WJmcehweAf{*`42!Y3cUx&cg46gelj42Eb+4d zQP)a+zJ-?&nII-IK`i7%(87gQps^6GpPJU+((IUy+H~K>bZb$dD}5DB!C@fm^q5Zd zuzMT&rS)U#dFoFz^LURO`#auJ2E4>%97jx@p3B49CLHg)k9Gh23T)4cV3vXI!7R+f z*p{bGVEsw82&7UnUz&WdJ&0+9gECJ(^4^2-J5t~4jW^a7@R*xE(#~%k4;u3*!mpvT z!{d&a1iqu+V28d`Sx#Z;QnLOYo+^_@VlrtY7IL_BD6~-;<05zz-0Z9Nhdj#t65yxW z)K9*0gW?hRMZsWfUc`0~{wd_2qun6>2F5`K^32|TrAO5|ixve$`u6w-)e^;Wyhe^% z{^Lq!MD4VHO<`4t>8CLKNfVnZL5t$YDrBJ8u;zHL>5`+sz42bLc@%Nud@Yc9GLI|p zTisc)@pPI|q&I=(kq|{k!v!4Al*;UiF#G-4iL$^q;o5EJnr7E;H~gcgN(2+gWJ>d1Xldo&%N z>#KCH+UrpNlG#jyoK4WG%+t4+zND|Y1(45WUjnY6HB0z6Dux(0fU$x;#+!=jBPObk zm^l9y+HdrIA*TYZCyz@GSQA&GUop;o77c=90DX884GJskb%!(z$4QsElVumy^oyY+ z8+K=bl8=bGUS2Y;b3E6SO3|fg%G+d~0d2C6d(4x0%*5|9Q;qNg((Wo}dogLFO_oZBbcWLJF>jzooxNZl z7o;XETbQa;Q#38#i8otKtHzvS38GY*!1tk4@cy})$mVhk@Y#ST0agQ^0=NKhfW980 zuQ}4V4D=FxT?$x>>vDZP0TA}&_)LAx=X{Pgk!DCtnjx`}I;bJEL1>0TGqz**Ss8EQ zMm0i-s4}MxNlFoCf|5dW0Z8t40c3h)u9PN#4Sw$5gqVwc+-IK5gRnzwR}E7#Er0K! zLuJXRH#4;7{&=nlECV^m@)T*}V$?LR!Fgq5tpj9@cfoy9~1&ZqlScY-cV+-0cmYWrrI#;!#Eg}5yTatWJS2wK`Hy<*AG8+L}XA6uroLo8_YjL zaWzam$U08|wE&$@lm|fy`J7S}4`EL4l&!q&LH$U%X~&OIHL9F;lVrH@+n}lZo7%W7Gg9Jq zabs(O?z43#;^@fd>UN$XG4EH{u(8co`f% z(%uP?^3B6>uXO*5fZdA*98pFE*+h2-Xg^c5$AC2{Y#XrU_~kfR;7?r94kEumgYE(* zy6Z$>G6JW!8@aC>*kNdk5eGYQon8v70(Pjvu$$3|DC}Bb`3mD%5lQg^FiG(;FiG(` zFiG(bV3LBCaoO2=JldqBg<~t7;%s1&q6`>6QHkw?7Ml!Aa+w88($WogcXi)FU{Zo* zz@!8?wWm|u3`};)t^+2++zr6QVDl31Q?>SYi=pb&%w#Q~4d`*o?S*J}YB%1?-)^M# z#(!`O-7PRiH24R;_^HRz5lK+Rvxj*A-owH2sWus#VC`9ELLfk|=ge%#GNLOyZ!BrJ-*zyZ~?oAcy4F z19E8B2*{b(4S?4Hx_~PIR|DPxh*MQ@DyrK6zYlmj;77w}O) z5ckI00G|Wo378iFj|N2A_(_0pO&1>oxDAk>`-DD-^Ay%AfIKnuXTYg|e*vuif26$! zcpb&{|GoFh#>NICObHvVjy7S(c50ED05369NwDjdT)7 zPe|{*_uhN&y%$LD@Aoq^=g!%^dmVo7f1hXX?3^|;XU;h@J3Dt*=?|37Dpj=D`!JCbW zithswZL?ckf#=Agu~Zcdulmt+RgyJb)j6etmJ|!SHI>z&e~Jipa;^N?%ce(%x8+h& zA%Bc@+b@-~d>_0!w~kP~#2EP&w)nc19(Y(+u|Rp@UN7c4#Xl#-%=p-FHatyDTQZN3jJfSIV^<{|BlnK_0@Ti_ z?cobrw3o5r@Ki@#7R!p<-X&@WeSm$I+u1CR5D&IHC7jvrkpV`#BOg<~SWvLtXv z!91R}frl3SQ58IJk6)%d<iLTPA9&+lc{|%RNbXE0=5Jo~+dBZg~6_*^#EJI3?txUV(9De6v`g zyq5vKD&zFTW9@~x~O1UP_ z=%P%0$4+$CUsf({j`(JAU*U;=Qs+w zmBO(%$cp1SwAe!rDB-RXu6}+nGC4juecFnlnNap4MQ3F{O4n8=4}VOChk86#dD;Mc zk#v2eW<#f_RCpe*bFm~oPASJ4%^?ofoZtz{+aDE=K0A*2%L2u8m=kc_&~h^K1+JTV za%0zBdYVI9_|NbYlU$J~S87YBTbJsC9%4T?it9yB9{q4IuhAXoVMVbw3A3M!oikfVMtWeAZTElYhES+WIu59L95quF*-A?wN_M9T)3`jHShXVSadn zXyJdBQj^=;LGF!7?lBeKo05!Ylx2msSf4*vxYXxCf6r5%_5!!|o}zMT?+bL&-sdaj zpdIKn<8nK|p@&YmyX*r;J3H}Jb&8#HSRc_A%6^&P$gn=LI$MmRot)75{s_XP`Bw#YZSr{4yKcTQ=_d&@zG%`2Xxe7_!jGcO1KLh|~6)6C4E zzAjq?*oy?yKOTb}&d3I#dvS!Vot)TFf+yN_VwNG!mf^hjx_e`5BG)1@E$_;B65yjt{jEG+c|_ht3It~;~K zwH!0LEp*DQx0nsQ*2yAPa9~@&%^$Eq@~_v))(fLso?_h_1n<+bkuQNZzD{tn0qWIM zlzXFKb~M_!;(cXJtlGG_Uw5t3JL4-%!o6Oj`^}PNe*G3*;|s*Tx27_v=b~c%(o+PF zbm_W5yi3sz;BOSvG4YqFG#m4(SgPlLv z8fWIKZWC)KcZ_M#V&nAWh@5kBdM1xm`+?th*`ApSf!XFl+KWx4x-f6=7HsCKmbCs= z!m(Cxp!(qbs)HRz6n$-d+F_hpGdwekZ%oq`Z1aPX<871thje<|Y|*JejVFP}Y~`bl zpO^^$$142z2l2EMj&T5-9p)1^B%k=Oa09c$diQ6HMdVjc;QL+0$91i^x60ng1MCxJ zSpS4nxMNy968IMvpN#nIWkKhS5c9FSmN4l^@*0%amo*n+#{&7^rv$e{u_IH6uY>;4 z{lJKVnd$#Cl7aqhoc@UN7Ei!^Rwv`;=ah1^<8llMILY#S%qcmxBwc=9`Mz9>5MRF_ z*fkD#;9-q|dZ3G`Xe~hxUleR;XxHe-s?qUPd_g3&bDnhZr9cl4e(HoJJEQ*>3AYcu zD4b`z{3`TLFJDpK+79k(I?>D5m2$M>+V$f3OfS2VUcMnYq1Le$K`-AFEb1i!u`OWO z9y+2=Ubwy)7yU1+qZ)ZC}W zrM2M8-<2%y%jCbO)BCdNDdX~-4BrNBzWqZdk9!qxKdO<(oU0CpyeZ*K-cOOI{E>?D z=<@r@_tmvVZ8yA)dE|c}`gOz8m-o*`I|24%!Q}sdX0S(KKZ&p;dEHo^X2iKt!Vl7G zC2X00qaL`F(DW~QpwA~_iJ{N2?a=4J447}kSVH_p2=xMXia3uDZ2P9sDZQB@*wD|! zdq=^hX08fPbLjH}WEVdd+>T}STFQMc!hPEc)`;e^fBj1Gy?^~ud9w|0zt)L={YEKA zJFeZoJfHd3HOaqzD>>HJt~Q~+eka^DHAr+uy@HR0o2yuV;EWelKl{C4RX;;7^QF%} z1UbkGewJ**)kJ;NAvUcY+c}m7%{XS>Dp_84+>e-k!2MAty8BZq6Wl4H$+)aLyT|>r zXf=lpWtkoSMX+-NWYg&I$Yp76&}hwN$3qB+EYzL3@2&9vr;4xe>lG^H@+2{|>_IV+(cb9$_xCZf1wt-t4}U=)7OB zZe@M}?kJu3#hsOMwBxd01f2T7^I1%}e~Kx~B&V-cgBbgd7VMe~RNU<~5mbEYL)lU9ln#!-w3F}ym;+6}N{_ZZi zzFeaai%$~F?zPhwZh6+WY!E6KI~ zL*|)+A(MXe{dey`+vr{@cvEde|MyA!R_jItZ} zdK2FGZZs8Nkin2NMr{!Zqs@)~+qe zx65i27YWY6`e;Mx#mW=g1}gNMmG@=adg}cheI1N4(LeR9%J8^q+f3GjlKe}RT3e7; z*Omv1hJ*G~9_@#2tFE*Da+~q}Wun1Pv=b+;RY~Wb*5c~&v?h6pWcB&pk`FVlMqj!g z3Vs{A@m8%*Hj4)czE&$%#5D2`RDSaWYgnvbHj5$U2dDQ066Da%-WfjTvEfR+m+jm= zeRI=%?>)JmoRDEYIWOvxjN%;9E0F@wG{%X2;Yc%8bvtsE5Z{9nBss*3w4W-A>yq zt`v^r$n^YTPI=1TrIhk_EA@PJZGt}QD7VS{^Qt8Cp-GnMpxQsaoQP`_*H8ab#Me5U*#dq3yEL9ZMEuD;vvmdEZG?VEKG;7ouGb-o?;!c&ta!{f z$?s9#`|{Pwn=j+L4^#es`R+BMDf@0$@o>R(pB{a1TlDekB5c*@)a+$;kNgP1@aM_o ztoS54VC{EXAdKts-Lm#a23qLDy-u57F~$-17U*P6kvx6P5%cj`Yro{s2jEHZq{j+& za{ZjQcYJJz!dA7oI8S)I_^e+ki~JLG`hN8>dADNnIqJXS(5}$Wx=ReP_KD)@>rfIp zd6Mu8^@cgti>YUq>U_OmcI@rQ9rY(`Gt!hM%Nf`+F|uLnLlj2C81od#^z9-4RGq#( z*dlPV?Wa2)dW%)V4jmn!JX4#G6ro@9! z6BnMNyrx>k)083yS{qBBr|UZ2_B!V{_NC;5$g?rhsWSBGGljG9>*&|kv-OaPqB4$sMwgUpSOyK(Ntl7&5CGhCa^+^lQgk1ti; z`VqR9=w$qQnNkiL8?X(3pP6Z!#VZo6_4&({$0uK@6xr}*`W*M`%C#}69hdoRym(D2 z=e4OE%FN~XF`*fBV0QNg(R(^;YbaAX^Ej)|UsCMAUWpyp%Bys3<3LOMX%6>l;Wp_X zNW8&~>so-`WscDA)SkBk9`@ z30Jj~4+~a}Md)`w_4h}Fv!m7DUTDy7qno;!PCuq=uhWk!Z+gpp*(g4dWLv!Wr1I$P z?TMavk?FIZkyXZ($0&GA-=EcWmXXU0^^v|k&h-7E8Xy0Z>-pIHw@rciHI3XVITFT@*qVw)|!2r8nzO@?X(eou2?Vd-z)7fuCz{8{bgAT~?#` zrr;drQ{Pe^+xTjQ{_D#7vTaQGj-&s7fmxf)o_;8~xy`wrW=|ex_OvD4=YLzg$%c|f z`6hL!mSgmPOfr7$Wc>eutOYj{Y}awK_^03;zKyYO%KAq>_x*>b z=jgPvtyaQwKYxpG>Hc1>7hMV;y|o0-KK&=btG@qd!K%LhmrU34Q{?`&MH|80(jfJ9 zDw0n%ihl{Fd8O{8`@{c@fc;xA)SAj~$;GGtBOI|}JgM5&3-AZxg^vOF!y&Ss{{|lT z;@*mQ-;({I!!xZo#z=p}TK?S>?^hOS9bxn4%^M?JckE%DqQ9ZB{+_REKc4KTy!9t^ zO`Xi&7AWOt$7SEZp1D_DC|Z1Df2GiKzmsKU`gU36XKmb1XTG?j-}N{fE09^n zmCGyR^8IkAi^khnOBqLuuH%!ggFe95we`@XQ~Hg5u()aR4j0VF&Gxo63X=hD zUv;du+xS{Glj?W}l}TIdVBLws*FQqaI-tKZU)C$~84DK)Z~C~ije0YJp zbYWPlJ5DlEJX*POjsD4}u{ZvYvO_Fgxib13n|%~Rz3$PC)thV6FFpp{@=|@XU-@UA z%iMF1+_tRKbGo{g?tiG(7$u7swkX$M^XNl@-%+;B4TwF=wHJ#{Ynox-4*3I=*WA06 zKM*;?<0IO;IC6Ph+K@V#_6$1P2KhcSw}!KI$MI>9@yN> zlx9nThCG7xnZuxiBb6T!NJxck3 z@zK$#kY8G$2mYs-_kA5%&>sG!ylGBf-cdt{gSgR#iPgKcLMAy&i=zco7up=NZ+cYq z(U*U;i9Xbeap*3hi3(&-tqd*n`;g7Yu+mVQC2KCGc#C|_gknK21^6nA1~N!7_`)}l4*0>69w0H zRysGpPL#}31WQ}U0t}fO1)B=SckZy3djg!8HYhlMuucCHXrRv_M%Ll+p z!i4r5(l|+U9MyU6B6+2ajf|;x*Si2tPPF$>da*?V=@kEca)?2UlXd_59@;dxcBpSt z|6qS#@7ke()qR8g8`cNEUm;mO?wzK*t?3gZP7nA-`0t243p*q6*z@gsDbIfaIN?2o z25EFXQ}7jvaqJgCN6a;@XO?RW!BGk`t=TYeOW>lZ{^W` z`l-*AfjyC5oyu61$}qjc!@PvLQl~O~S8-mVw|Ox1oT2|Dn;C7tXy66z%VNyp2y&Iy z;a14*YMyCW+j?hbr^mMHJ~Om5JRy#@xK3r79vO4Vuh+R)^*O3iZpKx{YSlmE^0=~H z_C&1RAbEZJs0lP1MRU!*h=LDxH7*og)&FQa&wn-vXNUd|vX2sPy`}#DeM95h#&#(% z-g=Am6Cye3r@4ddZ#p)->DcnL#q%$#NinoD>DS`sC4%E8BY{uP+?5&*7&vH%;#VlGkH=f|=yh^>h4!fs z^Jhe7F@ILq#42Jl*UW)U{w{EWL+|4m`Q17h7p_#wf!rRYCig1A{kZy2w$nC?YZ7fcF2_#$&*>h~5_|Ra%aC51(!EOC`OC6T5g&D&(^wlnK!p5$W{O3GBeKPJ~qjHoYK0s&ByUl zIpwzb{)_!g|0Cl`sXo>6we#z+rO|e1fw_Fi#)r(^cG<=)ob!%Q9bS$K`gIzMdmq>hfHr z?ezIS-bVlYL=RsbY`Pieq10R68~$U+^}J$_?oa0x4;No6O2m0Vah+iKo~f&N1o@dQ zyg4k~(>_{xyYG0wgW|rt#|swj43dl|D8EVjarN;#-K%sJPjozIhyUG{Vf+^#I&8;e z$N%S+VJC@>`|77Sy5$M>R0q39lDAi|^`kqup$zh$ru^E`i5=P{RLKuqF|GJb9iA?l z{+auaPESUfXCQ+=xsK~4;`#^RcxxYFSMkh18zr6>ZWO1(AE}Y!ajkz?C;i+YzE%2u z>|iP*=W{)tEgHVvG&tEiJv|)nt8Wr)-P|~TR}OUze3~#-b;omZ^z=N@n?6rU?ZZ|K zc0!_ifrGI>8{QW>*gYI?pZ@A?{|iUfIxQ_wez+dq9mb*)_3YwB!r8GfTbbqzw!b~v zzl}RRA_j*)Gosuqej6X~Jx=gF0pBcMrabX;9hc*h?S*{1Xwl6(Q~EBY?R;gK^dsfHRcGCJn(LCs zOk`5$%$IQ%-`*#A)aCt3p=S)u^uF$rCB5ZxGR|auFv`bBZTqp(cKU2rM*q`94__T@jn==pXGL$-`G&z4>T|6;PkgszL`}u9>^;i+dB=On zr+EkC3o)mEBD}#gjOUC|9}vvOGMkHhSTLK5K=U!>duLj+oG@;FTrfXBL3SAN)A;-; z0P_~rt3K`wT&Dkm zCzpzAlD`r^^97sBa7*Y)P>G(Qr^Ubxd^+&wc-{ zd^=C0_($Tg*!DN&smDK+B8Pfd8~!a=)?1#ZAQ!rA&a!g*XbW&_%YLcM*dLh=8C9H(<5uRvROSMubueU5 zmam7&SfYI=j0@x?qRU0Gb31(viv17iYv3T!cc7IA6O_trCdYHxg{T-df`$Z0B@qV#`5i{`X!{vhq z2yVy1qU_i8zOTJr(eqE|-9Gg163Ots&$_EW=@)DTx`TA$`{99?VE7zx^YNug7CiVk zxI+R@wn1?Cb(WWLW*3Kwhcfl(I+Q_uykFl=aDUd-@d(jy&_?Rz{rX7d+j$zr9TJb# z+%1(E;^J@rIP;HlBoBSwSLt=>c_8x42e>vL;2Ixb{8=e_(^Y9Us!1#OvrG84 zIjgART(!s1;S=a{L9wdn72J*kin2cIbsp87{x%q5WS?Z1&S@k0RXVXpf6rOQwcBIn zYq!VMk_Z2ql%A)Qm8F0BxtvC^R(Xy(oYg(_p*Bgb6D@UE zuatM{RPFtI!OPl-y5AtU^&$37Z0nI6Vq5Ho77=XwMUG2GD%IvQ*o8vMh{*}+O$b#>$ zJh}vz_lxBIw6z-WoX|36<-IA*;z5$Z0gg6iT;6wLel;XoXnvu|p_kR8wt1iTb*k=d zH(6(k2U%MsvkvBEMESWs%!_CbdxFkM|9yC{Tj_)fZ|@~|BN4vyGZuSxbDFyz?S=uX{rCNWsj9Elzlt#fis=&gR41 z3qRiRF+Z>|YG3mcqp@+UTMqaH$+4r`w@7PK_5UHtt@d+@CrOUk0eUBYy-sY{_h}iI z?TUUV<8q&xtv*@upm|D4pQ@C1Br~qle>RVOny%Yx8Qa5qyq+Ftp=ZxdJ0ZK$6;Rex~KRip<-p-$`ytNIP&(w)dZdA%qhpXx<^R>^xGA`@O_R!p< zGSJs^Qu^GKK2K?Txmh;tCq7w!(mu+0p-%7D$iRO);qbX!zwB4=^_2KB&iwZ!DvP?` ztn`N9bMuPl>)J7|01AKq4fBJS%GZN2bwo1tsl#xKJDI)dcH}t)RVq^v#xX5Sw6l2o%zOF6A%3OiPimWiT~|N ztM*l{`@Y(hpUawEQl~nZ*k!J7wmq}U%$ISdtM^DIb$YK-=ozCjeQtY@rTCG{$vBhs z{v_)INfy48W#t%wzJQy)KdkF4H`7sO6=&->?QP5T0f)T0vfFW)&)V^E@uHJYC~c?D z&mRAh)`)vVyRUHye|)24B`*$R>sypJ|4jGQC8M-wLhmTix%=xXwPH81;hm!Q@#9^} z`{#-82Jd1AK2nVx?-R`GX6siU6wJnJ%K4C^v2otRZ2jsZj?U)v9%gg;k2*S=(|efB z=|3hq|J*U>^RqoK-}W1Q(#f}HW%RSPlV@eL>r)QK`dAglvogleJLwtNr$uYW0oJ== z42|)Gc%YaO=EH9jEw+SR5ko$!lX3HNNk%)aJvL;%Y_m3(_`KvG`wJ=kqEciM%Q9as z&(_QE5u0axN!KN_itTTFS#Z;nUoZPg;Dw*Hgfb^S&iw~IPTb_$;^x=I7srH!-90c1 zbG7jBd{ekZg7|x-h>Lo(d!ioE%oE>t0)4alyES~^Y)taBKS;Fo{|^|M8Xum}+dAXD z+>a8i_2Z9|OzyR*_fM3spHr=wo|~DS)4!WSyMBfo*@NBp*!qLr$65bF_j8>*^Z12Q z4)jMoOn<-9H97(gy}^G2TxB5Z*SZGxTbQ z^c^x|e>c0SOT3Q#_9x}x|D#gqVjCO9pLNZ_oCsh0rSkkgk3O*Vh~EjO|E-l^zmKrq ztut{)0kqu9{~^fJJIRB92)jkF-MYWe#KEr{w+fznDZ>6Dn74KMc7fK0{~F}Rx_-cM z9i#t$=#DNTTEF`4$n@Cm({`U8{%3-2{w{vs|MY=BO}EhfLnr4H zw#z)A_;-@oj>~;%G38&PC8qo*rTHubgFNoXOfR$y%Tk8{VdRVbhwA+_Ed(@A5}V-%HpY?e$|P?X8ZD z^TlWOVPoS$!E9{go|OODvYxbkeBJP@wpwAE*vTTztrrCxcD`6W*B@SK!WrkhtR zb8?_zuA2L*Ssdf!z;9={t@DawMQ8dTCd`VqOw&~y=V;IuG&UCEH+awSjt1L-4!_HF z>ME8CX7_FF_-1ip1z&B`$rXIL4$a~e;jJyyfs?U_I?Seet_U)^4qK-DF*;?hVP61a zkBwiniTpi9>+hkkC*WpJjD_(!jx%S9p7?PurJ27`+*^4Ld-lbAL~o1@yV2s|ve_AGr?qYV2zGM^DqsSjz@IH^NW3%bIN2g2f()5l>#gN7s%C}|^aZcV?DVW6! z=1LjrWM=h?>xXb&DiD5mWL058Ww@*FZi;2n;Q6_$F!$SwEHR7<4*A0M*_?A`xR?NZ*Adu&|P#7Z1IOY{;*y&+3uRfGSOJ9viI4O(uxa3 zYd#N*|M?wc1H@xGe;_hb9k}*>a49&|4SMfW3=aR#cgTHP~>4;J*n>rzXR4^~!%C29Z>DxRzu6OTm*Q17XKea>r$m&2J zbu}Khyn*UbD1`9UCVn$3uNDPdsKF`0K_hZMWYHa~q z+jQ>W^yuhW$>oAtmMuSVZh}}px^3AE+gDHADmz(r{Ls+Iw$YLC<##{6Or1U?aomaZ z;JcqlIr_W$%DlW@BH5N>sPNGTHm{Fb)k1G=l9z@QuO5rRGmG>v1Ur;AER@xV*RF$ z`i;91s_k?dDJ$(nJ&dNA^8H{3igCWL?Y&K((tikfcD1douJM`hcESC)%N&0~uz}%S zql1$u4zR`7Mghwxn zbAe)yVEU6>8*Gy-W7lW|Q=h9uw`Oc2682AQ<9iaoiLH@VZ+S??0e@&LD@L1C*24r- zy-TobS}@+i6We!fi#Nk!Ir?tu$k_Pkc~XpCRLhs7?EiHoyuLCxGuk&imEJi)eURBd z6TZi_O)q6bc6^FG2eCpYPZ51z?f*070 zz{)M6uNu_pnz9q2gT`Y8ufE@caq4KjQ|58P+40m2z0DW4<@5yp0o?R^J;=v^I`2 zAB47^zN@$?(VOhfw0cK*qP1s|&r+Vc-k8$or1W`8Eq3L)<*^PNZ2A_l%vF#oLLRgpe{V(fjjVEr?zcTT1Elf^tQ zU)nG+z9-6gt&`3DBeGxTVcG*lEW%%jZE=0xsHge)GW7%bH|z91fDJ5@3?CvzvD$x){SUo!JdCs`0JEd|B~rAlxii41TwGEw;T!*VZ29VBp@Xv)Ufu zMu%;Ze}ACMG0W^W<8pkWeU#;O@*(Bhc^bus1?Q;4RqyR`S=mRlj<}RMen4_aKbX>w zr1YaH{g_h9;QqKyj>U{mB>MLy`dP_@zN#l=5f?h)%6couFnFx*Kdb9ppYl6Gt2on@ z)%A1YrJT!gYsvUnjTrl_?GxMz%f17<1c%dVk~rDaj>|TZGQ1h2eW6~-xf^sSS|3!ILuf>Y}WfJ`LJ=A2U4F9 ze^bNMuEuu+tHxGh63?5z8)P8IVrybl%&vb9wR+nQy%;3Cv{^L7kMB!{k3r;rpwq`H z`}X7y1$Pp{8YuQoJMtX3tKdCY4Z-v>Ox;+qT*_QKuBU31M9)F^2lK{B?j5M-JbBlT zB-@S!z7*B7{#%NDt9MW7jgT|iusSfzJ1;}L|B2-I_K^RnPT!tjt12wxeB5Ys1GiZI z3ny2n(jn@Y?ZoTEE^bGT7qHnKl9JhZioNPX;Dvr0suLPH0l;EaA zz2PJ5Ot$>IVpexzaZUQy;#*kE=xZk>Rv%{Dl`eN1a>@Z`#-AnX{o)bU7pZ+fS)~3Jdn*2X?vS;ldN;zl~ zaBI`Qb#3*V6+ZLi@fVvd%gc2)d(M3O!eyED@8$1rwX=6*ME<4K$`mWQbVrGPY^>o9 zv#xBOfODXa9;LL+^o5>|(leR`K~}Sywwt~fV`;zgI1EF1HvCue*6ng#0#9N?hIbuO$ycQ+{lRzKfi29r`w`h!0L)K03kcd1LPeUpzv5^sSYDd*$o6e^o!mgvq&y)_-#f@!I_9U&8akEod8puhJ-B?-QepK79hq-W|qUGqt{{ zCA2t?IWWqx;XTMWNHC2}CD_3kmR7yuIJQ)9&9^kaNZ>S%9g^ji#xm-7XvQ%i(9Q_` z-6rwH`mqMOVQzNAc5PYQF&c;YnNYXGsYlJa?d=5bv~GI`;WiFW>$T9a&UaFNjg~XR zVq_}!&Vosw{7Xu!{kjQH@M9wUT=(aTBNVvNS=jV#tdo#u`FWRK32{M2kCpx~- z0<5Lf4(0ah9c{7fMtH;N=BaJ^drqrb0gcSNNha^nMyBHR+|If2VID9sH@&-XeXVF7 z)(#rjfz}|InT4T@Ip%V~>gJe7>Hhr$;p{lmOH;k;*Z%t1`a(sgw-3kf*y774Ne*#d zJ6<&IZ45Ez9>63#*uGL|PS#l+%YoZixkA_8uTN9HonP<87M#O;?VifxYo{u;`XC41 zdkL1y&b;Q69%nwu{4!6ftAN9L@R@>pyP+?Tb6eg^e(zLX zwckv?^bLCoRwlapD4kcWMaMquo1DmD4Y{jya?jYOl*7gr#uUz3!P@D&iZzM89hc`h_FQ_kXc_m< zOX>MaX&3dhIS6A8^|?T&w?pKYaqV*~-wwMkhmZPql6j8G$$Yuat$L+)Z%lO6dfA+3 zgYdNNLZvq5A-i2KjbcD>4shtTQ{9l4>sHn^>pK~j*FfsOAKPCxsMf?X-h*Bo>Kyw5 zndX=G*R?OhY$LR(Qoi}+7LAqoWsi7SpY2y#E}S@cNI~CoTvI`UyPt3pukkE7K^QL% zDb@-ezSA(nmk?N~U>rH5SSL99F*WwaPb7qxen_!iaCJT7NqROIVX7Xm^GC<021j?t zcfV{BEp+4=8wZtF2`L}z#P=HdXEu%Q&{M9_Y2DqWayE9gWv+sEQw z3BD7tMfhdH#}7o%{-vS)$0ARkABl3B0XA^i-0U`eh}d8kiI?|c*;)%@4tB-!v8hnI zIJV&%e3NLas~)u2KI_d>>0z3|_=cHa=pc!Xa(44sw~z;&Q<`EY^VAs{!@707>sJl2pQ3lud40t#z>B7buU)9o5|x+@DN|hWitBbJ*8M`$E1^-16x3AOFjojOfE%#kgSM zo=>j@HW+=bd2)(jT9s42cX~&k;U{8#i{&R{e!%AyuaYh2bw^^?lxWTW?AaGE$q%vZ z3SG08!Sd5NuX!W!X>lF`b#1;*JHS0mr}v-wIK!BW(CD+s z@pG}g$dxZ6&*T#e$X}RnUeA4Hn^tno{&I@#1r?2M=&QVu(_4z36F(2{&KeawEoXNB?9Q*01Eu&eyq+|Kn z2U`9r8Fr0NQ|Fh9-`C50H?&7{3Xik7^0eN8%ew`bWAmRsuJQ9DbWJ=3&i!8>uP7Dl zAbpMcse+}zqBy;vc$)Iep@}r)pRRm=X@0z*c!pqpz6;$m1D%^JhS=VsP4ndi#SNk> z&#R5srcrS%=h?{98&ZeI$JrshL)*{B$G7SmbgDOF(v7hWYgo0jG3=TMOJk1SgCFzf zvi}#JRPWaOl>3S2iALj1X{`z!Y#QA)%32zHFNkt@Rca}(*QJJhlADGwUybm7&XJEtNz@ZBuN`L5yWKl5KE6yecVyhu0-NqX!d^J+eOa96r?y6^&~yLDx|Qw$ zTKWaf_`o;dA~28p;Ch7PJ8;`m-Ho2_z{vnvJq%+wIyhaht>+KV&CY__ZM3gKG|eil3zczM~B-qx}CVz{aW$ZeBpJvw(%TYf_uGAKVPs|$QVu>fyQ`< z$>iS@cpAkUm2&tPhJGzhX4+=)mPFf*^KP6FjS;p-@V%+c?@Q_XQ;H6jhIxEf@pfJ3UXC#g zU761jXWl{H{dfPJA@A2F^e%G26noc>P3SY*tvIcBnn!pk9=;*MTJaG1;%&vl_r!e5 zU->S}2Lvm}s;(l@we~}&d@J7JXY?0ya_;IGJAe^G!n#6)=_`(UdXaqK5Z&~AFz~>~ z96f6XA7I=vANa7Y&7QF*a39ghoYwafeV=jJW?J)I#VG4f=suogRObU8XMJ7AXJyx~ zoA>q3%}&z2t0!hR&f2{F(<;;2f<2P|OsGe$Z-?jA4Be8&LyUM2@Hu2j#>r`4!e^DQ zmdc)j&kG*7lBaKs4v()HAJv`S#O(CsxZWnFg@#z)FAE>0WE?Wzb}=0aIt>#x}m{K zHi`g!FHP$UUz0xlA1hX_T)k!W`auW_-v2=T;{QMfd(Y!9Ao||%rvCNknQnUGe?<|zM+A&y<3vro8%?F_uRED`_VrHr8mK& z>h%5Q1&VO7%eO)kO6K6Zmyy8cR$L_^FPdj~A@smVv<39B5bdBO?iH>m!AN`^7#GD_e^rtEP zxl&>z?XdfgUkX;&uJ&?r+yX~@&U|Iu>^^YREA!?5-nGjtfASd|-VtnnKglq?FDS{&x}~ft&f7}ahVvSL`8B@LISyznNo}&& zT@(b%b9?*l7srK0u|eZe|N7pwG2aaFt@qr4A;tF;3T{^I%KFc^ed%8{nH<-*j7|TCNFMsP`x44UF7gl6 zb(XI^QK@WCYq7OTd%HwyeSlnOdy?#OySj?oC;Ij_Hw%*m&fiY)mg}Bn*6;o5W0uuBF{UlZ+A^yx&m-}FS^8gv$~Rj+I@QI-C-2);oY``Rexp47 zMNs>y=``67{(7t{>#qAKtBSL-tY558u*Y`Y>)jWU%|V%r#WsgF`&}-)zbCHOS^8gi zhybkxrO=KOQ#-6aCn-;S>rt6?^*K4!2b|R*>bR>gT!(pl@7%Vr$#rA9(|dNC-KVCq z&F5Aq-(F^;IL(y_4K`M7H+=X_9nSoPwHj#J%V-w&N@ZAGzMIC6vY+UE8?G+U)Rl*P z^OL%IR%O~cCVX?L4N<4%v8AU&`>gM*eP&D5{^@abFXM9i+jW!w)IfZbO3dy4haNqJl<-&5R%J?gu(Ch3N7 zzi+dzI=;8|sQ>T(ua`nxNoW}}*82bYZLF&s?n+`qT|F{M4$p%(Nl(Y9FSL$)%ccKo z|7y)}pjRC5_nh=nf_efgkN-Jf6Y+j0UF$y&EqK#ice(3%?s~qv-p^exaM!x`Ysvh7 zlpp*}u`Jta{*Th7hsS3jUBRy7^AG$l-yuiXHw7zOUxa^K@YY?Z#yXy#;D@EVM8TJ6 zwnZ$R8Jak6d~)mXc>gNxQ_{Qrpp9=K34P3X$r|6U1TU{GcNM=D%>G9niJ@Ik{0159 z?9{sV>WOXqJwH5?`K{nu$4l#Pc^fYBeEhrLf)!cNLa)oC~e~o2HwR1a1wdS>LEW9Kk$e{n&-&ICM-6TFO zmtB7D%dKs7)o&sV%Oq~s8G3>ulFY#?m$u3z#Qp_m9vq+@zrOo|a@g>*scs zuz`1BEXN_D%>4ytPm@Pb|3!jhUvBvz$RS3>_qKRc)OGad%`SQ__02wM4i=5++Ra;9 zx?UP(NY^E7kbii@IYiX;5rT*PV{T1=_8%#@blpaO2f@=javVq2^_J1;vF&?wle%Gg zn{Ki~*~#}dOpoo*drZbRjw%jL%nt7eZv!IYu(u#XLo7)=?O5I*)GkRpi;Fv|ZuEo# zsjGJwN>z`=#hrvFSH|alJu0+qMh{WSZ{9urK3d=;C&z^>in1+U&TWk$6PU$S4?96}`)AUh`+$RSnGUiQij+FX3#?R>GyWx9%OFUm5l5-@4VB zi{B@fQ;SRU)Ydj#X^+s@ zw&c^aS2n#*nqJW`q0>^fwVCJis4WC_>Jjy3=%ByzM)kMD>9C1A+Pu{#slAOT%NdxP zitkC7*wGhX$<{lo$*I2f#e@jDBx~PFvOld$X*gE`GTdfI{DY)qF=DSK2J$`i;D{~ZA1qfX%zPpocrz4KsnQT`=EIB4M@@0y|*7v zXWW|zp<5?9*<1Qgs+&HP<|U1AA2B4teDe|4CpL(`x|V@l#v0pa#J-$mTCZSV&i2si z_&*(B^936j3Ba)L?%i4gWbb@XnEC=yhF<1E4DRADHh%sI(g zE7)Aeks|l$Mr7tuA(Ta31_j?f-WK`;p0)dng)c>^)DGG^j?A_wLYeWMH&a12Gx5GX zBN`qJKHGw;2gBagu41$Fyj$?C{#HJe)m3aUTy=>k;V&}$=9y8R+eTe?6&D-4GUKHl zml)2?*?`~Q;FV=1a1StCd1e#Z`#{5$hW!ElHXnuw_#Y&iJ+v`(qK%>8E^XmDjcie` zLq=z#R?XOkyayXy%}N#cVZ(P=g@R_Q(WKD>*oeU@t4|tF8{34d?)&9`+3MYmJmdR* zaYivJ8jkHsuWpo9ezlKoo+9wxfX_eS%~^YPZq?>=^*7IyE)y@$HT6s>T-)BGhY0SU zHC?WJSo@YRc*bZ;}S-p|L^9hf$_S&A8UE-lWS1N6%&-F*Yv>*LKca`X~+)M|K z=W?BJlm*TX`(I&)=jXgBE%bNz3ii6eprdQVZ_nzlP4%eCJ1XoUo>xo@@2n=wt7ZlB z&l6Y^-R)s|uNiZ~J%ahY#Se8f>3wXiH^_$9VW&Cp)uKxqgu^`OVahAQ^Idce+_PgN zu1PUIHN*SD*l*ge_f;LNucE-i{9{aWYyOu9Y_DK?axoorp|bezFYVX=g1y85r{8Dv zMlu$i+Y4o%>b%3c_5QSni{B3I2W;t^dVQ>;58AuITjZfiD_8c#X7l#=@P6jXYr4au zHCI(JtkwH>{1Z1xjKb|T;Qz-W>fQ{F?LI>7wAk=SU7PPPZi0K1PQMr8Hrb>40NIam zvLBmdr81#5>fI89F3;G?Nq^#7W%{n-`WAisKi!j*hvvyj z+v&@GiXZy2ecUkI<3!_Qip4_k=Ih8Xx@YK`1040vxLo!b!LA+~=<-jty$;5tJ==^4 z|C5e{P?}n=yuxGD4ZT=sm_T0H$w|T!E_V_II zf!X@=bnR{M`O4Sz+Y3^^nSI(A^diB%jhKBRgLhqeob5&VT>2mOQ^Z^8)o`!0%|HRy<38#DB6h0&D>4LFFYBbMOJ`n^S0 zsYWT}f_pZ&U_3E@Bl%z)F@KZtzW3leP%#)fVz+LSw8qN)hranE2>%7!sz2m~r(nDs zJ<&5hE)#A_bJXbpy^m_-vQ~THeU9WED|{}CwcbYYT*1);;q{`i*~fhvDtmjv9d(GfiWT$P?d5epB~eC=l8?9h9V%GMfUp}zSl z8e*I6n_|x3=S|>Wrjz$HygbPZwj{cY%dx`dDX$PMaqX2#u~F>WVko+X_tiRyRc6cg z*FJd0_E!mB*XP*VYlLg*C%iK{zPpqD91CATiF0k*&;%AA7)l%S^bf!##cRcHhyD*z z)=B$-80wClS>0(9`Pb{D?zYzuKL&1o{6@z^d%?Xa@MK+?&hc^c^D?depC%lK={%R6 zh5tClko-q+f2LTw@sVH zM|ExSjkxeJ<*$hV;%eg)%3FV@cdR!)DOmNsj(*)wqw}YPv*V66{c7VZdJc2=q-U;8 z&!5$`*YoF;H{C$@8J+0)^GZ3|aqV-WFNhXBe^Dv)%w4=JoA*#J$~PM_x~~XEnMQ{U zVmLAk=jT0?mF1WF5xDi^H*}rpDs7T(JkI*@YoQ+-VcfNT{F3BUyhwLSaUA@zaMkhj ztAhFQ^lQqe0Z3z4qxhx%fZwqIK{sUZ&4Jt6s>Gm2)N}*$EWkOGp-Tj4hu%_dju7-Z)N`S0gp0C%wjmJ0m z>B+a|dDzDHR5!B?`k4Ipb^7~;H7R!fK=6*j!aTsnnW^Dfy>FZKlsLw0=jl+e8nJdSzVpllpz=dVh@G`Kk9#<`0xfkHl$YSp4{{u6_LYo$~Ev z>D`p69u|xLpgiv*`L$B|8ky#&x9U3AGxG+y6}_3Co~t=9b4qMvUv|K_`m;bYv2DY& zJk^Mk{~E3Zj{aEuLOdH~IdP^Jef?L0nI9vUwp8cEzy_v9wI;x4-e$sch2IFqe8*|F z6$f~)fW-mkQn!ec*8NnrZ!6I6Hbemd?6V-J0RL zGftN->C?YTPRrgUko@0tV()I=73^KFXKvYzr~5~$i`kUNO)ibKY{zBWwspY2OAhw` z&y@ZvrTPgSB^W@KJ#sOydQLl9{#3MU*~zsb6lmk#k~je z^%kj7-Vw!~-2X@p8pNI&qP2coHaDS1r^|+hb_$tna=ybKm)6ic?CKiWrGn9K`tNYD zU#bf=SQtv}^zMiLGfr0(Pfh*0P<*BzbV`1Io%Cz9zdX+R-1^Jos(qPp?R~jOWl`?p zlpc`M1C`P*@LDW6NY`0bqcHtb2jCv(>sQ4YpWPoFEMDrcR4KBm<(Mp^KQz&ID>ayx zVK7hksx*fT_LuBqiTJHIuo2{$jhGF1nAw1bVFSdLLmcl}XGPdyCD_^FoxX=V*g5A! zy4#gtXNT|4ckAElM+k1m!d6W?+SO?*WLGPaT^%W2Z&&2+ptH`dJkE4&cI9zZyUMtB zySk&wqEGLX(xXy(XQkK`yk=KN>pIKIc10`!Zn5MpiO0tEW8ss%RQc~JI0rcRy=>pU zD$e-Ke(ok-+Hib_a!i)dFHiKxDXp`&WrFvoUc%mvQNC(#9%lCDVb~kIlwrK~jS>$# zDcR-S9i7?b2_;yxw$&c0uZioD+gen#DTF<7mgV`&cfc-N)`HImlj{()B6bkkXAxu`gtp zk8RR*mRa_(D$e^DJf6?mOB<@Vs*i0JFZJA_6#8m8Cd+L3;zU27)L>qQ!8{%9MBmoV z2a30@zR;a_XryDTgU0-ANY~c)mnQxPE3Nal2MJD_hLzU&+lBC(WhH;3Jyn16F!MJL zGk+U&yykBnX8v}OqceZIqy&q8bbkjke|ta)7U{M+nD@64!R?U0SxdvXgdX?dZ>OH2 zIg{OEZ5OTS9DS1Cq0{T!{KVs`^K_4^j#C+zeaP;sE>l^QJC@Rir1Wy7*b2O6Q#*B? zWo6&Nj)0pTO(q_jGfgQ^8>;+Q2+jcxelOd6q7G+#<_9z4r46$k$}w3+zbnyCD}7(h z9DQ8y{?tp%dnS~x+O3C~-FleWEoB(5*{z3Rx0K;w%hNn+&heTpUs;01dDKCQ|GNdZ zL-yFRu?{hRCJ_XCy-K{^2FX8EXPpgtT-63MZeH=5%DsKYwa563%l2vWsH;^E`u1Td zy(XpCrgX1T>=YShr`PE^%glC)Emd)5OW@$~d}cRwxN3}llz6GBvt$&}SYj982>HF8pd!pd9<0(r2lY9fe zw0YFSb=_~)lj1sUFdMgdl!uvrc$oReBOR~#hliPec$oReV;ryf$Ky({7{ed$U>572 zP=ZCer#hI$`ora0PZQh@=2qT!(Ct2A{hX(Lrf97n&@uTNbozdvkE=NIGkf0`>)!rs z=b2aBD7hT%xOV@`^=S9MXGsqAd3H)~O6hY_`dp>h9x}}Tp0DdHv+RFWocBL?JfHat zZK&d^{`VsBQqLDFg}z#j$uc{?InlpBslmJqgLyjIiQcW9uMlrteepl&%>P~`I`d2D z4gMNkn?1Zb$$G6)Zx2?FR|-!1UZ=FqFP|rPzgb)IOWIcTOAj-@^f2?w7dl?^OAj-@ z^f2?wmpESY%a@j5(cfO?VCI)EFTo<+>mAJd`uuy9r=C^*_X*B%UClh`ox=4;O@%qiyOponlZTl-d6?PL`yH>@lZRnX z%vBaC-hLp}iF&DDTYc4OE)xl2Uw%luzAwptSZ7^ddYtv8z58E}tHXDAI;Gant>}v$FB))2jjoDH`R^| zc7+VHs~_n)%PiYw6=$|dJzu7E3eV^55xCji&nPoJ@4Gqi{9G`vSF^jH3Qqlhp|sBK zekgc<>NV`{$I4gj&cn>^Jk0FwCyv+b&cn>^e(C7E-Tg{%I~d=*EzxH5iw`c;wdvxw z32y6f#C=Y_w-WuUS^Pfa8%vww=iZzX{C1_`LqQIItgbo1ADQrfbog)RniD*+0RBHa z{4;dT3I3{t|Et5FuWL^5Cnx;hmDc;yny^%9YbXB{o%K6?O8#Fu>GvB6SUSw!JnIrHHs@L_qw^PcK`Xe0*U9#}t(I%LwYkkg$)SA*r1Zd) zE>TK5sgLy`?WC^Vg84l{YC~u%W!2SZso)&o7HAKN*F%mOS|dpJ$Iu-no?KSm&tP%l zP~oZf;Y$Ca@rh^s)Gt5lpI>wdXBNq`|AUmbSdsSs6$d+5-UD#ziZk`hl=yOp!&{8- zFq>z481w8Z?>%Z@b}#OEEnayT@rv>9cCIcKhYr<$UXBplj_y{A^?w@m3o!&6;>3s1 zDKX$kVCrA?M=TO#U;b?S67B>~isR^>{82jb=c0OlKYt+kp?XJL5d$1jF$LTEFb~EsJpFUnR)QQx$^X|%Xe6E8%9xHsb z$5X@ple;Nz_E=|o%N^cq&%@02Jj`s*!_4+P%xurY%=SDC+ru`NXg|vdseQE3?96Nf zU7{nixs#OV#OBZuHg~d8t=A|5>;<4h+im1(V_|6;e^{dE=FgFgp~p|LaL zp28g-cIp}7f47%;*lGOdysH@VFm34p_7De~OY$!Fuq1EX!;-vF50gCFu~02op*nZF zc68XYML-GnvZsq4o3ofno6Ww#-BTz2bcRxnc3if7i-q?REw+EAQfwSKX5%Y?B^#$K zaQD$!wQ=Cl#+%*nczZubdFpYtQeVgWD$j9EvUlX?_}eV*t^7J#p4L0gQoh#S$6~zf zad@*&4>SApFzgeZFOYrqhVrQceG*FU@U5MG)hcYb3VqTiKGP9;B)>{$T|Z=8dq1oe z5BzJ8r`QTDdPH~U>pJr`3e(-C(jEKQ(W~u$K2O)J8YbQK3ud}A-FTSk#>32a_tQPn z1wlS#pqrNTPWlP^(QMz)TJfSE^KHfqPP0w$>vZxTnDwcgc3itnXTGe<@Lgxsaf9Tb z%Z(|$P$@cv$8ntPd6dwR?KCn6Qn9prdp88e!FA|&s9QG}M7-4f z{vFCOSw{cBM1QeTgLxSS^K|HfJ)NeD2aC6^zUTrv)5TWNMc;0AqZhOLk;K1EDRy72 zV2FM*W;A?vb*4pfT~9j?o|ahv=+}Eg6^n z!TSDk@xVWhJoP=a*7p;-&b(zm0B(Ihm3Yh#u23FZukud|&H)a7FWc;*4rhE;=UMSm z=eZ8$m@K2eGSSZ{wY_qu>)PVtPFd6?PQE=OlJ zwz~w2&v*}zo$L|Z4%tcTUYI%1sR_sX0Xo=C+!J(qoF`l@dT%%6AEtA$-r5r!S_RPu z=r`lqV{FD{o3a>tjpV_9ZA$kl#kSxv+qzEISw^-k%C6$9|G~lI`K+(&a5fg29Xv|B z)a%ho>&h`%M*rAE{|Kc9^D+$P>5$8wx4JqKGl84mJW1Eq7rnZF0(ZU6x;Xhn!KwR` zmD;`={3qIQSMhLNr`=zzedg5LY|-r4!_1C7%$56e^H`;u2O?}83yxo$bFz}ysnP;1#t6=m+9L4;?l(Pa>45S;-!L9_g5&b z^NX7VPrI~QenGvfe&J!}7anGQ@jSl<`*w6!J@st#KFujZZ5$h-76i; z`^BpSw?lqWvUT*h55EYHO<9k^245>$(>eMi|2my@^NEbhHg0|Xdhx*j2IM8VX4`KP zEc0gDrvHIk|G!1o@YsCft;%CRRsOdL&H)a7FWYRk4p+7RcZiodzq3O*Cd=CR?nM7) zrSEH-vo?!23LbZ2of+n=&{gft!_3}1%~8zEFNahimTh#1sc|n%T6=iEc(EOOhRUZ;_jS@I=o`Kd=v=I)y&p{Fx8vGlZ05`M zXLFAaNe;3qQ!8{#u*(X+4M|=#p`PdhAZT|iw#aM7((peW{zaThu|FTlsgMzQw z+~cFVPP?O8YckZkYV#guHt%6(^Ph0MX7e6qHt%6(^PhISX7isd!D2l9oP$~1{d@@) z>AvD%7IzPozkF42JD86ohY7J1-R>jq#{DYEcfKK7?>l~fSKT#zOkcqFO`Z78x0G_U zN_50zT;u$J3n;1<~tr{zT;u$J3n!}<~u(t!J<$6+`-Iueo=x& zy5BmO_nqGfZU=J~?>p#rAHEY-SIS22&XRH2?#&MVC?5F#ggn_h zv}W&r(RJp{_Kr;eH=Fod;;}i)-<8Lvs{H>DoWu5AogVW1hgi?gbscs+>3IQT`d^i= z+JT3e9e9}8!9N|Z*@1^)2aN3t70dn=>JaOt{%GmA)7YN~Lah6bczqv`|F6!vKFGNC zJ}7P<`=FteK7iKxpi8jKoBII$R&l0ZaO`XHd=@9@JK)xL3n()^%V7T!xP^k%`SX5) zV=MbBy(!K8umf95Y6>2A3aJy*8v8uKs{QC;){h=${W#z8T0eRi{fO->a&+cv?5SHU zxE+jBzVB%FK71|gJ5eh_KQ9rj>4^4|KS*a?KWAKfKX;1<{)3UHeumci`4C-a-f}-z zalW6~FXZ`rKLfXZz8z(zerCTAxFdAd_4DC^Q_tHgt?TEdg2$aXxt|XetlG~WX8r78 z*3XAIUh8KMvwl9((fNM9gWz@$Q++?vZgh;@_c^;iD#7jf3o(n6b;W4Y&0?8o49|TS zC-^x3YZk{i{1w7+f*(`Lv)N-E{y<%Gg2%_eALsC27mO49`xE|n;p^kjn$~(bcC=h{ z^zBjMJvMt0?vD68n0N1om>~@GC+MW_tNREtPP-hqk~}#Sk_^E*|Fct zIBc*}zwmxkFVo%)^)9^|ikPrYW%kd6m)sBVl4oG+1&i-3m0hOqfLth;UU#3~1MO*6 zT{JnpExhX%zuhc4vtwjkq`ba!GCZR9i;=&-@~cL3{sGGK9=P?RyJz)%Ar*-K>wWNo z_mw?E{Ms)lxW%xzAFx@V%WEpc&~6jlzLBzFYIIufQ&anz#i-zFpFUKvZg}SM_^pPc zr9<97H8Hm{G@5tN0pop}g6WeT@jX@Ons0E7i7LLUYCvx&9p1q^P{TJ6q;I~x!IuZ) z9JLYpoR?sa1S#=dso24$(cu=9_ovd1HF^(lAPe)`W@Ecx)pt@6M~={n;11#JIH0O6 z@e{A8FOh^Xr^9>e)Di`s!L!O5)H`jk&xfcCA1BCPuG7b!4)4it^7E50+4|j_uCro;4>Tyx*(*NRxKgmPU3WEh3s&uWbiF`*zehMbeBYyM(?Ra5 z9IMbhaMS(Oy7sz%nDTY}*QD~oTCj9@t@7ybp(!2jz-Rr^VeE^x*E=$z*JbNtldWynH`K<$5)X$0u6k zFb;vU@;c+PJz5#~C?|4AeHqugG7M*ReO8)3+Zg*~(b6YRQQBUoYy-aC(U+TrF9#XE z4mKaK=KxPn3Z{P)imbIs@Vy~|IIz`#Ej`48O z*teb-Cm*4_#RKNQz#b!5Zy3Yk^@j9~OyC#Gd!TuouGde-?+SC>H#xOua5C~gA?4$^ z)Kxq&A{NU)!tl9xdXcw_V85NxK_N`K@>$63pGQ(uUU^hj+670ExncnRG0?+d> z-Cv+54?8-*78fswWyH5@Gd0k+YSgk2pQ+3QO}7WS&P{>VD0tI)DE|9Bnp#YVfr zb*dlnfczUmS>?D=#^rcxG3t%tf#yw0&Cff@Vl1k|p$Fimhqvka|D*0b!0RfG_u;+w zx?xj{F@%mFga83z2qkfdV_BAL1zA!gnU7+wKNGH9M-g`oN zBZ2hZ3#5?--}~9^vKauX+d z71`bg82hF7;?7I@CFapGIXZm5&C_ZAYq2Bra zL2x2l+z)*W<*}Y0$Gs>+v$o2YBf64$#r@Eyd^w-?cebmvvET^PGNkM!u8;IX%oodW zJ^1kwd(^QL+njm6fP2tg#eC7{Ny(vcQkE+r^f$L-tj7K3e70mR{GIr{%O}Y9EjNQ! z_bu;2T70DRE$;_R`WF6{zJIWe;xeA2hq1P{SEwSKTV%T zxcIbNRUZ0w;=YAHoo9D_I|UNoejE9t(tMWeZ{^#W{*EoH=q~~;_$+zuzl%J4j=qPx zJimcH&x^i2g`*w_7d`w4zqN1wG19l=k8%?ydS$uH_f!1QxBmopUgF!CN6X~sD(2^& zPJBE0Yu_GZteRhXTJa^iymDO76Z6sEX`atgJOwAR#lHQwpk+OOhkH?mynaO=t{scM zUCR*r_CNY^?(lcEtF*D;2-7m8>?N*G?Ax^r*MlD~u}AIO*(NOOZ@7m%6?2!*lafQ@ zL>I1vqHpK3CBFUp_+9SX{S)MU`wu{?eftlQ79SD03p23uF|2^o$xBtQB$@}&@0TbW;C;ZmF{m)3pzMapw_U%l^ zzWpzN#lHQoE?>^K{~a*VoA~yBXqfly8YaH|pRSBj-~KP)E z7av65emBzh;7|K$`ZU7Dr&SIOdFb1Ts{*F;?5=NzKydAD4P_qrqtbkq>~H1UnOVxx9<-XlLL7bmh3_9)Cmmn?vN&Na! zz{IcfxA=Ab7Qem>zs0ZfxAyDHeOmnbfi@ld`awv?em#RJzkUel#IGM}^W^>d5rBzb zKN7#SUq1@z*st^X)_$Go*sr$$7W?(1UA~-OKNc|2oA~wnX_)ux8YX`II9EogU%x-_ za_Kppcs@h?;=PR7&ph4x^%KBf{15#)(XL~yF>*TNfdXN!&89c4{5#pr0a$L|8 z^U>F7p0QsKJd1vP4a#FZ+i)++kk_y1!?k14uWK1%zuw`?S?BL;S7~Fx5vFBG*^AUw zbRGM3Era&!gloUfHep#Ca1VJZrW#J=#`1Mw#W51rklwV&9I`Ql6 zHc#HKuLn&0dMAEszy1iMW53SlTl;mUW50e5V6k8Ca`|$8y$3MSoA~u!4fB3o!^E#Y z(v?x_*ZY8%Ytb%S_0D@6uRrKC@7D*wU;GdKI@25R7yEU>#h;z0^3bmncYc&-cl|m9 z%KZ9;q{TmpUmpQX{5pS&U*~V}>s#DaIH`PP1&>DaGt11$FI7rT5pzkUf|qBrsDPtY*$*ELN1 z`lYUnQosI0;N`-1EKzBU0rwBlmY#$>Ub<{&4B=M-F1o?lV>6?hCmO>oqu6K`_MUMM+mzL) z+pk97CHvKAH{6Fa5Bq4Z@^VwAtdGk|b8|SO%R_xugO2H^*!l#S>7NM~|9lPb`dNJ{ z(pGP|{1x*wU%vR`lktte6x}mCo%J`^cl30m`TRaJ$ydvT^Hv}iWg*{dK_BD~ z(try*h?_0J$r%Uy1~32Erei3t$Zwu`epZLdGRnRMbef*9P=3w4FhS2U()?@YI!`b5 zO8z_#K+A$6a8=EVJuPwhaYwvC!?C9)j?{3}DP8&MW zEW~cbMYdmjDfqRuZJC^IO!f~oCK@YOo;^3gPv8!pJX_zqDq9by{D&Nvm&w^u)x0c| zAA23VoVTM6e5PIj++x7QPF{(0O7>TI9=gtsfBu`vE5Ix08f!0*iI=n|bvKLj(XdC} zby=k2)AU+jmh2mnJll}BNMAFr_w>4bV&0;QH77SBJ@RC zylbDJP0LX=?@Z7x@$D^kX4MB9e3z%yWwQRXPqsU+7{~pea_*$)k>`@~uSi=p@AG9y z8&Myt{a=wD-)2`bO+f~2Bl?@$QWvqUOO?E{;IH#(Ts~j^n|N$5olnO_u`C)_g^iZw z%a>O%+m)O#t_D85WPjf$p$pP{%HKbXJ9UYnEr*H79{?1p*QqTHe#RLz&X9f;lV`Cz?Szao9je8tn#SF!Jt{-5?n`Mw62 z9@mk_Y!h58yKe8*KA+g0JP+h~7vwC{$6b&k;KH~-V)$=CMwa_++%2yhea-v>X3?R_5P`pBB^BYz5h&H6~O zwbdw7{))QBH@dxCH)V45_Vu*2_xE>puNxe=ptpUnb6q#&Vju0~jPd;gt$hQAxT;Cw z2K(CkH*RQe>*-$GIndeDZE0%-THpsdyEl4$%q!sg2YPzV9jCxM&-Xg`WkCl~`G{dp zvF{gN11;z)uesKt+0ku{uF)Cn9cAqKYw(rW^Edd-cu(5+w@CAkx)fV+oU7({fb-&W z`zxRCP@KIyA29lz)wuJI`TpQ}Aocm4%qJt-iQ-Hzq&()U(_^g89q%{JH1b z|E_Rs>VH?&@0$8O&%Xl$AFum8*`vQ|soPIkvwecw)BY^jpRO16%rW<~0lzGVaPa2< zE@N>wPqENk4H)M*=BDej_%J>8jW0CMCEvN}ZH@Ky8N6^dFgnh?_6yDPJZ)p7J~uXN zDF${-xqbLA0It8jt+8fwqCUOD?N@)1hYd_R=$g5ak%r&@e?4$`HxCBX=$M|w`)kbR z3HCp5iFt`DtF5oCfVOqKfxH{Dj>YK2W~n=6@04W2O@Mz!Gn3!$D zYi*nALt8s1W*gHZ^&!3+M_s-gG`;od87HNy0O7B8d3&c}869&ILsI^02!|d9CObyQ z8cq*{wQrxAoSxlKpWfOS);QLKP;A?0w(Na^n+R`A+jsP+kJlkhjwI?BYiw_w7#+7Q zHZTpTSS0A4enct-H*#WUdvi?iVTXMKM1Zd38LfqX=;~fGo_9va zbl2qM)WD<#LH3$`mikA>=f-Sf;jPipnJtZBXBQs?JuDTRGXlQ1VV_C9Uy8Rhrz|J+ zT!VgYyrD99oPB1uG={c1Yn~jR8f(}G+T%ZjvdGi=Y+p}~k^11bVRrQ7w(O5+y3UE= z#&##`M*;7@xISem{rk1vA9T-++d}R8w3Pp2poP9HP;4yFdJbN$k2_i?fQJQI@9}+k zpK!Du=-#>gG+=8RsB5FI0q257Z4CEpx(NLgZLnrO13Vt8$st#QZIjOmOgQ;+KPPY} zxuxZ}vUPaaLI&J)k>yL>0dBc!ILDuWd(MJ!zJ#{f*BF|d7{Y_R4$g0Gx}ohUhaaf> zXRKy!K|Zz}Kx=k%W1h;l-{&(p`~)9LCHEJALmO<9`5~a|J)|~I9OeLowPF<$m;DIfXOq{(c5q7z6ltgMb5bi%;nuU1L-@a zA!+|aJ@ZSxtO)6Jc`JE=RzDx!ZY+PgoHji4oM+}cUAHNDtUK~;emmf3uPl$)D`jEGW7fw!&TRnXjFz6`< zW8DPMF*=Q*gwwaP(0KDK<__0oxevpK3IQw)lE@T&`=A zx_CQSgN|bHSsxG#Tdh2sD4Qsz^8&eH9Gdy|l-jwr4P8Mg}JtJ8h^Ao_G zPjsmE?L&>JS)yG&%F?-c0%1$+~Rh#rz4dAv+~L#gJyi>AqsuEW#RLCF`47hcB9&nMEVAKc$GC zH~UW8&v<-@A1mh19%q|nO=I@rMq`3mMXtXBZ(|87F!fq7e-l{FS68fGx3rmGuh?hP z#UgMx))o}ZIu_cpf<;Z0!-<#leCY2TZ^VYZcs!;zOb$23U`rMAcjBluCHFrC7Rmi@ zfoF0rG4}w*hsg36arHJBv)FhA@t$MrWUnf?u%-<26x^|P^a~VxeWO0?;_r%Keb%B2 znx5R@$bCK8e|fmDw>o1#=;2NrPrnHK;Xe~k+77E5`W5=T>52Ln&d_K~kB?5c3b|*B z=TBUXF)7#kEMq)RgzW{s2Lon>^RUH$odlQ{%=T51e>LDPHfo!k;6pY!k;4x-UU)VN zRJJ_Iumv=sB5o~mHJ;l`0UsH|cn9Hy*gDH4Zl}eCr$FFWS-4ogTk9nKH4a{%9)l-x z%xw9@J;UM{ntBX$On$S#T?^a)`u<|1jXJ2Rly0-CO6Tob9lT zYk-@%BYk z$mLlk@QoZoN`T{V2M7)(iTE4+f|H-^y%aJ`bk%2OgF)ikQqJa<12;0(JB?6sd}_`* zVLwo?eRX9y_{Q&aFTku}&1~%D9L5{XndU&y@HzPf>khT4zLCd-wgL{!z zs0(qNOHA<+nPuJoIPlVRIe9QYq;WDobSvh;80X#>dE1(42zJi+=UC8P)|AlE-4Ar4 zXdB4+=fus6;<=x>#2%eQ+nj?Q=*K6z8WVD!65(uHo-f4we(YSiKVbQ}s9NQCz+$_l z4eW(?O-}$$uEU$x(9W^5OlkKA;J4TzpDp4}!k=E_VjE0Bx6%fu03U2JtnXMl@E||_ zUI997Q>P-$ww7|7y;sa>fb&Y9UD&o}2b?~J*Ouq$pcQ#(TTGvUKia13cVHQeDT$Md z-+bXEb{O&nJ3KCV9^x$GTRu|Lqc-LroV9X1gmQqN%t><}5&u>KUM!<#9_nRDpSd`U z$9B9v<#|7>g!ifv-VgV@b-kTVLftsWN*k29SNj`tuc!HQ!yXJCLDSB@&jyV18XcpJ zF-*)2)H#$!w>?_tTxiX#*7%u-z&=Y$%vqr6oY{c$!Vuf68Qtu&+vn^|=Eqph@{Mqm zr(U{WZJ7eK=40h`@VGeF->g9%?zP&)Y%YuK7uy7` zneS7O#yFOPjHr=+dudls( zz^zeM9c-YrvkOoBLTKOZ*I5sqTw`$4!z)+zHyT?RJ;IdknDG27W}yB2fx$H!J389? z5IeZ_LV())x?8&j*Y)+B*Se;w-Ik4dU@fqHQ<@J)^yAb1Ef%fNBY@>X> zd>yJr@|C=I1}}io-!#T}+Zxj|T(H73NnbQ(Z8AI)<4ChVPuoe&On5ty^;6PQ)_faQ z%#^2-^;6Qxa~aD%?P2r~YVHqQ`vwYUX90 zUblzDWxCz-`9iykOytjR7m`m*`zloi`{iIi*tZGUcvbhREo1-AHrFv5VdnrA$4i87 z06Yuzdf?xrCr@c737-#Wu}S+@&DWOyv$ zoNbF@_|B0KXj7(jC3M1vc-AEwS@Mp&}znPK2H#s<#G^VpPrJ+1+4ma#@nCf-<4C(b)LUy`u5mQg(>OBjZ{-OHBh?jXA(&yG4MB1#qK6~C42-Odx zl=`xL0dMQ=ZJQh)$5bWqbB^Z;ER%au?3}C9_oaZLT^+>B{Y28ug|@!jr3-C+g@fnX z^U6GJ4##H*e6#kuDo>lipX}hdc72M2<=XXX2g|kVH4bLm?P)$ws@SNFTe6CMJm$vNZAwAF-8zY`=CFvNyp}w6Ywj9y`Z%5cz zORQtl2L|rW7G3}xeWCD^H2JY@uLEA@&ZInh$hnu-`Jw@?^xCpqdfoKo#avL-Fnfx) zm6x?+34Uv~aw$mQ?JscW!3OKz) zJ&f{VjjDTYY;3?TK-s-Gl)Y;BjGb4X;Y>SCr#=M#-`3}F&Ua$&29+Xh%16N1?b?=< zm9oc}hV|67ByYlW4GDWW=`z2wp+1Y%a>B(Q(b0KFW9#w?Pp=$_g})MTrzbE|dU>_L zTc@!kGK~#*ER6)5FRGenE@v-3KInTj3u8>MH(;b94bw}JW)m>og7k8v+oz|oqsZ|g z>_EU=2OVGs0fwcI26h?_Q-8vb>wXioE(JTBF#nJVT?=9E%}HDK4XDqtfGIuNt$Cy; z?s(vo-ZLEMNx80QA6QPpTDz%L*#4KPU<1#Bg$)i4kBrR@a?jM@5VlGnnBa3!c@5~} z`D?DXOdxW*2{^e{=m-X7Nxa29ysJUP^Kto`@%`(NPvaT)Y5W_2m$+~>;xPWPO(c$F z-Oj+@5=7~5!kw4QVRPPEc)ta>va!lrRlXMF(fQuqB;Pw!K92KrzMGrmdzZ?`ai7lj zo+kO;tMX9?I^X-7f88_}|z%4lziXxTPpv|os5*&b!IUy5ki24%EgiD*|hq5WD! zOI?@o{f4KNF%x~?v+zx6o$FJ^PTh8@R&ROu_ zvrb+dWq${}IPc25GVl65!ay%_6Zd^vX5dTN<^U%hfBz78+8p!z2){#~Fuu?7fR4X^ zqVoLI=W%t@d7NF6rz|m*^5qDliT)BS#?8}omuD>A7{Cr*l z?~3`W=gl@HT-x+5z@<(3ED-m1z+zhzelbqUC0>{7=ql!4zFdt1sl8+kG1EPu{CyAd zh|QS8^YsvZ`FF6}&&9&dK;cRU_(v*)hqBGhS(+h#)TGRsEc}e?kgFg9utp-fmHPF}0 zUK#xY`|kT9q{(wJ?xbhlKp*UYIPxsR#d7I6NXm3?^TqGQhJ3~K;eZQrX78e)O|suj z-cc#)Nb_>K7uz@(Itpb5-CG`b9yLzpiKg-W362?R$QzFtI3`*Gc)?a6JI5w_1BZAo z+he+qOZPUWvC9~5^UGLzU%)Z$D8N0vwM5wyMZTWC0QdBn(Q@abqA$SrbMo|DjJ+y8 zt~5)XEIHWz4%Rg}gcn47-Ilq$IhfEP^v4X2(}B=wn5S!>n8n*TE}k`>E(a63?e3cq z84c5nn?C@%M-Es!oHH&BZa;MMD#QC z&D#GQiTv_>Xy1O6=PSOLeNBq)Xivwr)+)+qL7INz7=ORBB%hwgW&aZTh~VF4KKy>3 zR|WSJjB>I6Oz|k_~3ST^%f zUqSa(^FZKuNnKa?a{lIZDdk9iDE)AeSCE-F(UFrc*MHl1{0i7=ipLpV9^yz7WW{V8pylQYr0z7&M{v@zghMD=7T}cA!*;50ep2$-nX=7i+3io19oOOZ+p_F z$;q*n;|B+ah8sg;C!TP;-{$A3Tks~z%xueXC#AtB==VCa61%bMd2qIQxvL^MuqANi zN@i@E9K(>=&dYQp_aW_GG4yL^Hs^yWlC9W`fnLR*JY*GvGwsBVXbTc2#ddVIZySjl zgqC(tZ0DL;<>_g!55;fk6IbK6ZgYv37~7CeVw*K8Pn*vpHY#~&)ASRq!1KNqcgpgR z5_(-v(iG*cnstEl(zH@Xc~+dwS52pNqj>jBBDOs2uOa`!`}uo{|H_q}nE$JDCdloXTZuZ-PqA%#@LSrp55L78 z`tdvX+TiD`&JZJMTag&)xeHy4#5nw%#ty&z=}tS>N?7|?V_fz`F_vQ6*w^h{9_x^#jyaUG=m3T~{3L6_g{~Iu@C6R5G?rMx+GJJGQ z;!x7`jc(rJftK!gl;1fMD9PW!6s4EL!zo!VZ{5D@BKhokg?r=F=R3icA?p}R%-xW~ zzsr`X^%IT^6-#>MP~to}|V?+MI3dzly;xOC?T&NA$< zubFu{P6I99X%f9Y2x6LC&1!t`1!`S9DRRw!Q<+sMA(*NJz` zxTD>}*#>;SPr%f-ZM*5lHVtEbE@s3q%M-5*IHpb>;hBL|S%7Ve;leuwcl;;$9)o|! z$jL{U@w$`;yKs~YhkKp_lb#LeX?N{XmTljv*uNjYNqWr~U(jc{ z9iX=%kf&eoWOE=dgVoLCEOrb~Jhu)NU{*BCi!f)eeT_}^u{z#+&fw1O^6*Dw^sQd! zRkHyw+O^|@&2(re`{tCFk7aC}7~_laR&PvGw`?Ph;kuFL*f4w0Je>U=-vjWD#=nPE zwS5xDjpC!ogZA;B2Usaz#84V1G1RnwM`jRtRn2UlR0mA^n|J!J&%I31>j$pFV5S;IP$Ws zWK6+1(+R*RlkjlzR?Q^fymT9j9g&uK9uJyOkBXW0d5D_>O^{d1g!5EEr|ohM>7rgL zW}D|{ZLea?#YofkHkZ)r`4`qJlpkahJHEv8n!!B_E!B(w94hd$F9LhZIiUqa#krarPG4uZRmgSC)?( z>r-bB@dZUUy>a46rO%J}lBYp_tzWSPD|e)O@g;|1&YCg6cI2hUPd=%xUol%iW5+2; zA{P_w08Km=Apa*2uHybnkrqG2xSuqa1BN+pPiALotxvlGaKt_Z_$=UhT<|2MJ7?nf zdx;q%d}15Vj>yH^S6O(7owp*bkE2ID$CFE*VE313VpY(XT(tyFxk2;(}*b z99}1efNK%uvY(_sKLT;VGi@0xhx<}Wt;G8Ct;>Ty=NdfI&qjXsnewdg9p0+hXz8B= z++xtl+za!_I|8&@KG%T<_N{qY==TX1zyAWjwSRme($?;C`EicF&tJra=hgZJ_|EG< zTf_Z&-09O$SN)^64$?)kvsv82ss zdj|O&yclr*s=9;sV*b+uZw8JuZ@|6CE3B1ETLfOsaQSxP+~G~AEAOwx zo$bW$VryG?J>a?wSI>%h1K_-fW8a&q=Q6*yev#?kxM8rfd!XN7t~RXyz8O4{U-eF` z0aN!Zhq`aU()^v^&GGLmz@u}3{%TU)D|Hv(_HDMoQUQ$0|>>ae@C%zB051#h7SvYajMOq5B3!negw{MA~ZI=teF+uk<6scbXwD%xM*)eKj(&G(?5w9WV8PTS;neYI`AA8@fvUH%8We#ABd zPM6`6C50 z5AdYy-Zno7e9AUI1bA$l9|0_7n;!){Wt$(faN@WpG%bbLX6oCWVw+_++9q-CJE29} ztl=CJ(!emRZP3mGucG}0Ud?dYZrs|-XHieu=I3yyZB|g8w$0B2F1D%5|AN<#*k-`# zGMsJVE#J&<>U}d`29JVf@v*+xG_}v%TiN9&kUzG|PXZR(<);ACb{S~$cKK=0X}kOk z(kZ*V1@M&IZoaQ-z6gBEF24kLY?ogFEM=Ep1w3V!U$b!HxOX`z1&+jWKJx^$<;nPq z_gc}G%5bzf;!d>rigtMl;G}r~?qcJCSJCzYuVy%HGtMq=Lp^Dix8qK`Jc%+PEo15L z0xou`%m1F&kJx3v=`x&MV%9Hdmp=rLf@bjvxn_2`NZI8#kUzG|ZvqzE<*k5ey9_jW zyZjdDv|WB1>6Bf52k?~KVwc|sK4q6b06ezK9|4xK%O3-tvdf=XIC1uSHt{EY>^C*V zE(g$-=i@JBmt{EG9B~_MzM@@T061yR#a-+&@G9C~;MEMLZN}Na~y7KSTc5E`JVKY?r?P zOxtCk$=l^GL8tBVS4gMq^0$De;$}ax|c*-vSY~jS&Ge2Ux zg!UNA?_%9Pzp2E{Tq4e9`~MaE_1q=Xf5TsDpLD>5HYbnoVUAPV&_9r0Y$)ulu9$xU z&Wm}thj}r6%b5A!z|pVsub8)H?)G_QZ`Qw%=JRrozuyLa%*XF?q{@`>+>b%Wd_TiI z1tX9AKI~9e;_~~g15S9&JHqjwk9!Knx^vGr>rQ@)Ko|CW2Y$p+C!sC@Cw%wvWi7^? z^c-gdUU|Pjy%Hyv%oQ`A;N0HuVmZI?I@?#(NyGF!XL`SR)$EVFyo%)oIi+69e7z1( zrKif5Aq@{Z7H--)f}eyasNK+#$MvSNYh@AwRiq@`@HXmbg}Lg za~$BjQaC+FpVv!}rI;_mp)&}&4)3<#IM40Jp?_-gFN9iW~TLftb2n#HRrq!;fXot{Q$=-;J~C6!pX2y zU{(+ZTW<4nZhB2)1gG?he3+2+>*cK@*s*2jWB9Ct=LUStU=+utXS}JW`@}e3262aE zyd-NVi}*te_)z9AsRy3;j>#y}`m|FObW7Ob$j|*ht<%$WIVbuEz{38BnmH0_$nGqG z$C9BbnD;2a8Be%4p=Mf;=1G@+3BmGbnekeK$l~GlxIRg7~||#4Yxmm{(v!6>YZ7!f382U zpXFYNscZql?N?yE5JwjFCJ2JryM6R$h-8!oG`25}N_axMRFJdlsw^m}BdfVYmp z=)<|bKpn{X!l|Hb9EmZ-t)uWAkguW{`AEMm zXRECOE&Ha`{@#jvvwW*;+}&h9YqrywYoIpl&h1ep@3km{GR5yVvh9eIw(G!e-M;I* zZ29~ZvmS6>(d@iC!{gM$emNphs8*?W3oZnI#wdR0b;^?R!$|l9>XPUG zXt`yLeBT<^$ZKZJuK4;sfc3KRO{oB`|7Zh0Ig_62ytGHP4cqo{?SSdE;ZCGwZJ7Pq zBap^8Ia}8ztc!eRI)}Hr?%ML%U}1KoEk)RVmi#47@jJk6oYW1t#8(na^#CRvFw5z+ zJW-Bi%Q`JFk5v5ZS6850##w!UOI*ctKhj*&Pn}alACfwU=v?N>_Ey#m?Z};=hx20O z=n&swQNCNz4yk^Va2?Z~4?fH;u?G3ZaRp_*0C3&6zaP&xcVw*L zreLHWWSz;o4t~OW2*0JTejI)iH;g~}uuZu0qTjm{@@T&|0-W^&!2bcbKjM#hHmf|W z!(!lNY&;6wEYkcd=B=5FeBL5XkI&rv;ug@-FK+esG2AI9WuctpF#%XJ*@SK?qKkd- z-@ub)Jsx!8moreQL=WFx)i~Y_l_>%ve;;&(>*I&Swx@1|~y}YTisN+!Q zVp%(US(o5WUhFS}++mJ{xLJ?G&0aE>Blg5PYdW!k%fOpg5m%Jwaxc$L+(ow7eHCOZ$ zo4+_$bae&~^EUJmWphPOjd5zO=;;|RnFGns6+NSX4`n_RI6YV7(^+gn-8>sK@m$e! zm`}xf&qX>lSM)r<^<2^Ok&fqzSY{m4v0Meu=86c5=ZXl^b44#84d$ofxuO?lbfPC0 z>(id&xgx@JJej3S=8A~db48RXA4@tLOvSt}A+4G#x&dj1fqJg!rKBmDE4nepsktKh zhkG+u#C|+ASLAdvQfbTGX>tsw#Emspu51hYJ?)4tehoNIyLTvF zgR&*wWq-u$e6 z0l$fR6aI93Ds99%v7aTK)(_KfwRtM$Ex7YyIfT1%Tz~v_q?zB|(MM8Gj1x%rPW*9f z@DAL0b^E=XZ$nxJ*n`+-$@gz42fl`Ehr{$aH-jeYj~?dygN7Xq81+667WOXBpB$=s zjP-x6_v+HCU=JKmh(6x~StQP&t$YxF)WLhbj6(N*z*BVZ_jIxj{XV2=uOIOD50&JT z7>8~2BG8B}d>Hw(eAF|`{RrTc@5%V1d>=)c7u%BgWsLN3Pbc*dI*F@420Z2a1nwyq z%aZ5Dl@*?wA}+{59PKD2V-c6V51*>Can`8@7gK3D(1i+ZANIX06x_De{! zZ04g*Li<Hu57)s9&(}LuIbg6wfyKlA3?~4)W8r%j^8R>E-QtCHZcFZ>Baq#$-2( z*yYJ4cbuDik20&&f7*d%_QdB#p4WU^RL%E&TgX^cXxYw1TfnzkJw4m|p;(uZ=ljP| zJIeD-KSDb3BR>V5p_?vD{@|wb+93hI@jYm(8)X4>^nK<{z1s{Kld#8b$}0}K6VWI zKjjEqJn|vvJvClppBfaxdfW!N!#qUA+>W%^x18xgA0MCTL0{YKOphOs zZ*-=IhXpgY^{yHZR|ZTyRn3pUqYGzQ#AkZ^!o%HnDyzoZd3L6UONTQ(ehGSgrpK?H zY`HT%tZt$+Jp#;aETK$2XuYTQm3gyfPmC zH`0uS@o`mqKNMwS&JnB~SJi1htysb-{imjjK z+m}3JTS(#L`PI0*EMfgj*N=77Yk9{bO}jq9-uc_j9iE7Es(uduoL34b&ubAEWZ5MS zK1l0R_Ap)M*YfD^;QtxT^v=IqvdXw7r)lr092LU-w~X1HERqt4xd&YbZy@ zQe1bNuV5TM5Vim?J;vAzX}vbL7-_vWw=dFqZSG{qrpFsh>$SQ4K%ZKhTS|B$u3rXt zyf$}$z|`8@eQf^X+T6hzJgk%PnJ-(LJ2b|rwYkGHUb5ztUzLo8P@r~7hjT!sP}5Aye!fHS}N^wog#PyFiXsF%B{=D`sUUG7TYB+usM zus7sm%=J)}rv;33o`;p>S*7yG_l2Y%SzVH+RppWSK*`fql4q^TL%nI)I!f}aQ+arH ziO$nmlIIaVPf9;GV(yO@+oBbB&2K{qzi!V@;u+ci|D^5NZ?oObux)^Ssh(c+(E@x* zmcEFNx=+y!M0C`5itgNqPRpll$0OP3;FHcKf8?iNVnDJzsTp8b=fUQ?`mCk3^Z9R;@4$0>}bGv4ma0j$31__*nC~K z4M*5FCgnZ2Y%{t$z&&2j&nYQZ5<0u>Sg8lPSov7(^Kydg1SB!1;`czk58= zGx!U87qD;G=Jou1zHL6A=vhCf+kvBO)OTp-irE1;FDPueEHrITOg{-Yo+Wt&?!4r=2)Lqsl3$UoVxH`I z&?cE*){m|RT*~FMOx!hq={*VLM_GxJE3{?)%*m%CuWmEy;~DtVJY2o-Z9~9$QD5|l zl#1u9QO5I?jMsXefZJz~JT*TjZ^b;<^Sc#x4$YFGx}udBoJ803h(h}rfyeJdfnle$2mwP&ABY{rlPF@B) z<#+||DHwUsKFZ3n&#y1{HK3DnZ}NG{%6&EPEcdmz7i}**hs5#OPnBQ9<@3oiCNhXU zOFiG@Wq6jCf%32%p%lPsMLN2l0BO<2BDW09KrbsF^ngICw2FPh&com*5zaz6Ik>sj_{S>&=!n ztS3GXX+0)?3)1nL;afA98zWzprNg_yug^d>i2L`XFIk$J1+u%pb20z5}qn zMt(hx&#qe+>Y46qOyOL5_YV5I0GBxl+QYk%7Mo}KJxFW&C5*nmjh`U$YxeI$x^-v> z`)w@Ht|gI%V`vLO9|ApBSa!_v(Z3(`VjFTED|wWSp+8`8+j8fz@~q$oU=001 z;N)`WvF@rjbo)eQ?+2gN4}%BS!fwK!?)Qje%t@SFI!+-EiF-Z<9*aRFKJVj5Yo8bR zSIsB9%tFiZ%VfI}JY1t=9=B(- zVs6RG3iXb0A~W?OeAqt)J~;PH@yX*t8I+4Ulm7B6_#JrYy{I@B$jeWezvk&&TLn7l z)4mEkb@6rFQ!w&~Ws-fb#IfCi9Kml3uWxz&A5r{uo3LKYul0R9XvsU@MiuiNzf8Cm#`xs)jiK*$dvE&tz^CS^3D@z<50K_O zwX{F^rsAX@0RfzM6vx#=}&+ONK0{Z-u;`W8G z-(g?AC*GT8`DOk0Pf<=h2hR6H_}=u-tPGUHp5qzT)b{)XWA{U>M6Aqyn!e%}C_6Qu zCw@}T=ZttcIhQ~l((nHoaPpIW@i$28zC7^9cdR`Rp=J4Hw7>VX((nHcY4#s~@b^0I z*53i9%aDFw%3wb&b5!*Gp-xqEXI6&m7XmInN5wiyKm8Z{)^tHHRjU`F`f^9Of>wy3v?xd(7wDO}ta zr(|lDPvor}kv5mUcf|L- ze?-0am<+!Eqb{5Fv%6I>H@>?AJawPSx!t%=ZGcAish1$F`_v~O9rvk!BHyS_{j-G? z`&9CmK2Z0me+NA7Q~v>&?o)qddFIa|nN<8_?=Jh$e*v!h)PEyg)~C|=v<@cBNKyyHHVwpG@rE(Cr4A#i;v zefpm2Q(1mlpSlR;$9*clyUIRwFW}_LokddUQ+My-VBg1i1L^ygpd9*ES&L*}#=pG* z7k|k40ym#rGy8bC=$FYy&pR`{AMoreo{ZnTSRV6BdHVw|dFFs8Zkf#!d?(AL48+N$ z#_V>!KP_Ly9H`{ue2J9Bev0Y)L}gJv!bQGAfY*J^p-5|aoE|FXu&kVX{v)FNNBaEv z^0B7j^GmA_$ry_ITo}M4p9{7_-ErMW=uQM(*hiu1^3TCZpc7kRpH5po z88AJUB=H#ARN6I9i*K9*$Ln1G{_Iku^&B0?OQ!%PIz8I=fh!d3_!HcFwmWTG<@bDZ zuAA$%r}}bO*1UVEXDtWyq|Xd|5ctvF#1C)|`@Tz^F9>U^HFE~&nD-Rl7NV200B74- zo5Ve|4fdUQS%sEuS4O+i(@MgL_fp}AKF)-#kWlrpFA$`5ufrP zv=Mc8ChjR1Wr=yL04*;qr-K9?5Xbfoas`}}(*-=sJ^^=u>9(W|F~8Pb4`|7o`G}LV zC3^wqmBPhweM+Wg`9!upFYn*IedYBM>bIxjdVRj%c_>@O)JY4C;}lybJfm7q;``-% zzq5DA*Tu@LvyQ(L0@(GQhk>7tscGYJO#N`cbWGibw2rCQA|1!n9pn?m)axv)7*msf zDyCi!xcF3=r|JYu$JCFoJo7R2If|c-sW$+wW9n|C%VKK!rc_M*Naj)VRJ5^XF?B!i zshFB@9a9e=tz&BPO~uq30oO70xkxvQsU1EaQ)!Ksj-2!ZZ08Q(tIhpd8UWRm$Me570;PoD}Dys`gAii4h(RUOXq}F}O3{-Q@iy z^9;AQHuoVx&%5|~iKMENr^DzE&jKz4IIO$)v;+NzmSeDb)!NBWEgWT##qi##b9Wr=x+ooG41!d^1QA&xc^n)(w{V<<} zxF5aaKYRt?x*vWL(#`r| zhtK!JBR49qBmVGkv}o{%lJd_+5*%?z_WWLe)G6I9^ir ziA`vq=V_%+elF7Vi_iD>zr!DkkJV*JU+%uEo!sN*7N^yF!@17Z#xWK94zcv9*P%>_ zV_t;cEbn^U<9?Vp$@3EY*8Rl|NK@W?{)%}i;Jk>V-U9D{6MYdceCYE7ZPmP7@yX)? zAGRIai*m8NSK)Wy5#E`Re&*G{Q|D)3UL^%1kGQPU?Ho+LK44)l-CxsALfN6ul5$?} z%YFdv0@F6Yx-h@i@tZ(PnJ6=H?w#+7c{AX=QaI^biOcIh$kZ&K$o5t*??1d<=JgVI z?WsPQ-yp7{8D*u~T zZ(pbQ>HhW&fb0JDjYyaExAa}9{`M`*qxxIgQnUW{ZNR7cTf%jJ`*x&te@nip{`MV! z>;CqgNH^UNbzS&G>bf&w!5K zE?8Tit#iLo2i8w`4%=saep2pjc5ktdeE5D?IHQwm2P5{}B!N{?raRfjt^aUu3D1v_ zbE$-G0bm35&DfngAL|Xq+@j=K6y)L&H8X>=u>6_P%@d8`7WW#M+n-C`u0Qj-03+(< zi{M4L=#%S!TyL;38wcAf2u^ z)3@6^6>}TzyjTw5t{nHi)pwC*etSoo@mXMuK)Ubak8@(*!=0DBv-lmPb-zhlqa6Ay z*&l#L`m=}mcNR5_?<`W+Tm$=|=T8oP4Xk{l=I+}?r0eR^{ZXEd&wh-w_yDd|%i8cy zyj+a+`Aq*5Y1-65{=RQXK8f9AElK>*p`Z`z%uZaS;4-GxFCnLeaP1g*NkT~T;M6P-{I?XC+=E4SO36^dO8F&i%~c6Ie$S~ z^h=$D_N$t|0>?|r`5V%tIUIMElcx`IX+20A9OijZ29}}i=bt6~{^j$KA8CSY6%%aB zeP0=GleDizpHjuMgcZQ9*0yuZ?JAbO2l?qS)sc<6^CbK~@Rp-<*!JMI!C9=U&&T@i zPBxFavI@GL3-%!L-Kpj(v`bUI($8@&JF_9$PniwXTAX+iBMB{iWYLCdX1=GVomBCg zc0#&^_^sPto@x4I(uwciOXXSY^DIN#(+^7?+B5ypBH(#nf;-DFxU-CyUY-@oPMV_J zRkJVPyfm%Uk@2@%W?mA5a6P> z``~w|Q}6|rH~Om}S2*+aCV%EDeQNxE9$_3)$@f9HC!2MM-_PT|5qVh+=4#J;{n`Kg zGw8<2FGSt!IQf6qnb`6C&(R+7xRLvE*iXl2!TyG{>Yd2nA}#R=*O{5`cYx`$U=Of- z<|bzS+&=N~dy&5fOk!^GU^*O<>COx#OdXJE%lZRg@ma7ArYJEEAWsj^&VrS^au%#h zySWCL17N;C+A=KMzMHw6>BPGne*#>e1=^p zbWhH9;9#We8@cxfPQTarcckO@I{%Tuf{n&!AJK00d;s~xXTh?K?EHu?tAKA_iU!S3f|%bf*lbrYQh8(?n4%sLR}>@|PptJ7`q zEZF@~mZJ}6!7c}kcJ1K!5Fi?AbQX7CAM(;?!7@$Va(vG@CH66#Q_3DR59fFV}gzto3LHjj&jKw1LK}|Lr;r= zVBEvs68jz5;^H2O!Hz)sDE#R)uok4_e8>2FG5pvJ9%3!Zb{yc8&CQF1n2NGpPT3Gw zkyizDBHIc0O_@cu6Om>eCB_TaJ*za?W7hrMmxpdzYaN5WypFO zW#-%k<3-49=R{6LUgn{#Q!Y1mQZc6i&Wku{pBN`H6EA#L;CJ9tHD|N{fQx+cxKIY= zqRuE6=^l*Vfrp-xacv`XD?OcSn?NUH*oOdL1J8%zo`R)hx(zzuMI75L$PwCJcs(3= z^1nas0@H26dNIG&_ZrZWH}erEvbO=wD}|Fe65{f05oBtXPh@Lvaq@lx<&r+%9)Z`M zTHl&hWAaC!>^(k<}UJCl5)HMz4athgpe{t_4K_q)ypy~I$m z7xiI)$vA?tt&(zFn2kCuF^3bDh_hD%uGi#RkuF=4qyI~-$*pA`wI)aVZ?-1a0eosr zj&Qvuw+?B&CP%*U*oyC=tOs1j;GIY}Ta$D6{F)qj$7^!5F{{GFJJaWYKL1d-Scd(| zo?4S*`DL+77s`oa7p`e=O>TpgfpSD^a(n0@p}*yKY8HdP^lv>aIwq)?UZhDE_SU$5 zurH$Px9N(VJ8FSH;h*?ez4o;cbiAZ5ly$)r?RhPhG^3R@!4&NU5v{BTrf44((aKt2 ziuN%Pt*is4Xa_wl^(E_i{9OlJ>v$8=A?~V}A&bw)L=C`nKR9A(e5|E(TLF9v{y2xX z8FyYHTct&Cp|7%iTLr5rz}0ZS2zSazT9(JWWB6UcUy?7%);Q@ae(u*VtH>womyAC- zrjYeZKI2<~|F6y0^&J(;e%XJ|jD1CA9K6II%R6infW^-y=av_m++Z!;h$#Sk5O=TY6f`9&68syB)RkQuc&)ZvW z+%VhX;IvmK+dQ-M0B1AyY$aujOkWK8CEz7v624;?uWQri=yh%Ce>?J}nlk@QxLtfI z6n4S(sbS`N2l&aASR+SKyT_S2Qe!JS7I*^6(9iLuNT=v7i|8)5Y3D0{h4Xv)M?Q=% zIqQB!3*N^(K1vbW8qQAd|~8f3tKi@Ro7blUuSjw(>s(Y066) zy}rxzHNerQT#Y*~(p}Z!_{x0z(~zc3@K1bB$Xhc{2cB0E7v2?+_0OlaxLErc{{Bqd zi}`|GiQM9|t_6K4J1@7@2kex2o(no>=hdauht&IdKL7J^XT4<%A@!DWUg+sWKSC#C zh8FGLU&Ex1iy;H~-3U7B#nmhDBaZDCbQW+@ z*2{orU0#km>DkU@ylA@t7xbs|fy7?o8zknSJ~W-^_BDX>D&mT=-qhk`eJ$=HzlKS? z!8)YNtC}|;FRx;Gp+3UGIeHMV?jjR=|15^F-PBm!_|ox3>U^E5%FZ zEQn*9g?0_Hi%jIta*DK7^Df|cN!#$bD$-TVdjRKElqEcS8Yj<{ZqwLiQn-{Ypys^+kTOqr`-_%UZaw7L;9WQ#-%%`kN-NLb`aC=o0g4!V}}> z*8v`X)8zF6Q{Oasv&~=prpa3}c=)~ueL~qcP2Lvc)HhAuk@1pmb>zQk^3DQ2lzB67 z824u1H1TPtDm%AcGw%jX{7sYhGM^grzYpouH%;CTxL#-b0MhX{O;~0;u4kJmc=k;b z!s2h55a!n9oLzp9G>LDTd?=$6Jq0_C*Y#-IdQKrrmweNNc>PTi%9Ni^a5k8l_xLzz z)i+H(fi&km++#%kx>KE$Q`rpaf3lPmX4lil?|uub~q1xx9Z>9cDG9)mmo4mJiyG^O_3 z%+@z|wGDQzHFuEy^DU14SkU+Ry{(+Dz#E*CL-nzSTNA69#{)LcT& zvZiUzJK@~H-sa*AxYCZL7MU-i9J!X7*)7wJ`mkd*Ix&JzZBEY(&Bjx#l)WM$sQ0&l7P=V3 zCaST)tOY__-R$ubbK?OG8?xhHF&&c1^m;}<55oSpq3q@jj>_6p|y?SxuM4N*$-L;xnTRtxaV+h z)8BbvySZZ});B6BkL`au%4{po9Y03dy60_5RvAZ}f^xXO;5)#@bGe)||1RK}gpiAM z!A>*tJ;kfiOd90jvvr%D_W-Z7E)a$J@5C|e%1tkXd5ghW8LT^=FUDMmd)_NcUxME< zR{t?%JJAs5=39S)G-V)-j9F{IGyOB*IA;AR?z~9%qZZ!7*y0yRQ}6tf*fiv=nO_3W ztBBJvt=k*;^Au;X_U5dYkNgdfv zfzo4^#ld}E=JnQmr+)2-NF5|T#hYRCFoew1Tl4nfpkowScqTA}x zj=qR1%31?0Wu1q+$gg2Cj$<9tXL+u4o5nVi!li5> zFH5Mqt{>~D$LfbcUOpR#+dF?dA9w`PsrntM>X$Ds=(CtF$g)cu{E^nDjMabc$Lc?X z{P9@*M}Wm+_1}`S;6s$yhc&=I4hg+#W!|hcfpEPLKJ0IydG&05tKK z|3KzbWB!AXPL28R1GpaZAB=Q7=4Y9yF~5RmV}8QoF+X8?%zp@J5@Y^DGdj_O8}rlF z<1s&Bdd#1tOUC@f>oGrNipTu4xzw2dDAKAie+$y_nEzouJck?dl_#W4_s=zaRT6}@y3aYSCjFEt;;H$ zOTe)cp8oEE_P*YpuGWF}!L{ujtsA=rFdlL5a%o&!>%fMMU0s8HJsSqQd-^uCc45$U zKHHqM)f}Jp*8cXv&Th}AR>bve956QDydti%n^@0xeh$B;zqhNiyWR6$ki!wt+J{nE z9YdKG=J4nAw5@OLZa-&mO>5skdsn|Je^FDKL2&H4KxEmgIW0A4%UztK>+jsq+tohU zwsB2on=5lk4zKj;>$P_oKIq++vrj4AKx_B9_HJp%eRFi}=lAw>1KHWyh4yZ1y}WwAsYwtQ_t6FidVDei*?z}`k$faGgAKL43u43|1%2J&*n2u zS2D--KNGl=e>n^ARQ(^Ucr~fNt;=rK|Fm7z|Dhcj6JLl61o^E`;U>TOt&3feF#orzHjiCYZSC;Y4 zeYBiIJq-OsHf95i<+S5(38>e48M*I)Jlc_7#60-hc_`=K!ki8H<#+)Xc-73hh}U|g z*+r387s^|XyDkUw=~+34Tbvs!2A)-Or0?ToOcZco953TB6k*3>ya&39*^tTQ<{<(u zjJbpd&ySYAHqc?;q30pvZPHP)-i@%kB;vJz^!#SWU*PNSg^>(wp$PU+PU#5KH4)r--Up8X?Vxz zSi??4IKGbtzBen=)tMy1_c6c^MELcSllGlF$~*}C`3?_(U4F^Sx;`4XEzr`?maTX{ z@-Xu_z#a!!=giv1rn${jpoI?sJ`6b88r%Qo>SIy6Hh|v(d|zYp=nT|t8?J6&9<+KV zeoW!lI@@y;zI`drlq=)h#`FwdJhXYKJ3h~Tyqw823ix)w(HOS4j{4}>db?aWZDnSE zbSd!E`5GAdR;PH&^CINk37l)+EW3SIllDIed?%330PWmU&xu>!|{78&l?}z=m z)1c=ygFD7F8Mg)W0LJz8bHLHxoN4=lYb<^E*JkHc8pB~NXXVN*^_eY$qqB{1tdQ}1 zrZ8qZ7sIc$gY8}I8$z6akJ-?A{$O8wM|)p;cbglFn0f14`_~T+w64Jz#4eL@eQF^h zd$&%u9Wtd#j^m=f(lsf+sV9H>k~_1*orDu%!d&9?u6U*dQ!3Gg?26QvikPdi^tV_8 z5kGw?>aYFu6Kxw+Esd-P(PuNy<-l=0=rY`SNq-Y?p+69Rz7w>}e+BN=htJFN;&|3@WFV{dX#$7dm zh3x<=wim9KUjjJym19nC%Rqe-9GP4Degfcpzt_*%&d^7Z9$@qdc<&dl{C2^!;1Qmt z-SZiJ5|G6X!ArEJ48eTk4)X@qEKq)XbGkV-COj6u)fAfW4bXh)bI$> zUIqACK=T;uBg~U?e4ICO{ZTmzW)MTC(K zJ2bfeWN_QaEVVnxt=fY_W0Ny;)4tC*pz>7E@rvi%#4nwQXK*<@($hTM({W#s(lpxW zLiiuHliT}(u5EgBf_Syx|FHkba^?wm?srp|Bc&h%_D_%|NZ|ky~^*;@n zvU%JUiTdAwvPzSt5x8!x7k#mY2e%{|6DT$Uutkj=jg=D z;I{hMDA*xzvd=bg`{Vf?+S(W%oE#a!O27>Ee2q`dk;M50#&XMrW(GTW0Oy{&g@C_8 z)$?F054QRs(qX@KHTp%yO1s&+*;!<{MZ$*wfL`-#*}Hf!+LU#RPaS4qn4SY<@mIz}tE@+PPrP*)kSk zo4g?*bG0h*W!uKSbHi$YT??ogfCm0BP(`PU+iqf)YFy3#{C= zn#zw%IR@y1$YcI|N8?umNFoaZ7QbMD!{=56NRatt0GJlHabuBnlq1OAEH_#fx2Dy{f0 z@iy|NgpIr~v&W9Ujr{{y8|dp?x8AjF#R#mcy~D5XVD`b&4fOQl*{A+$8Ej3@z(CIi zk#}AO=St3n)?VgkunvM;`(`k#P4sqQQOB)E(5KM0-;$7fH~k30gs{J`lISPijxtL9 zNHI*v`pLH;pIosYc}GHS#tH8PJmp7jR=k?{5nGp4zMpVeF7B#NY@XxJT#4PP=3*O~ zVPma|=KvdS^pcJ~o4(`Ss>}r@?30#wlD_-BprP;P@AENckZ~0I3#Q)>JjYS}_|1!B zGQwp{_CetFnCwGH%lJs=|1jXZin!u9>?5G%yxK=`7rA6y^l`vad^bU79Q(Wvc+Qu6 z0C!$8?}4)mFikOzSqM9cW5+2U15IZh(Q0?Y;w2l#?VkW%$MT{#o|8Qv^9Y~xWqb;E z%p;U=V!XVo_c!hK+`a}jT90mP;FVo>a0PYUtH!^dMLAm6pF^7ZA&s;f+nwpp1IKo| z1$SPgTR=MemU;9q0>@{Nf6^`?Z_Rwk=PlyG+`YWB`32Cj>@WNKS8y-p3vDfOOS^s@ z^r37mcg4yr_V!KCIUQ7&QXf+9TYdg-;U4b;Wxb`G+dQ4he#U(i{=Nm)Mzo^|;N?xbfs zm+|8B9&q`+a*_`u_7YzR`&?E5g!<6@MYq2MoL3Q7l=WAjrL4ckUF6p=S$Ci;>GG=P zcctZp`Uvme`||#v%F{4i9^0T;hpM^LmnY8?W#eC(zGnXH=~KMocQ!-22H8a>@@F~Z zL!AZMs=3RTA#KCwsz_Hc|0tCuJbPMBd9HMu#x|3}rEDRVS?aFq$2#hLpcT9{!)K#v z@BHm-uZDE0e)9n5mBPt0U&Lv@R@AM?Y4c$YF6cd+3Huhm5A-vTKi&sQKNRl+{VM6O zWlCPREc66=LuLUP=4Uzo^)>Ly?e#3s-y3Fb&g&cCrTae4>wQPTWIyM30h382()<8v zECkrKD5igiwBFD8Q>1MVjQE@~{|srFXOgtu&-ruUQ~No8L3m<6=WhUy_jCSMU}`_- zA8r2Pe$G2Gc-UJ>A5pfS^G`8O?dSYU#!L1o=J#{{wSW(0{tY;+pZN8=n(=9;DzCf0 zgC^e3`A_Ck`#JxGbZS56zX8|#IqyaqbHCD*wryBuYCorfXZtw`i}!O9ruTE+Lz={X zPQDQ5=tNI$o|pC<@8={;@8`_YCHpyv*ZVms6ZFb$nVD{BgQ@+T^C6es&$$5Uct7Vt z(v7`#JZ5Jn`J}xrj}reJan)IZR z*pmGf(+2>@*m9YdnRNSE`Vdp|g;j|Iq<;x{Yvv%Iw}{hyk9)UjIcQn-ef<4k+>7}_ zEG2SFta}*fL)m$`tv=9)G0zd8b2_Llr9PzINBaCn;U34-thbbNw5JpONdGFaRtxZ~ z$1%94V60QVtWYQ7^85o%c-_zQKTh%2Fsb8W$UuH4fR1``^$PrmWBUc21)P+1qA%+K zxRai3UB-*?QNV>bPUi!Oz2caf`p|Tu+ZBNGD&mT=p6X>i4R?`W!zA8f9n$4h%^9WT zh588ZGktkysq!>Tm&Z0J)}d-v`tstKI!#|QXM6e-uUx!_I)-))vWraQPd$)N{&}yO z)xHdgIr&@_>F_m;Qdz>Yr{$FAO1EijGbvok7GjyD?z(=gqmHRNk><1U2z%#m=L63{ zI#s_eznfQy2Rl4xVw0eP0EW82ebjBrs!4eSf5NjD0-PI>tT;X&qyqjI@ri znbtA(DM+Vc><1E_h_N38cpPJ&E-)2iKiK9k#@G+Z;33|n&nSzr9~$FSjQy~Tm&A_w z7<*L#AIf|0FH63Ys{^Zeus{;QXcDL>^>_GWkO%Q=RB0%o378b z8$daXb;S2?M4EjYef^a!xWmtipJw_z;Q8IUb8+WIx^Qk_b?F6wYkn6Zt^3L=TLOPTr!N?<)Ps-9d01JDGeu<;~UfCl03A!hawn&_lE8s+iZNO8mi*Xm2wmW$yv~Df| zEqOCv;9W6K0Gw9}r{kY|dj^@B73`2PWCsaz~=mxz+Dwz^D3Z z!gU;ZInvB7`zXmbj%6tGPQZ0MaRt)N&T@D7{8{egosTK1_8BQV%l%5w$NPMECK~+( zV}dDPUpYICdtWE)rgA%fl*NF8=NZKltgH>3t-dR?*RnX^DvQg<0bB>>S?*7^GEfeC z#!}Nhin`s+{SasA{Sei}eu!&Oe(8RQvkKd)vi%TOE4jr#%lny61uoV%_d`4l@YH^Y zrz>7f_CwgZ>}LH>eef>!l|2h(m)0M-V=qU)O`rZuC39T=X9Jh2|FwXp>i-jLf>Qis){k!ftLF;uD9~wn?Ak_=6wlZDZUeapT_fn=b5E1 zz#Y#u9^<*}-I-5=58r)+f42J_xu4@xfGq{AbA~VXAP0ONeanlHpF1!9KkD8CK8s>| zAK%T34J;_w8y2jnfW49sT9jr8h!q2bq9MT~pxC=!d+%O*@9lcM_O937yK?Ql_xgXH zGjnEUclHh8UVi`2=Q|(BzH`bmXZo4h-Ptkq=9!K25ZCdSXSauC$M-)LLaCh(8HT^( zYM$Gmc1NDm;G(~7>NGq`?H0Wl+(T<)Qh$!Rp_LYkp6e`POu9wsKlN>R+j!bQAc@$1S)P(P(QnEuSay zviP2-SpTs2w+Hwkjpf2TvYv?dFZ^b?n0$FW@>qYq%sfxix)Xfn#_r1_g?N?!)=G#mWuc$3#ZSiACm_Oz*+*5uXarTWjPx(#6i}Lpt z=-T$O>G|@E^}H=}qz&M^=$16k$!$pnd4A?Px)%f<@S{QOc1V`;yFUk*1iT9 z(H`<#fY8Uk4jAG5#yRlTfTnAX+d$Jb2W9?=c(`YL2jbzL@!g2)I)mxlgLvrcGal|4 z--~$Bp7DL87wj271bTkY_+h05d&ZB8e!OS=Z%6n0w;U77?HNCr=LLJlPdhB#3(f8s zKNInNn$Lm<@54PiVB>DRz_NQDGWk8@7pWJl!CpeVXwUd%(8E3BR}jzd88glNI*aKB zbhl?rT7J)%v~bV(Rmv3X8NcS_w4BU3o$WZkXG~hS#&hv9d&cC4d&aaWyS_7RuxK6n zHf4i7<986x?-|dgOqo67|KxeWo-xORj_et8PA}RsHf7TqJ(odxxwYcE!pp7|Ywe!# zdt#3akp+9kb1`_pPv!fANpi3ObAN-eYf@u#eVc#wcuh#FKldT*F#enw&p$$(<2+^5 zx8wND_$T1exBJ-IuJdjs#$ug&b=>yyrQ|a!AM?WT-aH%eDP)=6=l1#quCbo?U({Ch zFTaMoPutsy`KoIra5dlGLeAv7qASZl^ZK3D{~p)8A4`2r=SM52Ws>(}e*mBP_z73_ zc|scVlugU$iM%Yn=PA~&7XP;ZKcul-n8(hrfp~x7H_OH3%j1#9`txPxd79Q=Hmzhe zgT=Zohee;n^Rjcj>On+8-j8K@&>of3vYijG}O;yzl!D3Wa+ZD_`VnBS^HI3r};Kh#4BnGd7IUT5A(-7hJNfyu$O&f zWx4XV8TWc1UX;I8KxZi8X`hdI?bSn$m+5dyg9{nTGT3;opJ5fA;;KM)W7)D-0$`l%I&hkh#K zp`ThpyvR@OM0$arx*+IzKXoCc1%B!xq96OIi#odZ8QJH{`Kev=yueRg!eOcZmGx7* zMSP!Tckn_#)y6Y^>Qa!&`>D%NFYr^BMZCyQT@LinPhB4Iyr0T6i~Q7p?)+5J@_s65 zp`W?}WeWV%6`h=xlkrp8Zu5RBX`!F$;${3)@*U^;6dbPebO}hV}=GxxKg1 zH+*Njvf$pvIGa>d zKi?OJH@f%d7c3}?KCq*FS;PlX>ipX~uwQ*IEsMV36_v$?pcj?JMgdlPWx>3#ERN)Q z0>w{1d=cExP(OTA;21yL%)^@@PI=0xPhNr^<6D47pL}y%8Fb$DJe(28n>yl=XvE+-d_`%I$8%zQ`FJ}NtH$DQi>vxgv`^0!WZGW8A{h!f24c^^ z)u)>+OZs%4=hLMg@yXMmZ879&dFa_pY8&lh*~YRJNv*X_^R_+WB_uK`C$Dv)*u47z7@{-Xz4MbxvABDMMl@{rcY?Q*%^5X?alOw zT%GIQXlI-)!9ByRp-b0rz|;wCTj7BzlY;T@wgFFk!YossL+A%ye%>eEVAAo;!Ui0_ z$M_J$)kjo+a68a&-_MH4?LWaB20G^5h&~+j(El5Oc#*$1lJo+9uTJRnA?%rfrDO+3Gde7byq`f@=x4Zi89!qzS1JhkV*YefxSksPj^ZTyC%kD$1f%$z!ydSiiq``D}j%3^_%CyyT zXSDahjeR$F6`lQ3kMzpUUC=H!kMADXspEytUE{$kn!6@|UNm=246xdnyCg3huivuY zgyQcCj6a=GR{T8)?_}|}o*zKkRA7_F@5$i{%lH)rmTxusw|Pp3CoXQWh5udE(o#PQ z)zA5+5#yuIH;uq#zt^?uG)bdEWOTkMflr-g@HpQz;mSap_7r)4hVgXJ_3YNYz|-;1 z>vu|8tiFt;m`A50UV>gLuEeBGnl|yMI|H=v8A{?ZopL;mkL7q-y)=2HJA@H*-1mB( z7tRs{XSmL@wz4ZLyv*uuNN@iyJfj~ znk`}2$>+0J#`64DkTcTRHu&7ube}VkXM5teGMgOT8e#Fs=b8y8hRncJ<#f7}R%E=@ zI}kSVtiFXJWY}IagO71c8nb>OQ>w8a16`xO36YzTpmGv?b9JknKN*uJo~7}%KF8X zkSoW_rjsV80EdB?e8;$>diy|D^|F}W7R|qo(|?EU9zU0Vlu^i2pLz_&aE{&N)lHe& zDyR9O&PY26c=_F3Th=i^Gr*(N@+p#|?wjDM(o|>=YjJKhNE$8y;I6<+Bosh?f6%Tg5nMvKc^cM z+LoRV+ymnb3hx5&!m*L^7lM}Gf1-cd75?c(;AvQdF)3cB7eWc)G2xsO!z{tU<1qW5Q>piXd4 zjBU@XMT*~_c?$fZ`$43KdsR;(9=<+@uV>EBRVG-5T)X=EM$jJSPox7WPp7U8}tkrcsdkr>)W8>?HGfm3q+*pFWjK2vU z{pL4tWuV-vBG0imm3jYd#5q3d{8OTw(=8?MSX~_}J$faY7%`P9m3`KX+Z`JaGa zLOwpjwTQ+%Wz+I`A}@>Yd5ZO=#s4b64{4gm&ai=a-$IV%V)Etj$YcHaGV?r5>pPp) z_qbA?^;`~%bDQV+@(cAKB0>EDv`;ykk>wG}Y1#e)Iz!BhZT;2S`Wvole@F}cuj2G7 zl0VC)=kuf3f7$f-!J;Bsm>%mO&O=2~f-ZyhC+$nc@;Im3$`@gIpWOI5zFxiUY7_B` z`)ozBkWEADhW(1^m0)Lx*`=&4zVC&0YQGBWG~Z^5ctvd?Yl|OC!u&Ch;j>apz+U!^ zZgS;s)AqU}UX;HjgZyRF^W_=qd0Xbl>y#}|^{+0s&q}=l`}5CAar~u^Q8#OP1NUzE zZrZz)gP%91fnV#;69oLM5c+^cGlo9*{~mC{=cnvZ1ak#M|LOzasBgskIrL{f4`}Ky zeF2*KOO*K<@$i|dZx9cksrmtN^^us)kBEnU3gh83RX-tKbdT+4(hKgf{SJEmnW{gO z7CcjxqFtEpTl?pnXn%#H`{$cDHk5m&s#Bg9JX1Bl!_sGkd|J%=0ukS*xgdD(q1?0o zHg1XvzCHCjLni-B)xy*Z{KrKQFM6hGQP9JCkBcFmf2N9Q=6yt_8_?Y|Rix#gsUj_W zrm8Dt3ZAK2+{tM=(MVqp|scC~nKJ-$Q4W6l58u9!y zRm)JO%rjNX=6S(0RU8-S+uB#d-M&BX6=?hC-WTWgqGzg1*|bK_{*zwL&s`4oc1I4&^~W=-;5YkGZ3E=7&D?~0Pi7iPZ{3>5Za)jBdYXU#P}Y7&_>nO z)(jtPzxiNkV+K~&ji@y=d<#J2wjYhJD%TFL8DYNsSct`z(ls;nUh}sSNihgHH8#t{0zySmBRSlb` zE-H(UAK=RcqQ9`xhE|OlHL|W&WfxHle0O@lQ1d;uMU^(7rdsV<%+f}V7*$h;oQ|^v zLEE}oUR}+wfr`7hqg8LGv?VNU*oXlGhYqiTu*q9DOCN=AfD8!e-7URl_(*)2!^kda zX@f=&ucjS}y_BVo8CHc_8!P3rbe1-5hY__y2aLiONCuiRS;q2>%7$Y%3MFh=E^B4v zlim2Bou;>(>M}1i!w29i<5JGcE1gXOpRYD7WBUr0XNs<`tFIL;onNii@1QJ)eV3Kc z3FuR;$i6aZYD441Hq6qkbNjuSzP;!0%s~&}m%ks>yX^g-mBW78)$~|>=3o`@^6O}x zi?Ax_MfZbN3$WU|AH=-O<^8Ze;kgh+&s?m5w9DqdPn3OkE=143W?g@1{?`PrDF17L zUX=f}1FUxPFL{~E{Nr|D``-!ag|y4&KfWF4^1p6ib3Xs;fmf9O^+7Mn{{{h8JNcKq z%w_)j;$zqDnVZUj=SBM>?XvlYcK-IEu0i?)Hs|xdA$Udk-w5=g{BIm!wUd9zi@Be1 zu<3B_Z^kR9FI4t3o%%c*_j2~bGdjALvl(nK`xs^&vpM2i-%v*PG)hR1@h!pQp2il| zZp!UVIq-GuxixsY{?xUL*DWR6SlyTxu6fLRZ(Bi@Y4@|&N?c<-zlK-4b&sVQ@;>d* z?o{m7G8hOsQw9}XSst42K~{e-uKB$j=3CRLv2t2I`MsPW;4>fF;;L)>kj6Y^)AD&D zFN^PaiZ#sQ4-fD|8q0-wWIYjYd;Dg(n0$FW@>qYq%sfxiss*2U8HFq5S=Z&TxGwj+ z?0Q%AAR(5ny&L{OL2M?$*yJ7^Z8Ni-E4Z} zg7iXKm>%mO&I7(DZqw8Lqc?71n9K%@py9+CtuD&3l+X<}uvM*$Z*@jTX7`w;2Ol5iiPL8|Vy0 zJni!_FC5q6vQ;}puT$9f{CjU7+P$1jk$!$JhvQIwFQu{zxag z*E6pZGW!ezkWPLtXuE)>dqG1%3-^LXARg`ojYK@$3#vmr+zT3wc(@nDxUPk{?=S}O zqP?IUNH5q6+8OlxUeGQ|3-*F`7ybDCx_U?V`!XC`%IyVB$n%1|pazGfdmP!lph*$m zr#TtCa4*QlGkZZ(A(P(=+LL<0UQi?AMSDThKo9qVnh?+L1u@N{y`X^Z_JT;u?*)+- z?gcedreH5-oJP(!#wU7ca9HM1HszM4R$^L2PqHdqFcO8|($mL_EJ2 zv^QnS>;>(U=LLH~99KHB7ewEnXfMc=O}rOGdbz!zS;EWS^K7y2*X=9z&?e03|8GaK zZ}?1Ak{m2)`9C$I>Ss38Hnd_ZykW$2KEuj+Vt?30A8J*3jyPYUnb&k;c!xFOf{bd2{|-yxkLgHCv9} zH1DQR?f|5{Ofo$xAMy?ZZ-qq4VbF}G31Sz&-P$ zbuF_*MB{kw1MdLw;lzpkXI0N=!MEkxOlFPF-=KqWiQkp6&r0HKOVIEPj6Bg;gYPU8 z>sUh@&@dfO%1e27lJ6%U2f7BVYol_U<1+~}np&q$hIKt!@rfM!Di-j$cHI~Lj;`BI zL^@&rItg+1Q_6(>i}6#yWB)qY+NS>XDxKo>s+TV%r&)RN&yXq43;jB?UOg4Etmo71 z^$c8NJzu|SEAv3Pvmx*Cy{*hQvf%Q4F62zUE4s1_G_U7b{qu3nuUDzB>0Dstv`o}@ z)pg9@!Dl`$#I=Y)Vhrl4z&+UH|lIIhKIt9FWBr?A}pdR5OGJOSzF*Q*?d z^6S+zDd*R#xzRsZp5{3At2J^j`Yd3CYtfwO96`9gI|mr~b>>9@P1l(hgBGqcFGD&)v&FIZ>Z1bTj*d9%`jb>=@rKVE0v?&yBa z$1$PYI`fV^FIZ>Z>9BPDlwD`u74dzVcY_zMGi^Mx&b${g`E};~)C<;`4<^ZPRq%xGue*w>rB$Zb*77#S!a?T zt}|&>&&MpQ)Zp{be&#la&U{wvp-q^J|CbR6zUf@vpV~aUKUZ{r@&(vd_Wso7(d{XBfA0A(PhCyk z^#0_F;1%7UdI|KR`%^CmSnb@OlDw4h>HAM@!xLq7TU8I5x(`+x65~*~6<#FAMxt3K zFN$?v=T3f}V*E9v9s003PkCPKKfMke&Z}?W%6XEq#!tpOJov5ahPT1Dba`&{9mI+M z7OoyYO=cs`!1q6s?xo~aiJNE9-o)=}lON`V&+4cD0WF+ARz*AOgw^G{7Kd1!GFsn$ zGt<83h&P?bHSo{_>9{QoT-aBmphh)dEyPcQqO8obE5&krmP{onS5bgBXli3aQ~fk7 zx4*@aWeY&c_)zb|zJa;4xt?PgW}bP59DQ>2Q9eSPJ{aZrJW*JOjDG??-y{1NR|bb? ze}9(4``qGbU56N7Sd1c`_esoqWS>HodHd2{zrr=v^X(_*c^{~w-&*nyI7Y9K$-0$! z(f0Q}?9sCN4!_C!0oVLHWaO#NPxu|S*`E=o-C6xK`2}n+>+w-*k$X6Wtv0kXZKky2neCq$d(UpbqPud7+IJpi|DY6)&f2loWi{WeL|J8Zq+r zXut>P*cQEAo~Je}Xzf}kuq$kL+9$#~TNtuTm-+G7X|f3D3`M-q zPtVq;x2ZinwRbUV?>ER7<+EkxvF6n~WZ}1#x+Cqt0gs;OGd(6dGfAF0Wy?vQZC=X0 zJN7m5GACTKFIGyJ@63B+MGrA!T;w|7TgZm*jIod9-x>Q6wD6s=Ul9-A8T$?K{5xZR z5GVJ}*q=g+-x(vm`ugEJW1UczI>+dGWIoVzJwp5EM_keoShH8R0BHqlht8nu+Jw&^ zcR?J!V&OYu98Zhh8C#S(f&b06*4{f~UBNH%JxLGOMT;X&-&5<5xOv~4HZK8s=pT1O zyuEkE3_ttM7_qZHa)q>+a_@{S3HfY`HSdgZ+?ZGIjIqs@^J|wv`uS&R>4Wi|v8BP& zu<)FF$TxZx2gj^sq02cwd;S8xrdC%wV(3tOam_xf8J@qeJanq#*U|EiP{};V_tJGv zTM>HU__&g!?cZJ3ag91Xz@tC7GOi4?mHM<*_d!-gyhvv?t5d}DXClCN!1S{UWH~;s zZm&HHG5vT+Oup~$ZOrnB<$16_*!Smo5T4h*UU}$mU)53YjMV6QA-~tWvUJ*?P;SlP_bPGc_HtANSD8rL$>}j>rb> zO|fX-3&1EU2Tg~3>T5b#yGqHHK|0L0$MR(pms|F{k38n0NRz?!hfdi(P>D3VphYie z<%plfsE~7(h(VsVEu)vcPo-s3#H)lp^D}2&ww-6w%kr{zX4{>n*F*AGk&IXt1|aa< zsjs@5bEnp_=TNa;a2x>ch4LJ#`IcasW(=~wQ?7OF?+UZ-VO}^ku}nrF4PRG&43e@$ zd51jpQ4XB1w8TQNV>#&Z+>;e>&CeHn?`jRu3&u{YC%YwUg2!-RkpR|boa;G0alW3( zg9a^aEzsb5WN2#}IgZkpn%i2M8*!slZtEJHb&O6~{<=mVtJCq#a?{zS)eH2RR!^o) z>lxW$Q=815md5LG50(7&OfsHHQV8UC$UCIWz*H}ty`i@AP-bN3u#Hjjd(;H=7 zOL`weH$>~x8BE^N+!Lopne{YfEpEsV8~YlJ8az_VW%VpA+l@fS-eLxOW6;c=oh93{ zVf|G%Hn_9LHW9g2?ygB1n<0*R>W>Y@iFj~V@}TK#Zg|=HFeea*?iPk$TfcXah^f=9 zAcMA1Bp?`D+cZ!pQ9idZJY$sSik{{5uW#g?cF$ya_A_Y?oH!YbNzHPGL6yPE(E5A1 zOnp>?4&M#xmTb#%fXBcc>zT4YqGdJE^LA=zX@<+D-`6W8gA8v#!=(BdjcvrG$jD}U zE}7QWrfLu6_zcKq zpfwe>0_2G@+d;3gj0_qWp5sW9H86$^fsCs}t4rT!Ea=nCXd`$-fwv22<82jEf0)u_ zsNnM+X);`CK{1og@p)J3yWTGCIUNakUHh0bKD(vcgT|2eh1I9!`Epxf2d~!3jly;J z!V&jd@q>R3a_LcK|=!uhF@)9FKEn5f8qr;Hyu(GjKzn zco)QFp2_H=UO{Jwd43L+wLg5?-5^Wfb{wwE8|~1!t)4uWACG$i_9Z!gjRBwEq#TPY z1IDWXGg{=ku|nSwbTr*WIwfzWG)xT8Y0QOWTfX^@ySAN%$V?qW6?UQB8@0)4aPJ(P$wv!QOdB`^? z1HXy!so-(FF$GtKrEss6`DA;i-(HE|Y^PfOUZ+#Cr`6HDmpu@tFVl#twi7S!>np~} z`d`E-($hR>o$iHnyqwR2;3E?uPyLmr?H)JJY)den==p8j8wk&Dqi%Sn8|!fz(i0cO zeWJqAOt688I-M85{z-s5djpT)GXF0Uz&alD#MjPSp1AxOerTfJPBF_JOCV_R9Bo)a) zh*S1px$<|~b*I&QpF0%vu+JT4mPePret&Xn6 zSf>16EMH2FvGQ{E9LB~Y5vLu0v)5yBElNk%gUl!Kb!<5S@?k#7qy5ak=JQ1Srp+hg z%6y)LD+A>yPkp9&s+H67P&pk>P63~`o`!1?jTo$_a%qM2eHP?2-LtJuxpdD2pXr{1 zE7O>P-#(4(IL7>x8gLx)~rmgw72y}+99kVWC*^1;6 zE34&tG2+bgr8#-6L&YW*<(Mx`SL-dzm-5Q%73W#gQ_L_g%x|22MRJYJ3)>g%3ft#( zHa~frueUno&w?&{9{(0w3~$C`yKM=-lTv)ncRRY(+cnG@3I_o5#66;aFme?J?)2C8 zuWM;&*h)72%Y7C=&EOl4z2+dPi5j_vY0WLOwsOgs+;lv#ZR8zG+|_1z-;8qX4D(qp zx8S#L7uot{J$RlU`=mZG4u?FQtN+B=2ArSwhb~Hu%W;&tnX}mz!sn|fN17}htt4rO zK$peM2eqLrXTTf>TDt{i=kVhpSF{g*I_beT56(bb=W4xIaV}`ES=NQ;;di*-e?H<^ z%_xMdHUAD;{47){xxmwb)g`%*@ur#ejZ-I@RWjywu17hZ)8DXJm2WXzCbE1E%J?al zBOX2%bOqw}863B#a;2jgovU2Dspw%`^#oc~bZ}Z5p$($uKqQxG)E#-Ry=z3p5V3Bn5EQ+F-)sl}LOiS!((VRL%WM@}FZTzuwbnN8 zPtez4y|~7Xy5U&d36?w{Jo4ok6by1@%L+%J`>~i~*@9ioSjN58>Coq1DqN;-c&}LB z&5-uc+*aR+v(ed>l+HbkQPc4v!RS_51CahOY~g+e*K3sRi}y6JL!CSl*l6xsjhcn+ z#>Tq(@r?~zY+;UaAKBd8hyiPE{q~K5^8kwc_Q#QSdB1(5vVQwxfz9fVsNeo?@QVEQ zCqOUq+n)@u+Vk6)7uL%;Sc|be^Y_!x<$R-U?is{6?vppWhmlhsf$`_S=d(G_+B6-W z)p;R@_oBrs!g$GI6!FgM4nPDw-oMF^ZdP^+VXyenaVktm2E=y zsLL(32yX40Jp-1H_T@KWpN<)C;5T`1;TrD!u>X^%I`80j=xfbJocYM=r^$anXCRMt z<*_|a>r?m^hvSf!tw`PvaI!p)qirO#i^EX(+bM~5E8UMk;nGzZOpb0woUSkU7n{ld~NOeCa^1PhuTNNviTme zOqcob*lF?u=nO?XT^ojZ$+wmE^wi#;ti7*U8?t5Q^Ea=a)ftXw0r_nVwuj%5rucw! z(}S{uoOw?U<5E~|>bv%}&+fcB_vwgF!!pS{$J2o>u71+%&<&sKVSfxdzxa!9gBCv5 z^Dg4yb3N}Njyb3NZ7&ijN#XF+o;E_$x#N9qL6^{`#G_gv4<;1@mDLwe}v|AKh< zTn}-J))T*i9{SV2A>Q6|J%*osu7}vjHKQO@a;Ecp3$Z+XnVWd#HkwJ+T4gYUhC>7 zn^S{0ztzIm(D|)mjqLnZLY!kLWpu9OxXJi@;L*SCgewE(x={|lb+2v#@HqD9e3aFN zXJ~bG?DV+a7tr&c=Z7ry7qZvRxW;;Z3{|^zj#~us9zV1@6}z-3bAC=QNUL*aKbA)* zr)9e;=nOG0wskdY>*~0w{UI&%$BNUdNY*Typ3jeBuVvF)J4i32h3T;l;yhF&y=;2g zpR_L(%j5YAD_?}={dME}_*34f_?-%l7Rw*{G~7zVC&0YQGBW zG~Z^5ctvd?Yl|OC!u&Ch;X9aHBF?_Cm0bDTw7snnFUsFGpljR9rsvBu*7LT^kq193 ztRwZauD53frAR;j4kpLnaF3ABA$6e~W&*seBj-OyGePJSMoetA@^v1w7nCdvtngh- z^Vy?tTImRw*}q#9Sn3z)InYZ6H1(C10!@7--jiGw@$j9@^^fRVt&Di+ zqc9%6li36DcptJ$vI^6LdT$RM#vSU8xc9ml;`w(nnP%QUq;5cW?_`pee|R(59?kYT96t|J;wV!8@6i zi09wQtfEYrcQX6udBHoG93SY{&gmRz&hbU>WSX*Rjn084y_}C*ExfFcI|e@PHrUf0 zAoj?RnSCeozZ*op;qxL%a3Jc28|EY@xrV^T80r`JZDl z=bS;#){3OY{$5Jy-5!+NE_i5p<82CJh#kI+aL^I<#@J zl{4+Y%c;*f34GSy6kLmF#K_yHX@z9~2np(klgGB{ZOpa-wm1Nx0nzVqE?QOI6jLYjdW z750+s_66o>$xEi}{aGEnmrVa}bU8eGzlnJa_uYJgW{%te{BUoLeMmRHaJxqK)^-Lh z+*=!mc(}K=JL37hweiHs?X67^TD-SLeD%e`y|t;Js}HIE;vS%>zerzVPr=OYtu+RC z;oe#^=;}MtSDTJF=JLY5HI9)*duy%K3H&3rrS|sLW`JMh8;~CQtuql1_tuD;_nm0- z-k^v6%RY#=x3^~a*}XMlXMLE8gzco<-rBz4WgDm2TjRJeulClMemTEmKjCHl4$jNm zTiYKz4Vic5f`(q^oVd`JSVzw^m<}+`M;x;b0yf7iog)rLod4M`Ic6N_(ymAjvA@-i zI27^FkDv|oBMx&qksl#8%?m6n&@T6k=W&7k`LZ|x zyrQx=5%i+6I4Qttrz|8dbD94>8wdGcxZv#kQ;~Mr{6o83{!a;P&gcI$@QU((I_O3D zKO?|uC;yU{JjrI{AOUek$17>)ndKD^FES; z|6+#h^k=?Hf{_@c0aIJ~`~=>kGUtboR@*QEPb6`_#+(&G+Q`QGS>y3~6wkR_0MCq= zwZf%H2i#%i$v%ElV!^JLWwzNo2*{(S*|ra z%T;!{=(}*OaSP;i-Eb>@hd$_Sh=+OlhhSH9yiEmOuLN8s}} zCY=YYtlIt{;$eOtvX~EBIi2TN4_R4!qt?nkW@VWV+8mb6zrhRfpRhVlS{?GJ!=U}) zY0J}gz_i)cu-uUUj8hNI5@EjNS&R9c)ngs^07vWi1xsHE?P`9|^LQ_UPi&7lfAW&( zRCIm0oGxrw75{tKYpDCG)qTzCu7h+J%B9OZhxwsR#Pc`{C2v@qH!V(B7b15K zW#6%~`i={6`JZxGolePrtj@bur+92_o2LEqeJiJJ=L5uPuZ|NRTD*^}9C_w7aX*H9 zVtHyG?F!pDbxfW*C7)Tm&kJ<;-VWvXKh*is>U?E&!f|~ytK)6PSt3^c+guuKZ(44> zb7_2Ub$%#FLv_M5ezNjETY2)TfXSe3{#VNj+bG+I)}OQ$+dfE3lKGS0E$$xQJ8P@XB{P{<5;kn%Vxz7oohZX;LA4yjN!BJg*|@fihtqpU+`bbY+>cziWMRoL&HY z)(d}o8#*NmTI_|a{wBDu!Dk5n4%@K$XsgF#u#8`TcqgoM_?{8tmmt0%SCg2$WJZ-2 zF(>gvW8q%`{=(#QX0tk1f!0-4a!qEiDcYeDaxjGEOnp{{vPJl;s!b)YSi3~6rO zbKIy|t>Xr9mr7oIvpP3}zk=b9Y-reX7@j|_pKR0qCwM&!&rHOFaVXcY*2(NMnwQl> zKC-1E&GUn(~?Jq7+|hF?8x;<$nPG???fp8Rp;Mc*OrHn8 z((r2=CXblj(1d482ks+jz5?C=$HPhz3&$A^VA^tc9sD7Vzx|AcmRTwx`Fsofp^jgT z)4JOl47#zo4+i^@p5NHqO17#0+0d;sJd_1i*5eymMohvA9M3-B&1IebTh*5LAU{^I z>L-SRl9!Lc-^K9p7F&H|*cLtoZ+Dj#OhB`3vu)uE@Fp4_>q@Y`25pL=;ZV1ULi-N1 zMzq(ahL))ltoz1#`w{f%N_Q@t$^S3lwJA?Z&gA_!(DwnoZDd2s1XMBaOEfm{RePiN zC;0oD^i84K!@-$eihg*o;q6dAwQW!{UYc&2+}JQ;{2sV-Xz*F?hZ~uJeEqq)1t-{{ zOh!QhC$39=IsxZsBO^sc?D;`EPVF^M`?|cJq;$#07?i>!c_*KGouPMH#wNXgW2~az z&Up&iO1eN+!&%}Va}ALF9@HX`;rOI;=c0&nY~nb^ZzbqHGv_eIyMoXC_QfnV<@CE) zim`;n(0#>Fubb5?;^p_=7l$mG4+XvewdB!f!QybQ|c5M*Y6}Cg|7h&1-g)Gy}_K`H%5Ojtj zUVdM`oV|HW)l+*nw)QSY-mk*zx-2!O_`|{Nt>Ot9!54T_M>%{NZ>+`cq z&3!s@-jd;F^)j+rO({OoGP$?fs4 zE;J1Gc%Mu6@@WI{i}v`}0X@IRzb6_xRa{ zq-Nm7xCd*|M)>~Nmf&TZGkpr2(Fgjx+T&;X<@Wfu5?*$XU!R}dT5O;l`R8Xl&`aS% z@C=HIWVGzP^aECB;H-h?*=7HYzJ%E^iq->e-_7uyPww{KR8JQeC`bic^uN%ergL}#=puf;(szTqL1r4&bpC&VFO5gcKTWuB3=hR*Epka zWuP4KLX0sM!~@1aT0XntH+kc54cjWqn>^L2$M3K`jz^q!XZ6!$0_Y6nu|7Pu=V_gh zuQ>E^y=+A?DZt6{JPzxS?I5&^m`r;r=pGN>cC~m~@6@4Oqm?u5!^^2Jz9;ys%W1e4 z(TI_^Ptyv^01y(wH4WRWw=vru*cQn%c6pxK&|>Xs4eScro%VyUY-U21Hf8%nn(Pfa zLlIBcCShLkZKXXuwRe`acV}xuw#ys%$ zi`OT_FIt~8fv)4WK7-T@TDU%$E|}T%$zB0oxISqEJzSs6K)l@ggyU$@`eYyK1nU#F zvG&#{`+{GzJ|R6^pX`TtxIQ6n(fVY6(8Kk~0f@J^J~904`h?i|^$Gh(x%J6G;N{yY z*C!k==GFRy>6crd94x%-`b5v|K16Jw9r^W1L4&vR63=VXIp#3vcZROc4~HYJbNZvJ z_&JN?7vo2Q&pG`Fn=Z#Z;)NJTTMQkeLcPCPy&_(IPCp8=O!pXjJr>tk&yQmEx--srVhv52qncyR-Uf zaysY?e2o}b?@0xg{1FBZ(~{C-J*7tZgOgC5TBS0G+) ze&?84G{0X>onU@vduwlgzZU$W`JMD|e!mX!aDFFl(focr=;8c+1LEz??}ne9--(@{ z-`Qr$&F?pXmu<9W|B++Iyqe#ce!2PmX5kgj@3)8zv?D*i7dQGc?=BU5O3gf{#qX2p z9LBMS@qZxA@I7=L&pgkMGdeEa4jtCi(si!93s`2{tq^)= z;Om@sH+c8pKgVav<@0bKX!KL=#gzfr^1e59Li>zdnml0TLVTSAv*l8eJY;2w!||6k zYkK8*zRak{XI6X}R3s2aHvtPQ?A!+e@L&8CyjmwpdH z&s}=brt_4&vW~UBl}B1w4n=K8^Q!sLIjzXPvu!!BURgfjyvsVL&I`EuvP+W}5oai} zBjjm*jWnJIvT41Xns4>pCOBpv?GF65-|8#-B|_d?`WNJMeqsDh#KSS2wEIEBE1t66 zRb236DG(R-VE)ut)9q$`@hIaj!G? zQDnZgpIH>yH6^ii-2M>uXqkL~-{gISYkplsp6Yyp-(g?>6mjM$tDh#HfzCi4%hF?e zo|ZTHio-F|%T^>`1~^%s$6@`l?nAq@{=Na-;~^Iok2-8S)S->vTRGDvyqu1s-+|A% z`2p7=8Zq+rXG65 znn?FL-$h>9$2DUj^Bk^+3Jj1j|9!~mT*dqD>|6P@(8r*KYoX5(57$CpAf8_feMOwy zTIg$`#cLtr7p;YU1YO5}-Rt}bv~Vr-vtVY|Lcauf;acc-(8IORABbbFDtzCP<7m-Z z2oKC=)z%N=0kshvvN{EMRA>tOTg*t&Au7&19yuG!M;b+%E#74f|BNsf& zjP0e|T4({t=i4gxIyqjMUFWW@&<)4I#St&UUIKK7jUPqWGM=SL z(hah_Z`>VMwOQwsr9kt#X`;A$*!#u{gU|cJi{i>Ku%)HBMV}@YzijzrG4NQW=*z?E zr#9_?qfPM9Oym15310XH8+^8OY0$KPhWC*9{u}QhFJseMR&YaY<4^JYAT6)uA;Y@R zd3puJIrcN3DauuS2ae~AuLM5*sTFZ$pq!ourx-mfhL(G%w~Ey(;^lp-l_AS?SGCvG zaEZ!fe*501hhHRPn{LL%hD%^7(f;0mkC_d50 z^qB0Fg)vUb0|T6|2k&3$p7ZJ*!M1zO%zNl#6&qswu{9tY`dRE}c|U6%&_X|JeZ)gQ zYXijdepVmi&)PD;3;nEZKo9+_eu$Uz zvpA*}`C0v`6YM#&y|w3O4FJE$&mukavj!p_`dP#+^0Nkk9{O2>5pU1WGW@KcMeMwv z#WqvU&#D10+i1<6Gslj3pf!Ykf$-cD?w9ff<&`S}WCE52E@dXnq``KPh2 zm`~=NRK91T^VV=+hU3`?#5vCK+YvgSaU5cNd+_LsjkI=f4!j9;#Tu2vszY4Izfga) z)z^13Ilu6Kv3x1n!OH8ou(gQOrZM(97S}i(KmNr$zZc6qgx`DE1z2Hu&@Pq-%Sp>) zSNvvv#^K8H*bP?($`OnDOtap~X}PJKj^De3&wPx>wTMOxrtj0r=85~a<#<^=ZzC}| zPk6odc-iz66Y3Jec~^O+Op5jL<)wMv)0RUcu3?@{xp^#>FYBi>QdfVc8F8jfy=*(h zSw7$~ppNAp1M4lu$N5rLPVLzXabmUREb@{?O-~{eR-iOXky0)y<8~Eqvaq zw($H2mzlZ#z7zMswGFZTlxsr=+49eiRqR7?{g;wMtUT+uqK6*~4$IY@js+ZlD5qoS z5s=gI<4CKc?M`*rPAic9;o$Rn6t1-8fHLx7J}DF1U6C9EIzuR{dDOmb+FeC*oRwuB z$)mkmKI~&B;C~OyH*q?p&Grf-vvWi1*tox*mx9 zaeQLEo{ZmGuczU+*6Zo`?Z;m~zDaq(HxB!_o&kK|0_HnmoL}%}LgqVRq|r~bM0t0I z^&&531>XtdT&?F%u}|@=xE*23|Cuqt`usb=X7Ty|PYh&c?Xfd#&ilB$=SE+K_Y?>5 z#eTF|-s77<+2Gr26A=&B2GnZ+t+p9ACZWUlB*B>>@AxY}|NXVekQs@alMoUe#(8{f z^^~cN`b}5TYNt+~Vu>O*1+Bb1d(59HOj@{hABnNBD&a&!zOUJIKPDF+7fN{WRtEb zzw9^e_J!SkU705PA+GJ4dzicj!g-2ir49gT99zvqpNI_SO}yE*XDbFX?w=n_T%3ep znmE&UG~ak7-;N$MU?YDhFo;>#Y+)eJK6$jIn{UlmX#2O{Le_ZyMjpDwbpHl>8ZkF&&L37tR7tgZWP3|BXqA{s^C=QGetd zv-{?kMvcJZ5KmM_X;U@3E~_pIG$rXJ_KaO?rTAd_u10qJHA+ozKtWE#6CVZ zxd>Jl*Fjzbo)s!6EpxUX=Ll`%H{dsYab45gh&bCb>zCtJ*mfDe8UJ}d>n2Tx4Wv0QSM~XEN%D_*DlAi7mrt_qKmK!`+F-_OmSuQv>wn!6;aL1H zV21a=*uV4l!0rYuya#qa;^9582N2KS1AB-#xqDy_3(c(c!gF7UuWLJ{a~^sEbX^DN zJ+LQ1vp${7B~J-v_8!>N0iLcYiT51nIhaDJ+POk6Wjx1J8$nE z*el={-2)>%ya)Cw;^93o;^y}UX!C2JhwI4K5pVAvnBiydfe{<|&OB?xwxx5mW58$T zI_pjF@_m5*ILEAcbq|c`m-D~h5?iX|3N(LZ#?skb6S$X;cD1N+W7mB z(SESCeZD%R@%d`*ZSq^-A6R@Mz%N26*zZ67kL8iy+pL^`g9X>0I&sZMnv%c%;@ng@ z31>8}-@7*+hO(6PC*o+7wwVpIh162I0e@z~`V$+*&zQXWC=%&!m(s&WC&~O-nKn3{ zmclwHrSsX?D|hf+H|m8rD0;}u#$T1=xj80~$56tGu_9SNK&C_~r6IJn@$Zw)j*)3s zDcv0c3*Z;Sd=9z0As|jtw6hCCbGjqDAYVm|TC^Lp@{UMMdUg{MB46;(lEXD#IdzJZ@UUv5KTQ`C8oldc(lt zWFjJuYi+}Uq0^=tVm_^If-~4^ymb40hs0&bHd{(x#a~UUoBQ>R)$Ar|g>4K|0{WKrCb-oYcF+#}9#$QEV(*0VDY6we4$V-D-N}Gk7BwzOKvO|o#jL6&v3`Jhr z{o2?fFC8Is`=OMwT`>$!ei$1gF9%L3{TzQ4d0F>sibY;FLSA09Xca@3@olHY$Xvvh z(y;w3?~qTm$je8_D~gtmg{NQMjKM2k&MS$``}nIiujqc=Wsz5mkXIHh9ShIc;RXz= zdE_1<^Jaj&vO}J2kynn8R}n3aT?`vO@XMVs@~YsJ(hzwShy1%mUL`_aO|)2#6#4Sg z?+!J;!jXSi`dQ%b`+UDF}Yw8(2l$ZLxh$A5+!``v+tnYWp% z!%`ZS&)N?83X8mUguJe3Y2W#-%b|b9$h}17XZ+RDSl9h}%_6TGA+IM|oDCV4JN{&J z!Mx4ugOe?d^&Ija7J0o0nVyE3n<&!w?>8{?=8@@}mC}tsR+~3)zk1jz+5pJr=Z;!w zQCfWjM_bDionQSRZu6WaOX>PwH+RSfSmezk(a7t;f0C{VN+`}5Rb%fkcv=n)%U;i2rBUeVq{T%XM7P()9TqRoC z-;e#<&i{^)`-{w4fz4G8`2mYu6(LuP7X3zsC+_-WW{f-loKm`AfL!g67qgRLb%Z=n zwCHUz4E^vcjH~%pHwYYz>H+dVhdk6G4~&rML80do7NHn<2sl~f!4CNti##|&t`RNU zk?dTMw|QHU`5J$1p(Zu%*JBpBCPLm$w2)B=oll(x*gW!3k(rIZioBiswV)l6w~LU6 zi57hxhGn{Kj+UQC9u7_^9f0H&d6@fEX_1FT$Y{RMYQHo_ip(+r@(71~oJAfHA#X2Q zm;fX!F!uFxW1DM5=6C#6o40qrezwTlN61_)dOzWmQy!cgBiD({NrBCy9P(DyQ5qE? zV-XBwC`l-;!7(Be&gP>X@+%g3bc76-8pvE7FbsTX;{#%w;T%II9FcZ#$cx+QXom=S zN6~8E=AA?)9G`b|$kQzHjuGKTI5|LBiA>n)8XWS{HoFZGGP)dUr+wrp5%Oe*e27J!93f8?t@cNxJw&EQ>dSem zL;lPnPmPfG6fLgr7^d_(1Fa}u&W+%d($xdxJst8vb~@TKLY^jCP?AtQZZwHZh&;_9 zzhjZ7MaW#0`?2o9gVXh5o2QFRxC&@?$kn!4HAl#MiI(k1$p&vuxj#mR+l16ZFLy78 zJj){Q6(P5ZmSrc!?YT{4x~IMdTOINpR<$)ko*`O2@t5JmZO#}N+YIL>SA#Pg^7|Hf zMufb#XtiG&`-n`~Q}%Yqi*aKNVebfe7N~QYQ}z{^+4!sD#w_=%!6MI!koOa<#qgJ* z{^h4IDdpSq{@`R+Tl+cWzgy(}B4kWX&}tv~zzF#Ohuqt$9uOfPBwAX|w{>~=wb7S@*$#Svy`lT{F{Ho$cKtdxb{56A+K)-vqK`}!!pQcUwYSlG4kON z@?j47REvCAgnWc(sgE?|iz#o!$VZCIX{m1;M>yo4E%Ff&@=>B?*~tMry?$See6+}% z7a$+ykoU4i9Tg$}O|+K7Uxs^Ms2d(59|KO-7yX+ zvtEpm&k~ss`Amo0Xpzs1kk1yaRq>Z$GdcGqU(V-%lbr|8cF4zCpoM!f=ZVb6_^YLHuKRV1MLst|K3}x7J)gWqANbFCBw1T!%a|TofT+0;<0|S-g*QsmSaf z*nEjYzQrP65+PqET3UnMU;Om-xYb=QGRFnTmpSAOmIf2yvIzMKP_bhsTzvoF$A#CA zk*^e)aGi36L%!A`UlAc+C0ZL>4H;7jItBD&$ z=Jx>k28aBvMZO_IzDcySG>UhqZWftv-F=fou3i>QgqtGdTR<(Po8WJX|7V@_90rnn zIo~QWyg#O;af|zPrA59aLcUG3Hnqq{>`_zTBmF~U_5rfC``aAy{C3*EEkeFswAQl7 zzcgO7U2O9|MP_7R^X(3KLyLTSgnWl+=~#Erm=g++|0Ob^k93Dao??;jh>-8>0Pu=oekjLA>?EVP(LDAA&el=yr zQ!(;GB6C(?^Mek#*NR{wJQyKA4647syv|Dt3}br8C7}$S+X=LgF=*)=XQWi?*B&NLne5X( zFM%?r*7CB*G^W0_yyS9m>M92LrKo&f5v}fqoirZ0_OWsKyecvm0$E$jEAH2;7WtJ3 z`LzxpzaAmK=8(@@)fn|!g#3nRZH~V%DLG-*@vFr)zbP_rLO}b@8xDDQ$TPeVA!D#Z zIk#ULZ;MRmQNQJoZ@0*AMab`n7CkQ3_A4{{TpHUvTV(Eo&AR%1$02`Uk>81s|07zQ zAEB5`xa(0A57P+O7w?M9#{u$x9CG*7!9@5^g!~?;rL+crS%xcYvNasEJo5V@^D2w#viI6`7wUn+Y+$8z) z!lf{r=S%)`k?8@O=d*I3xnHBL>Sq!17oue+>7?JJ$56?6uU^Jd1UsQQW}ooUpeGWIAtMx6(N5Es+k>#e0q?FZyfUV z7Wtb9`8(0F&VBNE!^Ukf^7kThDU#N5{?7f{WNk1JzKf850JW5kz+d)@TlYE@{Wov( zk0KN9+x*~=@3Y81M94ph*3$UPaNonLo)IJe3{ENiXJGSB4tdvgL^1g(LjFaxv@~{o zVA`oM@~;u{FAh0f*C78AA^#>?=i)C+N;Y}mgcD=r-$f=IqkeP9ms{lDBIG|rOKqNf z-BuW$^X2@f$Xtn}wFduizy7kwe?-WCiPo<8%No44|J@+uk(r%RdToIGmqXsK7t|2` zijY&$(zbE%VaH<}$Rk%o$fylUifqARK_`(} z7=N`i{I1Ev7P%B5&nH?oOUW|pZ#g|ip5Mp>$n!ayf3nE)MaTv!vwToY0A0sa) zGW!I`3pnHrIJ6@ykmgHcA<^m!9)2XJ?DZJ_=F7RW$P5UO7jnpBE%HJUau?BB5O@ry zOt|r*7?~xEd!qqz7l(YcMedU3ZC*sQSkAQciL-V`r^(yAsL1pVkQZ^te_G^41Q`&? zsvGbx1Jh!t$xy=fvzQ<+AyQcH6t1$Fqf#1r_=~yJr(tN%a?*K9nhRPx@?vTH* z$csnF-9)RCwYhlLi1Tmu8Q^XXxuv&J?G_;~DO&Sev2-n-x~X&!k+(PG0Ta`9StC6U=IKwi-y z-(-wx%-%BW1D+8WG&~F9rBwNd1XO{aY+TiB;<3kN(a(fRb(phSJPU> zrL~GhUM0;VuO?b!kShCcI&_m6=2z(9^FC=Q9T_06=8y+lV1!&tWX1-_YdYkUE%KTX^4g-cI8gB;`E!k)DSjE z^EUSpEp`C>NM70MqBmmXz9KU_K7Ok65PW*@=6C@Mln zzfB$TDw{wJVbe5k^X8(}{^+-b$ee_~ioCf)zTYBm9wBcjTIe1Uwp?;Mbj5tD+e&19 zhJ?0_Egf>jrdBh}+q|`Csm-gcarwzH@-`x~5B@6h)(&|yi@bG&+)uRV{c_wGeC(qK z$H*K%OX-xLoclTC6D)E+K?X!J|7QGa0(xc3#QL^+6RQ#&RHTG)*PXk(NsG~LR*N#( zzT985hCzmP@$;s?TpL?hEiyOaujakKvv80_?w|I^A=3->YsQZ!--v-ZUta@7=GFjt zfJ6S!A`gg=2Z`2uu$Qg(pyc1T#>j(3=B}Vr2RY=UHisI*pfqpu5Yf_>P&{|nh|Gof ztF3p4L*AXYM-YajdE{+H>oo8d!T*L|uNW8Gyq(A_2%EK>w{^(3S>$aa1LRuDkB87kj^UFRd{mM&40m&I@XAtV6!TB9D!bcM>hGkrxB< z9p~(LK#aVz$Xpm8@8pno>IXH1ozlF`yNDJVgw)_S=RaRCpYAF$oK>|3cX7zSTjX6L zhYY;z@8#--rsreQ9wDlsx zmaoXWJLHWkp@y(~nnxZlT3yIQ`1zRYYGULGBJ(l$iag#S?@>uToCKZbktd2)HF)@u zwAJr&WLz2zB6A-8>R30?A)itSHH3+29(j^z)q{tsPxfk_fr8<$urwx%%)$7}v4vrh zL!MnJ1W@wGQ$(v4Y~t-P?zh`xR+J0Jl zip=i#t7+}w(rT_UY3(6th5mD+Xz7Uk`9X)a#<`d#GCcz1Mu&X5MQ)6cn?!3{B+M56 zTFsROo_Vv#aHdn6n;i0;7P(1~0g=38DRKEs7o2qp(V{Dw~5vr;1T)x%UaP-X?@r- zXNXKC$XY&a4*6z_+!i6vbjY0FXYG3I44__;?3?Co z-e0sPf=5fw>bv}pvCRjF%yIau$oo6w(H43C2>C$KsXwfSI&yvaaOOb$--rE#ce?E*G_B;PI6A00GbgNKRC zKS5TT4|T}XE%Koe^5LTO0ZnQnZ*$ z{3vs7#!({kIrx-gIMN}1XOWLg^TSeLpa^`EMe#83r*$KH4Go9L$uG z$r90|>L zjhSwc8SPwSsFcaB2T$&RJ*SAwR`{!Bc(Su+4U2qoDme}8IaRdOo_{X%bfdRtTdPHx ztUafR)}}C*nh!nv$ONMmj@YM*%)%i#K`A} zOxWYjcE}G|b46-1ug33G9gOY13%d{LT5zC^Tk11jruTK607 zijglBnbVNqLXcsŮ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

K)yycUh{b=v&hn)DA;`dGqy}hH(vVN=JQzlhq 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

$N%;`Jia&@5fX5$y9zim7h)J=Tz3)D(5Bo zk$t0{2QzMOd}UmDEV4{nUpCvmReV+YvY~Uo%5H5p$!CpI?`x~zcL}@UxXu!B`>tFn z{%@##%5SFfTPjUw?lU95YOn7&ovV8J>o`@M|Gh+$Y4Kw+Z4SqO`WyS#Q~a=N`#AdvpFbs7n?+ zk8{wW`xc)UEF~7@>7~UNRA&uMrlI~t)ywPSrNx&7^Xpycz8vV>Vlm|Q4sBX5FD>Qze0L5Cw)EYu%5fLHix|@!qS}68+4MM z=g!Pbg?TFJ-C3VJ`JEg7fM!6d&r_1%Rt71LLO;Z@KgNyHp z=U9zpxNtH(HdSup;NttjpIF9+zC=an za-UMTj(veMKO8G~1m<}kT)%K93b!NaZuF-JCI{qhahSug!Rdl+KYwhVK``Dk;T1rn z0S4V!MyJ6sy8b{nc9qeQ=hgz7uDDiQOSOI`ysdZQy^=#(KNpOxdLD70B6md*uAS&# zJV!W1tH)m?`d_L%-y%%%o9Ffza9i6u$ZIQpB_3NZ{94C0pJPjKztQg33ziF+!^tDi z7!Uc4`tJiztN5KtHlM?=o8{gUKJKn4OgJ@~%hE)DhC49(k(z%Yy^AR}u zl65K1WBq%PiH~+`uWAebEKe0@*T|dtZgYg)r~OCj^FLGhuT)}#m0=yPXPtDMM>*y& zY-KS=p7}HNd3ot%e8%H1q3*9u^cH^=OgU}CG@CK zfsZwMwhl4Cyk#*UN9y=9{uFS6v8MIo#MozC_LlaW>XXeAagJ zb@Rc2#f2G$cir^DmIYh4FLQmt=cw-&^vL>lxqryiEm=IY63+qlN0wxqoSr>hu6ngq zo)bMl@Gv&w#{THrBm3Vhz`-$2RZgDQjpx8iuKVwQ|NFqT+cs{zWOV(8br+8gZr(Jq zb@PS|>$d7T!%~fOJP$ZX@-}d#d;L^fXL{2Mb2C#@?Kxd&i2AM&KAyAmta$pWIHo5n zKEnBQv2D}vmUV+e>xb5@6+N(4F}!YYWN7oIRPQO)UA$%My5V6!>IXEv#fHtB?=di9 z^(Do|%@?j4*=+TF3P~NfM*;1=#d+(7N49NUm*g##{0p|N+cdZ?p3^TY)(_b6e#QEs zt?Nd%4xM+NdKueVUeNo2O+y<8f>y}fzZl+j?(pEcO-aT9=(8otyIC=`X=L5jt=qPY zg!T_ChDSDU*|J&CP(P^HvTp0fp^;JbY0KtK!|R44-wNruY2DVL!PM@-#inf=M@KH% zA_DBaGF@LdMD`pUyj+h$&8*w4NqWtibr-JNGy-9-xm_pGjJj_9z_tw|NoS4S(8g^WqM_1Q^%QG| zhPP}OxI{GcLr)Hd^})?+ZHx?UTo<}={oPYP=&3Hj49lLub}j0|8wM^+cJHAs@dM{> z==e`>u$$n~bb9w|sWMz_^Om(X2RCe%yA5m!LmST9@lne`w-SBy-S`dSTdQt40lJl{ zlaFqrlFiOBCxlxi7`chP&aU-fo!-U3H{&U|Iu!d`IbmHB#$ozjJ^F0+iowwW)tXSM-f z*SS@kEV#)px9!(9`-SVaP4b&$`njTC!fz^{twR_Co)0CbBmYia`UZ|?W3&7`58Ach zGsH{3?wtBxrq9o(H}%8jHE`vA#PfEE4f^4CS%+-1LqEt$5S#Rms$QiU-HWHz`*u-bvV3^qufh>%5m8$ z>{^D!$&h3;joUqvuHY7=bMAMmFx=kkFHL5q78g49-z0h1-_Ad17rDsatm77SZ)M%H%;snM z2U$%GOi$`D5WW7S$4^DQRl)@=*LcEO1|lH zx$5Mxe!-gbnG~K4oaqp4+*=r~%X)oaabj|2qrTQ}YyYX#w#D2o)$47xifPv-H27Gx z-|!JPO*o4euE{`CZ=2Z2S@g1!v|lXZP}V62+^9*V!+$U zaDE+P_BGtz`24t(?VH~bqP=RrTj`t|T)!G(JfrP%zO{KNo;wVlzj^Dr&Ed>ql#_@! zCq>+rfvtjQO+IX=5B}WYQL;&SUMinE+=TZHIjwP1xPKpKusXko7Y+DcP#zk2~&l$4lJtKJIv5cf8achdJv1ANe6hmCLfP<{Wa_ zVey^^?!lUqjY2*n;WZoP5GAeYtmX95Q%cSJ$`oLnoShdA4Y2 zalGKVUYD-3<=3l_e}ZsL??;^|c(?bXPKxrvvJe?}L`Hj|Q$HovJJZq@-E6yzhqb1v)7WJ;d6TO)@j8md@ zu%$(UtzDc8ORjM5==9i@OuM+Nt!rBoldQ&~evBW_ag|Zg4-%g)i(PT<%*3AcW8+#^ zCA&qw3M%y>>AF^rhK)^+>ovHMvALb;IcL+a376W_W5eU^VR_oZM!jOUOIg&lDWB?! zPyEAsrpHHS*6aG+%#~93JiT$pn;WrD=q(w0rAczOOpWc?tUGDL<9cMeqC+Dt`8==H zb>4&IncFjCo8fgkeD^M@>po(qzDD)jye&+|;TeJq4Y@t>)Umu_T$d!C{fmpF8zZ4a>XZvpsr1;t zxL9~D|FrBtpmSm z5~k3vluI>6^(CRj{k7b@@>+HNnzOBhL?S;1tl z66}5vwqY0S#-G_P$Kn_mbBTjikB)v>)s zTPM5N+&)kp4Y$2(mN3@%vgZ<8H>vIxw;bHCQ^QKQS zdyOc|8D5-?-@KaMnVdtv&Dow_teunWoiN#z7z%yXGZ?0!AM*!98`vCJvxSXMC(ni} z8f)9LbZ~lnQX?30&$W`H{8+}OchDac+bHAUOgbjpXw9e_HYw+)u_?il?=+kj?_WGv zZKQcOjm!SULj+56bvoDGzj&x%y7L`p=s<}t>|Z=A(?)dAqg6aya1ummqMYx1okYB? z;t`^;b8kPN&bu#_K=(+|$=}kqM%?nDv@U5CtV>2km`^_9^@&FdUcHuqT;>{ko`~mf z`gFa5=Wlj|UdQL;f$byM_;>(@=j+z%njp`}2Qz3a;01OI!Q4rG2hQ_+8NNC^>jOQ{ z<7N11o#*e)7kr1_;I-3qNG;Y7ivQzt1pSY1$v=b4X#Dfd84I*+U=G zAle)X?pYmNx0x;4_1Q*evsT00hP>w(ofc-*D_P*5Yxpi#p`dx5(WKb}*z*lmx%#Ae zxAg+ys?YcG{Ym#Q z;P!0M%Y^s$m|m`WxaM8rZxyc)oXzgpUEYQ6Rf#S<3!(>qUa30wh+f@DpYOSGzYD$4 zh4x=3`mBF$9~}1(GA_#ix6lP=&qQ&rke&G7q4w(XmK1O5^r7|tQ1>3-brr|^@VWQ8 zVH*&}R8s^Y1PCEuy5l&ORcr-W5|V6sge+g%0$CC&HU0{mRhF-~Fe-N1_Z4n6gsiE&fwWcyMz`&6z!zB%gjtb>+q_!;21#x4Eivq-0O zzs2z=@(`9Y)Vo-y?(RRuo%upt z!f`UxCB%j03vt|==F3pc8Zl1rD%MMg<9Oopg*@Z3OZ!Q`VP3uW!SlhljG+%N={I~n zSZcE8TvPO17f44I4=`teQ2oVeg0o**Q}7 zG*%W(KSxSmTMpgjk7Wq!8t(^y53jf7`^dX{x|;b8L8skH+26jh6MAuuw(lIo_};#z z9=l&3J7l7~2FLCDYgV`7rHGdH{Jj8t6)d9VOB3y#Yg~QIDB$^SK=#0KuoGrFJ7H#_ z4kDiLd5<&aJX~!Hng0*13v2#%V7ZvzAgnaZ24Ar~=ioQ(J!#|JkmjH650)*??gg9| zpW9h3pS;J-@oG76{9`|w?|6jmF*DoU@sRc-o_(1YW$I^{PuQN0p15#KtY$Oa8FZq% z9&=*a1&U8N?)v#i_)sV2kM-es9Q!yvnl?SoRkQsPwA3-h_W(y5+f=E#F_i_IYLP0F zt~bujVn0bei@lZBwU!;?c*XQ-eQQ~xqZb>K{EOwPWQRLCsV~-RS=}DtXm`AS%kH5u zVVG$1Q;2c9p73n%8`$Too4So*9@^!PgZ%Kx38QQ!`(?4OtYv6$aw&wFZC2RJmE3=3 zzhSZTgj1K{xy|=m>EAoK56jdu#$rGI`u$ML8p8ch+&l4ZjLo`S9P1coz6o&Ik7QS; zEd0HIhkKW1XKw)vp~!q8nfsI8N4|-DOYe8I_DGL#-_i$xV;t3j_UpR;+pA!M>`YGhFA{_}*R9nDheW4&lz_AS9Fe%}$87i4r- za4p2(z9)I|!?$hQd>?SbX7xnAuFAe|8pY^W%YHx_>}!#Lmx)$SjdftTWMt5-Uy!D6 z6W+XadE7H$f`F`_9|4bN#E2qL*4Q2IoQ`RRrx7_d@k8cif9xGHr+Z_+3s%>MCN}Y# z9>m=a96B&K=LBY*jq=%H!{b6++C(lhW>$}!ngzuWzJqf=A9uL*%pp{_i z{Z|4LPEPK<0=JqQTKa#o?$tMHx`1gT)*ax6tA^801l(~JjID3meuJY}R*QCrB=CqA zOF#QHc$$3~0~=Rt%h$AO*>7?56-`Dz6F%>AUD$U&yw9so?9nYQj;Q)dqX#%GbM69Th&O>nwx9GY^k zn)DebD?-}3`ZIaCy>3G9`i%L;v7G&+2bTT(Jt-ojrr(0r$XZi+?=P@O?*j#%>pd?!2rxcGhQ|h5?t>kS z_MT;Hbw5tVN$bGE zxwnJ+7yPVh;YWl2dcau@PMom2v8UAb9m=>GxQWa1smYY*8049Qvmw_FO>U_Va>qWW z1~>S-GCv+P^GOp-ELP^RIWC+4Sgt1sE;oa0p5p|LJpkUovA8D+4qei@t9g4jK!*`- zfAAeL-*>YRxDCVDzc6SwuC31<1wQk&%JJYk-Fo-CvEF?GXm~BgegA3@MR;IEI?mzW zvl}$0@9US-90Z+*Uj{^7GM0D}c*`09<5*0ej6cTP^qNnI^YQwU?-B9yee3ZK0rue4 z@g`4wJq?Uiqr+xwqukS+T*gHCTVkS1@LR9PKM84xZISMD{PC=hrMUA-;UvZ{Yw%A7 zE%jf9dy(Fkg*e9iv>f3jI?MX}3h>f&fj)>2X`Gx9_(R0O7!!I5@-|ObLueb?Imo&)0fc1!YNbQeIH+2wJLWe%__r4DqKsO0meb{s zhp$*em;>ZFlz@vDd{oi;8`|4?LRlnzsG> zY`_@TXd9{zua_-vn6`%oMvTvTzQ$u;sC`|}5twIbUe*hm_KDR4gNPv^0J_m(&2!en z{P5+>TYeFa`m_z>lOqPHdDb%KGcz>?II2t?$KW|wySA2HU}Or^6w2sp;juV7-#iU@ zuzK6Sj@fJ$GvD+JTVC@fI?(HW>d%qtZEZcHe^qN! zi#zAZq?_0D^x$YKIS<9a`kLB1%z0R{X1E?a&DWw#{CLTd-g^CFT94>T4~)3@eev*gE5p}o1^N7nH+M0(ldrp?StGZrf4SNCVZxixggnA`@ zChQ$~&g8pve7@y5^E~j52=eiY={e@4=!YYE(#cL|FgB21BWQ^m2TYH#MOooDSt-Mp(~r5bcE+(s^yamp=c6qX4|Wark(6dybzC7hCgc(EyYLb-%{Zl8?seyS<F zE|kN(z8z*{*SS2h_vIBxvyHFEy+|MK9Sr+IC0hp_c}aaX;x~E3bgywTg^qncMR!9) z$LAnLccY_A;lwsh;bi|@3a7uZ7V9rIdoiE?PM@?f`wH72Mf+B#x27FSma&?>y`+q~ zU!`P7KQcJ=w8#;kK;vq+B&+<5?f?tYZ1mXH*xT1 zR}aohZCc5(N1xYrGvsMIC60fj=6tD_k0CGrQtkM0z=yiLD zT_*MiabZ5+?xGX<^PBG}+RrK(oR@w7@p~4kyVVvj7Q{B!HXC6Z0gLS=!iNCIAa7B8 zMH-*y-pU1bSX5l^8w1|gv0c}i0E}xB{+mv| z7uoRb8@!=Szhtn4PHcVRS(e){10vvz@K=SHjV zizA$=2v^T6OE-Lu_^f-%e~H6IOoKB&t_4l+;K0ZRSB{q`Gtq|I6fCePXgrFzjR zrMzrkz?-|f@n)wx>xD6%S5hYTq^S2#Uj-Q2)k2)!uO{7;Z|m3EbfK+ZXW>D6zCNT4 zaD0ZqH*dc;gtR&QjTRoX>zgbrXxBGeSkSI-u`ttaZ*zH4?e>lcr`zqF#M#v>^Nha> z>9qq6;_B$#q(R%FJm&ju?{#U^rIGzUr2Fc_!^E?#Bpu`N4J48nIivyJc-a2sb^8o_ z0630?!cWrV$F}`2@De){dFHD}PG36~na|M~SvI|Ld~_=p6s>#uA5m-WVY#YiEQL0vP)w)B2y}L{wk5Js{V}FtIdv(? zn=oBM!aha1eB4<*z+)H)m+^=Loj*gUntj^QtAWIn<1>KUdIB?5FSiK1X&g%;;{)T{ zD2)V+7gZDA46hoSV?JU?q#_M%ga)M9pP6n%dLh!S zPDnH7ga|*b`;D-7q5TAQ5Mk~i6Idf*_Ru6F`(r525rC;A5N3+M=IY`l<)Rw^8G~R zTOQ@RW14(-s(g&MXg%+qCf_}IK6_^A81hOxYy11>j!xRP5p-p3`^$)y?Nmm4Z$!(s zDWm;OM9cOlqy1e(%Qh&Z{X;~%d>Y#OB3jmU8Q=RIE$h?hig?Ds_)Env7XiL3!tt5n z{sf7E(zj*$FW{S6@ANqBzuI?V8S9~*)Pv7DdC|-MJ9shf%DfVH{U>3d7rlvl$jJ13 zsoOB%q~q^@1J6FkJpaLOpU3<6c^=U5_aiC~KVs|k*LiHeBu}l6t%FKd<;QPv5f|2v z=22~^J6%b~{>b!9FT-Jy804={ExF_zcNAi)n-wUu5U#@BJ+sJc(-)o;m z*(}_7aqm>uICm@JL-pp2r$yOZ;LxnJ9di4bc4PzKZrg^1ck^p$#s;k{08X#HN?r0j zh*?;9+1trmXm}U71m8HtH%+CE@7oV2wc;;+W+tIu8IJvcxIdYE)$BUlc}Xni&q$Nz ze%vW1dJ znq$uU$5&!{vj1aI2t z`+*0(=f`6ujk`eD{(zxhV1G9F!Y(K50Ki~#@e8vi?P*%h8XaG6Y;pFV13{<#kVQzd z|8bA0iABKIA>AQ>Cv|tW`(eP#`9xh~*sp=zo7CfQz@Zx!Jy#D*Tx@-YBLIti2JWqS zEZ|(XgdJ`4o+LOka85JPJJGzIilYao;=!Fx@vjP1rXd4?5j9k3~AwH=hW2Qg_!k7XzQ_ zn3J3VpXW6lPWPKx<}8b4C@1^oQ*dYBTnTx)Z#DrgeN)R{;p#{FrpIX+wr|?+J=t+{ zu^Km9!J|;Krx%A!&Q~&K&R6~NbmWiw4Rc@_Jf=QSNp_ZizSyHHN{%WmA+FUKKI_sbr@rC)0Ky{>+wUwWLDVf&^1 zeowJqt_6=m`<`-AVaU||a*pbkPeuN?U!DP2+%G!-)BV!Zg#B_g=ybpAL^{zkCha@<#ln`ehl8eU7--nta86 z`Fg-fa|73->H!hZQQ(CL2Jk94YE zt^+)!xAe<8@Tq>e0r0qAZUQXTFNXk6^~;M4oH(=pEw<88d$i?~?}cL-)2;_Db=#{E zVCDho?yDU2F}{>SuY{H0!L~eY=9QF_WU4nv?S!+@+ivCNV$qNylNT+11F)i+YCgyq?1Q`A*&olspa7@>qXG zo>(_=@}#d(CjZj(SW|WMDP9u`skx6^lLvW`mVL>$Q8jy+<0J7L_QxV!C3{7wyhHQ#a z{YhOH^LafD4wHnhcfbGRZ8Plt4~|>SZqo!7h0OXO$Dh{W`exb3%e@_2Nax=&DU6!L zO*f+Q8&Qlc{0+R#x{Z7m${rr#hu@uGL_U{79~~!Syknb!op*tafm{X{%Yv7Q%o^^~ zk>O%t!-^ADb@r-mno z@b#0NH}$xJFD>A`%o)HT)|AJyTsr@L4D-JnG|i)9+nUD52l)ML z!meXJzmAt(k2G|*y@6Z!(G;Y6CE&C-tQ~=KP?6?aVXi3+FUm~q7gBJ%cW3to5Y~o; zWc&WG?Tduz^s7k&nN9pO2|uCWbbd`vC-vm}vL)ovAhvw$-+E6^o(5C<&bljti}?|c z9VFOU;`Kzma??Owx9oEW6#A`ArjOOK*F&#fywz^&sG7Y2X=b#QNgb=%8%eWiXv3t4 z?HSs*$?S!wW^amd9rX>ezRYofHkaEqm9O=3eOdZH*KRrYa*cUR_`CQG%LO|Vr`N38 z*gmph)U{)U@Uk`9H-lHaM$2!&EyFu;Z!!8%C(OJ5>qvz9;~1^iUET)%+D_wm&NT?u zgRDWk6TihCd^>&<_b&W#?c*J|^UC?U-!}m+HrIRbn|Z7anaJbTfZpfw#JoNLIPD>s zQ$C2aUxTV-A3}P3NA@np>7EsR}&}9%*6J((v+!i-kP6r z9`!OUS<;TdbpS7Z@;w&z1L`dO;FGGXpTKY8K7~K+^GX}BOl(Ke>H1;%vnEd^`wZ^9 zD2H$>$Jz~_Lz?-`-PJGc8Pa_Lf9!jo$DLQFTW`1pX{|rcV5T0}!D$YS;rRMR(B$*y zlkIq>VTS?6dY^$F_9e%k9PrKe{~znU+VBh$|I(!AJ~%r9fY zcO9LSL+HfD{|@lf?|ZnXVEVbSvix&X#8ookPaOMEO2;BDQsKXY`V&pk+!*Uuw*X*Z!S z%JgL;PU=$HQSz}I)KmA7UprZ087kRtoNnYt8ecx&zYoMS&NDMHySBDquC?c9uIS*0 z%x^>dy^07O>*)8$&nMN6^}9UEoA<}VX@Q57=-0|~=8x7y(uiOec{Ps?+i`bo@?F*c zSuU)JnRv>#qn7lQ^TpP^izhHMM)O{l?*-#CF3)+`hSls(t_{VX7Fza?Vjrqy4>)@E zll$;n#)UuQw{CxVZaMytPR5_Vsyu&ld8F@39`<#{h5iCO?|;Xgy8NMpUYraDd_lwxYr@f z`DfpNzW>iXgU*kspiIV3|9@%#v3ATiQST|gkaIo#Q63j5{`B`rtKtJcKw9h~#t>*L z{SdI8(NX7T;Y>!fwT=l8kL|C*#^m`CV0aIJVTU|T_o{i*(6GFlLK@?aS)if&F<|Wz zo|5t{Oi?=j&%vo#kaxhGQzZFJ^xbq<@uhD!G7KEP_Pp%lOebO$cL0vVxhCZtFxp7) zO{JR~KmAU?I_q0GZkzbZFAOinEv!zQSKCLJZr{*3if`cZh%l%BFM-oO{;!aB{&Zf~ z_vSFmkNq?KmHdr;#`v*aqA;BVg9IX*+y@M#Gq&8_{E! z;fdp3EK?f;5S}?$$>Nu7Vz}^5!7cw$o6qz*erUKfFl5+IKR43%z~3 zrIP&)Y3bij#~$ z`Uf4)zEQ^p^o)`HLu9#Fg6rq*ovx~T9##zF%sHdWKS6Jd21oxdtD6Nm9ZcPfPU3AZ z6XY=ZdYBE0undIR{@PQ=7svS>Xd}bct^EeAhW{t0Z_48^8Rj7NYs&{OLZhMVr>kwb z$!pEXFb_4&^`K7Vi0v<2y3|&l$Tqw$ElU=0kW{%x5O}#4(>Q z!|z-JD{U5Va^YN=+(7$(#F{mB%6G7aEVkMll!vy@j@Kk{>gPC&33Q!aoJ%=eKXwR* zH|4&~BzVvUnhSoydp>?kd|@~K#^3Jvqi;M9cV4u=?vB>9_XJMtt~-Fc6MxLppz^Q` zw7bM+TL2t&;9oIsE!*4WE#margtbZc0xfOmh3>u&?$ndIu&&5sKftEbP3R7Y=)`9i zU+ln{0?*arev{> zeVL204tKI1gFAWA_V#-FwL;?9PQ=M2aW(OkS!PWqec*B6&8vtj>T{IS=V;ueJ~T}H z1nQEOSIv$smFLSNyr1CY9jD}Jn3l(SE|#I1o#5n2zm`6ormtluI{Fl^cs!VAU zPpywW3F*}O=u*J7@APD(O!>hIp0AG*7O#&I<`zPYf4Ph_uxsP>(Wm5eQcu=b zV}Fi)HNv#7mZwYBM~T<#qtprY8my19&!yH!TS%+cM_ZAO*GJn(Q?fp~GR7I#!P?6l zA9iMal=FCMebm-X(N-qB%vN3nUa_q#>!a;PAL@j;`F|gg%=)O~3e*ditw4961boUJsy40xd7Cr-c-4!9yJXrzrlqt!M{OcU?bq zS3lH?IQtG~CEK9N72{$%K<5*jly4LGF#n&i|Da9QP_{pkA3|skC+uI{)N@9DMq#%7 z;T(@s347%TL!nxx)>|$He>FR&dQ!Nx6+ScTk}+wmx7Z>uoqo{x#ll#C=&WvZAhy78n6?4vB3z&%yINs+Xt-oJz9@5ym8^jbZAfJi$^_SWy z(99Q4GcX%}bj#@`W=Q@r_Y0i1NI&3Wvxt3iAz)&kP`3fY6LM_$5_0Bc>l8n;z>T^k zzd^voR$+QQ(wIA1Q|AbA3`w06w2^t#e9V4iPq@Q*E}TrbX~J!ip?(jd9a3`<;o43b z0v~3VI34-Mb2W9o2yi`Lw&K~C?z|(556=xD?{Lnnn*L&{5D~F_GDW?yPYi=T?5uXq z`@LUokKCKf1iKk6{ba)OVY^p8^@=OL^3V zJT3<=C7-y}pd)S-{-|3#em>ptJp*_dQ#Gu}!`BIMPj&ol**#8pZFl^ifqM$ZvUGq4 z>xlfG?aE^H_56rq-T88QobY{)ll5HONzb`1Rd(W7|HR29u@j9eD^nNpu}xk8IU-xb z^t{gcFY?6xY~l+LdBrp}@xYpz^#yDP@!+pGg z&wN>oUvJA*viCSS#x4U5 z?Lq#2AK=U{WBPKy`6uHl&-1cZHTyusL(BaTaFR!#4fSD_rxA>Fo|{YZd{pI;bG&38 z`FKg5PpCYyA4~FlswB^+RUXdMTDQ-ZovvidlB9861pEmbgb7DzaQmv)dtyzN4nbq=e~rS@fWX`vaH0(CAKr_*6@&6*&X09 z7ew-0-HEg=zvo}g?s9qvE#;Td-s5QHTM2g~&G!D8yMGkANm;cFv0K^CxbI%~vtJ@F z^Kice^Vog=mF!o!Ec+fq3MV?VUW5rwQ(9(4SFqWJ4JVY!%J*Y{sROWxFr zIMMxYfb&Y>v@OiOky^{r!>k9y%=g*=I%3`4pgFY1t<-GG~#X>2+%pQIOa$;^t{h8oc5K_%>bRZt^JruI`jS|`0@8F&@oRAH$18h za{%XjAamzzq<6!gUx%z_b4}jxea`tVpV)m|XOV9=`MkAk50{tke^S24X#iZ?6~3(1 zY%kz=2`%fQjCOBFD>ldiq&b%@boUX+mAOdE5F3QP55Aab!-u79kWJd$eD}{?~my}M^-7F*)Do5^mxeLaSshg zRZ}KBqq?5N{@B;qAN%YCU$G%rZf!#(9}{N>>}q>@#I{ zzzLuad#qg(<=Fpd*#VSaW(O>WoY)TFK62UtCmJ27hdDP8v%hROj1N~a+sO01J$9_B zntkN5=6N!B&4tZz3hwdV@i~C&Ir22n=y}iQt7fM=oj5MaJ|dY9o-|Fqr7oY0ahj*h zi87Zi0WHVYC%gMH+>81ASXadPwUHgqvxUu=g^8B@S3n2qygU9vyQpGtGS9YvPR|vs zPWLc>C2Iqm7kRU;J#UYbdL>@?aJ=`l)vR6d32~l}%pH3`ch>8v$diImmzc*qKt)7SZEX4D0GhliiUWv4xhgTsT&%;k8pJ*OF!@!F3F!`tE;SRv# zd3ZHodLHgHJi~doOYzh5a1Y>m9_~fDY#!$LmYRpxGLM>v+25v{htCE+H4hW6=izgZ z*7Gp=rsm;u0oU{Jc}Pz;4_kaV50iI153|pd&BGS}7j{}Z4|D8zwB}*TFPn#-W^h~T zgE-8o1#e%{-jsQ`-{?R+;(0jT={a7BuWWuJpR6^l122waGPVyOJ%~T=yJ9~Z(s8~G zE?*4aWN1CVA*A)(?R|9YIRlQD$fgfpMmy|iWlp{rX^xAV-F+P6h>WpXhRo$lcI4lx zJz9ZRYu5BCX1|uqsh2>e*fC@HO?l(E$MZ08l4laX^?WgfH1!ShSF$aD^CFIQ;dy(U z)EDu>hhx5{#Tj*qPl)q;*mi6$>P2~1;J4@D*C%D3c{=c{^Y@~>DHwUgvSf`@mj^7& zrTt>|6EEA(St93|PWDXP1*ZFe>4(ru*YR^eOS#mUyf48YZO!Kb&MSqJxmD{Mx9xQK zM7OJ*z7vp1`mkPn`5vt~nctF-Gg)2?*=kM>dUiafnX+IW*7YO)@WWNRH+ZC!pPf%x zMm_f`fo31>DDvz1mVG{+ZzllL^X*oo^?Z9N((!zI8Tmx>?d1kmoNviLHQ!zdcs$=; z1(=?1w;P_}eEST=PtUi{0$k6x&qlgzzUA1Jns1-SJZipWUz%>deLnE1`Ic}!-@X88 zJ>QaVYQB9T;CjA&5z^Dmw-z7Hx8xnqx9lfn^X)aDkNYO~^>R*lwB}pNFPm>)0y(kY z%YD7{d#^P*P>*Q7)g2x4gv5Zkf0=)JF4JrOFLV5aelO7SuZ;c`5&dDH|wA^>Vn7Xk?aOcTFZvYL) zd!Csy7Z8adzX@<}w^Xt>J34Rs*nN+0jp*KH()Rr#X}gqe?*JVyDTlOMiuPR*t+ZK+ z_NItd+ABr--iTJ(DnJ*h6gcy2Lw}AT z&&I$}rFgalRz-R2DIOli_Y&j`9-*5BSl_@#a|Rf@?Z=g#bG)8Bjw5*n*pAO`urW7$ zTY5Bpw_uHbE*g%+UNNyjKMftUee@Zm*}kL^dzQ8m)3*ReTj{e-Z_<6r(9{01->CaM z(tPImCw;@`tz}_xHrz6m_b@h#j_FqSEl<;z4|$lv3H z*LNNN?@E5ZVB%YGug&+7*6&FC0BQY>#O+9nKSen|L0bDX zOzU?feu{MJ9f>;#PwZE^2k`hEiJu8fy(94}lfU?m#JxG(zpubCq3j)r-^4iej>PYB zUb6Q;d`IH<1-zH}2jJju`zjzg6Ho@5Ej29L709=;xD90yd&|~oKEV=#v#~`<98$o)4pt;E_p|Sc>Rt9 zbqf7h+Xqwr_Cusq?@0U$Y5Lpx9f^OFrsN%o|HL@;js(X8`oZp%SaX&d$F}&Ke9q~q zcO-1xOcdUcAiT^ce%Ro`7<3POV!k8sh|z~SVJ`k(Mj#Vk#lEZtj>#OeYx^9IJO6M* z1-fJE4Bg3rjUCPX?JYbjx3*91P)mOV=zE;~PM;6EJVplxhRruEXqR6C*o_jPN-YK0J)~wfhIhaF!puEbyF9IKExA9@RcY-qhn&qjKc$%~8|N5}ac4$@KnI}Chy=wf_tR$w<}o7eRZPL20(9=KHeE7tq_ zL5sTR$D;Ref3CJ~s}DQ;$kb+!cK#Xjf6U=GkB$`ZyFtfKS-jDi^tWV#liSAXCwOA# z*8%rMhZFtgBLA(~n8_fpC!pVc1F+%E17jNYZNR1!Y(DaSAF^$Wq2Txi&T(kh1*o6h zfs^aUCH;!L#W!8VOxakU>42`D4+U&SHpVb3hp*xKWW99@Pla`Lb3Dp3CmY*9g5IgY zL7e&rKZri`oNP}eANxBk-z7`zof+_P0=^fYW!ptfcW(SMqPnC_K5|MIZf{PF*57L%(s`)Rs4wKAcyA(>fs+3$-5xKZ8Tf{iiPaC*>dj%k$2K z^1N3X?!s^J)enSj$Dq7or!GR8I*>+uR@%W#9}FCQ)`MJmNOypt_rCg}NKb;Ee`1^Z zytS;+2GiLqJQ}hq?RVxEJ$zA5HXTc}VwI(0kdT-ljg#SDEK=ptE&QZD4&! zxsP)BkH$Ur)md(l^LR%m^&@t>_;AMn&vG1#dkRKfLs`B|#D)AlPIx`h@jqVi*DxvL zTvsnAf{yiK%jNk|7TeF)na7E&lbo!RaVI_7xr`V6E|2rRt7;I# z0M4t3E9&|rr|VMOMSl$wKaOQc%d2KjDV68TBfOV8c}+^5hG}_hgJKz~S&New`|4@> zTGr<1Q@mnd-M6dPU34P<^fOz{p6X;s+wi%fym(ybDAmP3ds0 zI>({dSAPuYl&`*nSwcJSJ0Rs2L3s0+>*;SD0Xcy`zk}SnF38F`5^`dn{|O2vKL2rm zX`lZDq_xk#7-{YEpMtdZ`AkOe`&`QBKZ~@==RX_i*ylfoG$lU&xiL=p{2W(y#^R zUgB?D2wckF7yvxwZ>&?irtvpSS(ah%js5--zTw^4)7{n4)YsbI(%ROvrlSx3i2WXu z#x*zftzOg7(cjaxy1%olXLVBtoUXGuCy*99vlXA#rruV39Nh82sUI<}YfWEf^35pX z+B=DLd}jvu6}{aZ?VYWT@2mhvL{kqxNsi)V)M<8rKclO8Ra0l{8T~7odiq*Bdae99 z)6(>VW5+q7%Wl)tvIdRZxdB~o`|9qF*8b)-E83f_%y|J`)vGJl{4%_+cOz%_Qo6pT z&Xuj5(vEusbggH1cXa~U-qeBiZf-iq@Y*w=S=H5n*ca=tLB8{z_mRGHx?6j*L*Q%k ztO)ku^@)DEi~juLQ+DutZG?>S=j)Wx=WBy{CdAi}=WA0!Z~F5?fTy0XixjWvo-dYV z7t4RLj%TFCm(7q}TKeSmQstilJXQWJiq|ydH)WxJ(TtcGeeZqo|FCRLbak7U&o=P1{`ss0 zSVqrQnb;f7QpN8!6LVw!$^y6uW}gycsEaU9sW12HtH80>iuUd9h#A`d!oTA991M(K)uH}GzE{EH6#P9Ju@t&-kT*8CzO3Pg9=_=XPj)&9*=~%Z?ue^KuTK0lcnO^Ud z9PtkiPsiAs$0xDk(#!Ap*zeC?13ByuqW?>fF4k2gyH@E#AK2?!$qwbfj7xlAmW6F? z_yql>n!Q}}32>F{n!K$l3ub}``AFa6oqxqL&&;k@JdZ~nubZzcJ|E0~4Dh1otC8;z z#6XMXt!A&ud0JgW59-7}wp}sb%)0E>Fcg?-E~qGxD%((vEL&yyLcdtK)5ANtG;n8`3r0pN+eWA>>2Z?*Popu4IyT z9o{S6ZDE#O20YiiFUMWJeZ=&YNMrZxFxHX`{uxM{PbR^}BL103$%==>CmRlV3L&4gHvD?n_eJOA)7Kbb* z>lg)#Zfv_%z_(0o9^<1u;qtu<@D2@c8yc>gK!oM{3gEkQnYPR%5x&;}-xuLmjgFe{ zZBge}0)Mu}Lt&d=^0KVw1GfpaG`NZ18(WmU3a|?SYoBPTubbM)3N-N70=^z_v^BPK zObrZ2?fN?4Hv!*M-#9dZ>NX8GFo`3R=`%0Nh#yw?7TfnMg=;_RGiGJ1t&j5yQ8q8@ zj?c66mvf!o2>7LdqcM!Qwt=DHRc5(x+~~~t=nCLj=PS_BFSZqL^m!BVZU@e`Z=T(J zhmHOJ?ZCGKX*-~aJyqTbn2tS_&Ebc@cYQ2YP~Qc5Uhl>oK26ST7Ds^0&h_sBj^mB} zZtK;C-v4Vhah3Xdzm~IP$)q$T@KjlYvF#i^tX1juJ(5RBiZVv zv-^8m+gf{CJDaU9lFeAv)Vr#`uW1E*5VK6i^{Lsg?Cm<)`=L`xa%>m%l&(p+O+ER! z)#mH!`UATW#>W!Jcf>QLn5q&jWJjbtG*7`Sm#c5z|IhLnG@!9J86{ zqrh=J=w{q`$$aB+em;=#{9~YH{*U8MdhQ$W^nR``@(OW0YppC_%=1PXXt+3kFptb1 zpM?&ZM^KJPFNs0_5bOM$Ti%PjTmyX{?y3n4>;r(s{e|oB9|W9xml4z3)W`GX(T55D z5a9e4pNrW}aEv0HWjq#e&P^Q{S?~zs1CVx(`ULV6+n8g<-llF@-YXLXj90Vn$rI1F zd0*(0Od|$ppEMiiBdn*sp^h(|4%Qulc|Qes3!ov!j1k$V13q>%vg2*d;39sGz~=o7 z@>)ROsMdqJ_KwxJTG#~jt=s~b9*YPg9d>AN|4ILr4U??hes0z79~>T?m>PF;#@?0B zfsR-F?um>`$KV-Uh!N@Yj_wP%AD^mew9&c2-WN=5<3l5y6Q%8DWFvf~N<#4l-U!*V zvXQ(hB+kw}#Ldpe2KXIWj)~j@^ChPTP)HRUG#(Ro(a$_#M{$N*A-~kmMDDUU-dB{~ zv7h->;Ns_lafYt}p7Jxlu6Rx3XPUC?V);+fes)75j(HnomzMveLhc*bmn#1c0Z*0x zM~c@pjEpd>EEqxjc52P|ZF3B~d3a!AqH|!g-E(y= zc+Ah%4NTNm!xFU5HEr;Q3@@VLbG-dq28M^g4u+F?wu##d&+p*H_4WOu8#Z7iU;=x- zHjhn_#O9|hw@_#%hA!hAz&&@f0l!_9bAO``w)()*;k@-c_^`B4lw&cV%`FTR;YE@)4ujyIqR|6=&Qn4@Q_mt zPpxX{+zJ3`%uj~&$){R^$6|qrH`i(^KQaXjFb9#x%$b(Ptp<=p76uG{)+~z;Rs={D z0Ia;(vn_4BIzaLm#<`vH=gcX|V^#}NIiq!i-AeMCHJF6pezUY-WY3*z^XgRvO4Mo5 zbI-6IK;`55v-Y%n2=P_J{jjt5+1>S#Uncs<^?846>siy=w`O&JPy5PMwrz0&kAroz zwz>74Y7Xn`>c+Fr`or!ON4KJ@udi#h=sP2ab0z0o(_d!hur`8h`{uCDHCS80qK;jU z;F!X`eQ!eVT^vVXCiwk@mBc*pTgWIKM~Y@bK2QDz`Q(bnk>4fsrk(J6z*FPM9~7@? z#t~DNWp19Jjh$s%I|fEJPH|_h*lyKqt1->6u~yl0fUU20la6CH$Bz4y%vqV=CoT3Q z$L{+s9EHU5k{FNu5Loq2>QHX{mQf;c9Y_D|5XhlnP# z8x}{b&~E=1@Y&axFYj#5XtcibY$ichK27s5Y=Zq}+SB z{Cnaa?*nDIMb2K1PU=Tu{<1%?0eIHo0^CzDmMN6w%S2qr-{XYWK92vsiob@jURcJt znXSJA@SF8w%jNk|7TeF)na7E&1A%8*7U52MwsRRTKJOmq_a5qeATgJWg%U4keP}wV z+eW~76>&vf4{Nl#9*(={uVJ$8z%r!eRkOz;FR!9JUmoFoWTTb$INVb(Est$b5 z73)^?H2DyN^Y!lE*_3a2KY}?S-UrHYDBcIUTO;VyKG4EUu)}G>@AaGuUcp|^|B9K7 zdCdneJ@+y8zPEzOe$It}Nf3!N`yq{m0J9dw^!`Ze{hS9OZDwHD=Zx7MjI_j=B(3*z z9s+!7Kj)!@C-!qb2Jm=4=Me%^`#Fy?`HTBGkIvzKZzacwvi+Qok8x^0=M!>XvQIJG z&v{${?`1v_IIN$z^}AZ;(zdEx-JJlMct7Wf%%}Eqo`iI2Kj+DS>;0UkAdT3sG^J@9 z%1rI&RPcO1Ct>k^PQvtl&QnQ~*w1-dPABzb< zEiauwtsW8n)bxVIxsdeVq($@z-uGk~LQ`BdC_k#1!p@7@MjjWp+G zJwN-rwX73(UNZN1oSu8^yHy>H)<)@a_io&a`MfP9db2#F>jk~%AL?!D19KSjtO1>^ zgK7ioL(09@{|?5eW?XC0o4dkRKfLs`B|#D)AlPIz75_&-hY z*DxvLT@AidEe|IgAuq3@JYOE+J<@39jpCkyX?X*nDe|ml z6g}Q42Ao%lS75J!#<#22U33~~EPH0F*`>ho5}TUO73Ia_!exN-D(d2& zJ&lv+O1Ej;XHvLSUkG*aV~H-`Kx1fAKLcq#8_zU%U%qD{ohsk60q2#%#WuCCYp+W& zUxdSWHum{|iD5>Yx*ut6V_%50wz1bEt!?Z&(%QymTHDwgkWSgy z8wpR?*cSsH+t|YbQ#SUP$zQawFUjHF-sPB4W@AspIAvo`<-Ejp3~lT!1-zHJ6*z5U zyL4b6DHAbilQZeI?SdjZK*;8(YD18=J7$#wJYL*jJGzVPkL4 z>7<^ljm>@?+t`F@8#_;z*x1Bt8=E@CHa7cQ%Eo>UX_bxrT%=`m9_+Pw&JXzR$> z|6-&$$8)Ub*)d|@an4}+CBV=RlqX}`Au?)g=+w;|0-+MRjG`yGvz&h`~gCwAW3foGe(6ZaG>rJu;sbpRIT z5__09_Fu1~uY2Oy7m2fad7S9*Uf`+M`*0VS?sqIF^Xt0#AZW>(`8@AR_94J|rEuE* z3ER`_G+jQ??IVp=-&f*J`mjwsuY7;$_D5RJ##?lqctdQ(nl@}F?O)y0b4F{ATffb= zKb+&6yE=ROA}ak2txrIvwqR0EOuTo(lxap-PqH6z5BCkN>vzc4&P6Pk~bNi;ThuZQT+57;_nAsY&qI~A3z#&Yw{bK97j`Uh<})Ql)b_}hQ-P) z_3_ERQBJnpk!b7O)bGu}r{-$HwH^6Uq?ujzQIczp?zc0-h@WR{@u6n(~{n%*AXx6YnH;qc3p2`a1H?Mdl;jdxNtNw44^7x}sKV(oz4v+;eTW&GvYqq^?+{>N^pwI6_n*AE+6SCV^Y_G!>g?;F~T zto%fU)F=zfImT+^+Ou5Cuv(SeFt!?_n+d&)Xs)}MiAS^k1M>DkU@yl4-4oR4Gbd>}EG zj8W1LSs$8C>h_<2^D5$sx<1rsb^RCaqQ8b|pCv7?nmvrXyo&OCd4%^PjaD9CI7z{@ zJhnlRXEm!KFE4qXSik&B(__!7qfhbjKCJZ*e7kzxMJMu4KeN?rHzz~dhR+q{#pA-f zQeFJBr}dQQO1Ej;XHvLSUkG*aV~H*w%c%EhEP%dzHug4m{;m4)oC6%J zk9_ZdOXvOq>uxS+;+XM#=2Je{?ntL%#(My+W5#2ST6toxdIzGhPIoT*a92E({*9Q~Ca2 zmTeby?yknJ4a1`YlYZ~<-mvGzo;w73SbNTn=Z7L~#(B_)ZO8GOc@6`Pwq2vsUFO~8 z7>i}@m2unC*Rsbr`XWw`_jYf@;h?3wBi#M5xEJ$z`$cpW`|>Ezd)Z!B%vTM|!B@(C z4CrjRs|~CJDeL21{$p{E?O5g)ImbCVsgu}_eFE?-#}jcE`$of9rcjnI6LBGbj}u;t z9sd&*e+^^3u#9t|1NohT->er~F3*oRwx6#vj}uv^I$5XTPI|U=886x-9v9B_k`E;2 zitSj|hvqMJ`((g*6>&vfmpNUZg1hLiVPfM@m$bZUwxU#?FOTqUcJf-3JPp(G*apQi zRI`;%o;*+TET!pjlAEJX@rvzO->zPF(TV&ii+sXoyqc|cGQ`f~b5*3PWL>4Y_-9Y+ zDbJN|)40#1aH+l!>nvs0fZtdAIONfG>-3rI-iD)*C$>|M zS1_?tPXJ8YsV5<=?bMTz)^_UYNNYQF3DVk5Wm?;*PeM9nr!FNtVW%z!JhoGt1g7lN zR+GPIr?%yAZ!_|lFSAou#W-cBJ~ihh_E%`9o>9PinH|7sJJqEFJGB!uv7Oq@e9BHe z6X}$l+5@<@Q+tt)?NrK4*{KSi+o^=bb}C`oPVFO2!cJY2(@8y9JC*%5wo?hyc50q3 zu~UiHb}Ds>?Ns);l%0AmX_cLN9@4R$dOm4N?9>ZloU&8-yzh*i$~ik_r`ozH+Np$> z*{M%6xNuElnX^;-jXu-~bM4NLFuS_8u~@$|zC5wEu?~8a#`clBEVe(O^>47{khP6L z;8L;u^?;{h`*p=@n%KT63+I>_ds+Ky7uPu!HyC^^?o{d*>YDKSO-$pEAgB8ufjd{VOUn? zp`2$pI;j(}XT-MM4m@>#ChjR1d4#gUa)kUnPIx`X@qe!3uVGR~_8ZE2KInY8JU`;t zX1>lmPGr5n$$BB~q-Wcf@uEHIao%p$`9NYWd5*-6WPNBlsoQG-=T*cNb$zMR^<}t= z{u(CsEz6LWSIw>~mFLSNysvliUa911n3l&jD3$?dLpph}50j>^Wj8qb6tBQOMj3s( zdfi1Q@=rgf_=dES5kLRi@r>~*%Jum!+cEAZDO{@kLtXrsq07W_X}{$iNb`Ak zr@8aD9qZnOH1!O5RA#$KW_n=GVM7#wow% zbvZAw*F(SN#sc2Ud_8d5uW{+XuX!VAV!!51%%}XCHzS?$Yu*C5_G{jXbnMqqX3DQo z@Z7HI$mbJuHXzz z&@%tWa4*t(d!mT*^CxX+&YPn1r@%|=OdNG)Sw!bg<2UvCEbi3#Gr0329qGlc{G6kc zvI(8o8@B*Y{XdU;3P!zowscAsaXf3&*N@jjczwz7|1$0}r&2#TD?6LWfIoO-cti?r43Hm94E?VCtb|8GU~(k8;2yuxyZ z`o=h&Ps(C>hIJ6)JkJsz7c)D~v0I9>>&6=gM@J^yml0(x%03g)Z+?U_>2?jCiKxxR z-k6K?(zp)(apdJh-!e2fxfI5Mm0)9*p8(F-2O-kD3;#*r;xV86zCbv>!_CiYGW|uQ z#Xb;Q;46S(FPkGXTiOiIuL6!Sw*dbd;Ck-=I?}1R{u_iR=K60NIOlLXUwj8?J*Rya zX*YkkbFgdK_i~uc!@7v)7{c@%lc!7OnD2vL@4@~7(y|Ae=hOZWX;!tX0CWHxD2Q>A zdv1y2Jm7HV+*#OPl^+8x^~?Qzgi(*OvHf;~3&-{&5wkiN5r&@_8TLs$BGD^K`fAyC zPEWvQ)jS@PJkJpFO5-ueT^5_VL+L5wg~Vg-0xlJgxf}3QJmwz7YnphBDGSHzJNM?e zZO3lxBF%rxdHixF7HNM4-lXL>lC$h;Te10nK6TA_zU|I)o+7?viT~X+K0dI`oF`dn zxEkZ5%s0OQPd@kJ$NbjFs2UoXZ#YIV&+mcbeDgcpc~Pfd8+!j;jxoUHdjx+3PR2i< ze@1qn%WuZgN|yZrY0CH$?&L|GL^k;`?*oA8_kzfma>{TVAIorIzDl+ZF)>~;?)!Wm zC-avn8^%D=if*=Es@dP6Bd`CaecJI=Ycvo0_deu%IQ||%v6=oS_%i*E**1np{ba2E zH*ieHZF8?XtNLExITo;;ioL<^@x7n8LhrHT)PulrY@HY!7^|~;*)bvevxT?Rhp}Ck zpBccoLjUbA5xk>5vT<^g<@HyK^J=KGrT-S=Tt?x!df-x@FURej{R8=Uas2fJ_T6RH zn}@j?cHJWznf62{0BHaKFjzZXIDQAJg-M^Z@}4_@tDAN zTH?+QVI6P|7_nbAFs&yv;a#CZ@DNZiy%E)z9xU({A zyC74Zr(K+57VCE#QZfHo(4lmWLGH3SW~S0To?~VMmzrbd0G^s-c2m5jnPW^@cuow@ z8QpHahtRqfUr6X{TG`*x+PSiC6`o~&|Db~QWSh(b-{$x@nz%sdKlE96)|Sj6yCa{T zL-s(L<2Y$#9OwAXbOUglL-xd-m&7S~ZVjKk<$%eY;puDHf}GyI+qxIh)RAgv|%PxF6AGUI=)hUEMgo4{-iHkXp8{O?TJFaYhi1H02r99E0}*9JX`; z?&!_u39wtvy<<|#_P2bxwvPC@;Q-4chjF}ZGjs3eeq*(}F>yI6l4I$HVI|Jt*d`oP z$1E3PpB@OlR~8Fsa0daW$4lC?2Ll%G2c*r~0Gss?;N;prQEO~NeYQ^{=;tDX*awFp zJ&82w+8V?D&-7z}=eyvCJ2^Q&m*=q&zat$#c_uWE$2lG;oR8hx=j8~{vR@wM?nmQZ z%;)=R5$9vlZDyZi%KnrWOOx;07hVbHIKuMCIC30xlJVjR_)Xjsao2Vq^AIO_PQY(H z_AEx4x`+8I*@=MjB986jd3&6+A@RcJ_<**Wouc@JIM0V|%6_5sB2UUb9dIpsiQ~sS zYtg%Hp~&azGRL##Jv}O%+B(6V?67?#AkM>khSNJ1-*Vx zoX=eRp7`;A=@`XHNK1@@^UBFcWBzHEcd`jPm3$`f{ z2Dps-5+`~JU@qQa-osvQc!uwZHz|Ii6X(ztz-9f2=~ko}Te=iNM+SyhOl`ndaa=ue zj7_~KzKVI&8VUQJ^-t38i9Z$i)cOG7I(~Hq(p(=9AB=ocv9u1rb$n?x($l>sZt>xJ z;^d8TQ=EH8qnfebl)We31zgy9t&hWTgg(Hd@t!#4m&K>L4K9pN@vOt6@g>nSjSkd< zzTHkeiDq8E$Hi;PXX zF!|>TtfQ&7x4W-LXm=ML_|9}ohyDKA9s+A=Zx+4wbg=HO-u6C}wBJ<(b!%|AzV_9v z!gsG6)_jJ*7C6}Iu9nu0&L$AsvhD5Qz4+!wi-Iq7@b=E`HKNBp4%W7&vzdAb?|mJ7 z?dm49+S#Ul_6uSCXLa>-wDjVOBdxYh_IG%j<;1g3(iE;P4{$W*6W#cLoya>-^0F-L zoh|sPxT)tw0%w=N=c+Brmh&KovsJe^Z?A(LoL{My@17ip`3J|bnE9uV&&GzK`tbV6 zZDaL`UH!hy;^TJ^k39?g%YEhJOMT_F>bVrVMB=e$0~e1cJO|($z*D~Rxr*0xzB0?Q zi?MZ%p!c%1-W8*_)WH>?vvp8yV0}orpYHNsi95?JevOn{ z%-_`idda>p5 z{D@=w`8xABk@bAwS(X>zZs_s5j2HbikMs4X^MS-%@+_f$E~o&)`p|Szw=V&lR}oj# z^;)OvOK}(dHB848((1Vc@z23=?w&8O{dGWaL#!_AUv#0fx=SsI}+-Fj_R9^^n z@neZDAIli*7e$)S#yicOzukUOq*LX4H{iTdIC-`oc)k!zGZSLjmGA$GC0&M&Pl-NDC6|BJ5^!%k)_U>oFwdrG= zBc0ldat+~$y(ljOJl=Qua)GIRr>`{mi~CMrmBalWP>wBS`%YgI8**N|!@OwimFbTGM;r5_xbs?odFkW$eGz^WKNCEU z!}=oE611hNFGrah2>sRyZ!^o5J1Wyd6s%>nnwO8TJk^w(=S1(lI)CG0Q9IH6!@m z`o$c#=4GD+zHfY+A(1rV-`F3?McVZ%wlz_Vr<~xmd^A_Vx6&?CXwRY&Vb7 zcAb5X@oS)^yl=SsH*qiK^X)6TvJ9mAHt0QnuPe*VtwU1o?}E;jyV}4ykg|Ty<^MkJ zvA@dvBIk#WPU=K#SMg(h06fd_BivIk>Ke-OWg;%*?{UKGCyxJ56@Lw5y|9dPUA^3e z->er~F3*p$*nYmwJWgcY?PT49JL%cZWxV+OdYt!>bUu)nOP+i28CV~hPU`kofb%Ni zin`wGbp18%qQ8cTFT*mV%n*GViljljEr8Ipl zd%)4Bc*XvzZ&$Co=tTbMXSSOC)ya^y;d4cK@mTQpQeFJBr}dQQO1Ej;XHvLSUkG*a zV~H*w%c%X;hmq#9@rb$ex3w#>$E3?w0i0K=?DEVPabA}l;(}+-pUWcW3w{ZD#{MeD zq1a!&jdb2$jYfavHAWcye&e^mL;Io;=?}Sp(O^Kg5GsY=DljFh8_?ev3Q+}qco1&jdc$uF$3;M+S345HM zIU6{+0zY$C2M^e$yRw&eH^{YHBAeDtj1I%Oz=_)Nf|Ij%JK_6@-8T>UtlekF{rO09 zJ|K4Y)h*ykso*xZ=LuJweO-4Y-q@dwxB=w^xW;4!SZNd3anUi}&q% zT*x!d7w_Bk`9lARbFjyGo;W#v0dcne-0uqg2=}|He%IW-tx{gLp2dbf1a;(PM)i#T zt8o&?9mk#&?ggHUyzx3AUg#I_**PaH08Z}(-rJ_tCR|Im5O6%}1-PR(JIM83 zU`JnoJNmqXa{Dm#aP$TEK31Q6|1fFywYmhb{Va_BXnnma+x|9h028{Qk$V1Ki_mG9 zqiY?R9N%VrVC-+U`~sNJT{<*r${{pN|2KP`4}c8rbzbMRCXWMinAMQ5MFO+hnAqAu zIgHZno-6L1Ht(9)+G3km4hEguJDu0}z(zAqR1O7B+bX1Q1S}rw7~41mF}1^hlk1>F zFWbfS_0#qKg4F(sBOtGIef{*p@_N3%;4w;1@v&ro$zy?wpBu&@js!flzWzAHYnt_S zQbnHaOhrDJ4xgLB#-f^P7CxdP-Xu`P=Uta3#>FVgf*O}ZtFa2K2 zsnnymB|V-EP3(tz`=t&}M?PH#ON?y4|6l5xd6ojlws;cmyr?VlQ&;h!mLZ+W^AwjS zh4b?h_VHJ+-y5_w@LcZhO}H2H`F1Cc&%M_%#F3ZBRWkklIp=1Nn?9e8HF7@O*?fB5 zULNH0{y57p9gaS_mlx*y)&3e6`kf(9d^5nsOC`=gJpUvH5b~;JU8s9r#rhBB#C0rw zvB)9+`FIbeOir(oGhJC5&<|7fAaaOjevuRERm;v&a+ZV6^YV3*Y75< zhU@l&0=W1-?;R))-ISx;`@L)zrsp7?+l`pB^WOz~(vCqKn^<2LqYiyr`7y}UCF)z_ z#7?|&W^KW43o&jZFYU$CaF6FbuJf+|JTZ1+EZ;k829DR2DFXNww9hy`!B#Z3pV&?< zfWgiTV6B#pqcpa}PmYfcW0A!y30XdEHcu&jrOgkQbls>~uyXQO0p330!PKeU(yksF zvHq~62eAG^{8O#09DjyO3*PcXlmsgrFfdIXCqD<0PlwG17r1v|^Vl$!pln%ITet-} znB~dkkc;s)?$8!_@6Pen2qUl4@@U6i2rOhw=5}c};D}2Eyw3#8`uh&->W1ytJnU`X z9z!?56<{Ny4{5a13Irq8W5c7-kCsl z2X=LNq340st}S)l2M0Xv-1_*a`W9C$TW4`C^$i14!;|DolI~IIE3W-}>)<)wizQ3f zUj~gH3T*VKWa|O9ZQV6B*|ni(U}R(6R?-B@TFG3U=9R)9e1S#UwQltZ^xPf!c-D`3 zCp>yOiCc~_fbYz280I5GU&F$q2lzfItGK49xy6Egphz|2s=wc<*4k-$_n6V5r| z0_M-3cGI6L!=Tr;Eyl>oX25vGK9ktAd~bg#tmhF&H;Vg($r0Du!C0B^=3IIS=&Ws7 zZMYxviTDP~A&cn=;PrcxoC~OT8IE&j3J2TO@E4nSEBI=g_)?^0&i45$**3s=6>)wJ zH9iS!+RH#o+xBwYSvK;Kx$WtIrTAV0e}nVaIPm;_-6Zb3FkZDxjSq0u-N2^+N7v2F zL&-qw$a)i+V4f|&Va_#q?DOXzUB*hT0KVOTcqC2J;9z|MgQFQ6D^~)i+nVjkwqbkD zhCg!^@VvI;&TrsxObEE3f3j}*EhMSiXM$GO?X!?(eUL`lw+5a}KLcw@XV{M29Psw`bYmnw2*E88>Sys(ni!^C(Fn9j0H1O;zdFE~eTt9QK zcl4yu&m7Zl1dh+#8*t|p@ilwO-wd2QCpyntTpsboSf~6;)7P@MIeNaQz_Ia7NY_CB zR(F3p?kPFqTe6(wFXem}=yf@Xqy8+vl=I#AO`YF^JIi?!?z~7xdgiCh_c=PL522Is zL2&Q!w&iJC(`O?fqfUiQJF4JY{k}1bhv0Z^oT6xaY~s2*)v&rwqrw<8i(o z$TP&Hc_O>HlZVKba(o(aUb-K%EsC_&?6Zzm>h&{7*O2#?h+f+8|Euo1 zsbon--=wj=v`P8Eodk`bE2J{rtI4Pu}KVc%ABdY*pRoaId{4 zb>NY|?u6e|z-Z?pPyglieYHIjv7OQQ%906i05JAEAo?ezn(l)7Q%6tltW@?{29z^{ zZ%eu7;+Gw%eSSWT#=$IqWc$hcSy)kKem{kL><7bHF2BNcs2ADtWjO?1==-ER(GOdm zj@AG1_n?+S7rDl%kUX!-bq3Z2`)r2NWa{W8NxKTV%x*s931xZb;3m*|%vzKU=Xf_m zE`NWWe!!iio4q9OLRiOYeeU93&|tI73-80VeTL!(2xB&*5E9o9L5rWGC@1#^I-7gVNn;r6tGOV}tY-B!7Pb2I+b0K2h zRwFWe20$n-pG!=;+uNdAYjb}6uOX*(LifL%nsf+cF{TMbI?QHuL53dqdl1TlefWeI1rdTG>%H?2G%rl0OKK ze7XOFPOfTRW%^?FWqk*@zKmSS@)d{uP>`+R z%NTMHC(8>sT1Tv1#FYGne!wdweLNm@SP!T}xs|<~t2;qXedU$FFGF?}oQr5h_Gw(? zX&y*o@TcvGJl5x6W0uFdNuIMS@YIIYyj`msyKFtwHe&N;0Av|2(-W{u$y%WEDB|hd z(559{S9;P@d)M~%euQ*UK3k?CeZ943)+DoM*7}HBe83fHLD^2uy<^iSn{Vp7j`VwH z{T*pr!Fa@{VV-36(85TztR}90(#O!X`)RQ~n#M2w;-{e5{j~mru-#AVbA+*`mGLo4 z$g})@S~Wt8_tPT2`l)t5t-g@gF5H!cx<0SW z@R|toK4H;*TI`F9_R|_j9rH{s>t#>-X$=Cu=y_Dqt)IUR!gfC`;ug&()&<@A)9WGJ z(|%fxpWRQ3*hqI~KP}cF$-?IDO3HvA!ZCXT$Y-lFeHnaz9y;`KdSgE=#$V0f-4OBT z*D}Xqoa264gTd1yyPwwbG=dL5sPcRieL>&anlc8Q$`_6zHd;#5WWOK+e z?k)X!E1YA!(1)tsI>v1a`G9ZjE{WZm2irr=XGJ(=i<9A{x__jVq*yyexj;Db~&&e;0#qX|$JVWH}LUcU&`HT)F}tc`Uz> zXMv}2?Eya1vM0`zXE|5H;#e1WA^)r%MC4Ha0QFPW|Ck?EPV;s@(0RnX*w#_r)>@p^ zeoM3dSaEzcNqyD$LV6T?jE}Fu#Aj(XK9)h8hMHuYk5Ai^wxwcuJb&Tki?D*f?tGt6 zuEBP-iTK5BwkDb6?S=QZZrAT>BmVsRTkL=B8X=!U z+M04033R`aXe6-CTExUsD<7rB7)n278(`V@xT5Fb?Q(0(^k5EaJ7B3_r2B@9Ff{d* zMuMik68)WB5w`Dh?S`;@pKC9K)jy)mdn0Up6o&2lT>Bs#uS51v_9eZ*|EdE$|324f zrJ47+#)>}IBEvgYw15AU9^S2DA5ranuEspiyw5d0#nShbLR?Jygoq#FoCqHLC&>!R z`f%obuE~(ezt43b^^EU072%@yxu$_`*IuV1oPVE-apwI)wZ+rZ_qiyWf1isqx1Q_P zZf8)YwS6{Tz4ByN*Jh@2nomxi_1Uinr)#~WS>H4bS9za{eEU9^&&SmL)H+z?KOYKR z`##rU2vgCuRoYmS98Q@k?{j@A&ol3HZ44g$+GXtU5T;NBV%zizLZO4lw<%$May=6D0G!E_dI?-v4faE%euP zJeZ9zf9#Vv<{XJ@chn>mf4#1(+Lg z<*Q@(5`<}MR=<=S2RaYo;T*67PxF}NqByK0LAECOvcbvn0uIZRT`Y-e3swWa4w<|BX6I^W%B?Ka;P6p9_wbXF%|HyN8 z1)kb)rnl=XW0$RKTHkHnoC{gTo2~n$qx*DFp-^4W9b+-_q8zZ~Gw`*%` zL;1C}V?eWOYsVvO*VaxzIKQ^`72@Rfsy|U^@!A^k)fcmCYo~&)KBW4Kr-7#aBFEm- z1v9%>{TT+&?p1#_=;}MtS33vcYHMrkBa7D7&Zmy?k64#_T3fpi{373gbnCZXgfM*r z^~H&s_nm0-#h_dNdDR_Eh*49i#ud>IK^(D6BJC*FG76Odp5wEWVHv23cBffz!e{7fRGro>% zchn?T`D^tfzKO8)BWObj!dIs{ksl#8tmyqwyg-@mwOn+6^jgGM{r+hDGN|^g*BCo> zoY4ED*MXO>4_wo}9`vI7qc<3=p6-t_EzI{3c;Boa@@fV1V&t;EgLyOTsG1khuJ(-Q zO~(FwUfcp+QC{2%dQo27X0Uq53rWigrhmk)rY@{jujSV(3zd684{Jr`W@=58|TV`5@u}%0%~MANQm0JK&+5Ef0HJ$fF;|9*I5{?fj|dsgKRPvT~0Jzh=PC zQn{J|pGX?{4l=*PdXgZ9KYTQ8;Bw2)O{V_hKg*z}l zDe^S~e(Cj!_knEWK9DluvdRfi2R(_dEUzvr@aeXE;P@cjdvuN_7_vx(!iC0!Za@I)=`Z zH@wc9UWYvD@X+?~mgi|bVBD;0d{&7+hN*{YiDRYY9g(jY@UGWm84m$R%lJJ{-vsrF zd7H<3AAI5l%$1W5Jm!bhbo)RDzajo?b^k6pH3L49GwWAr;HtTJnP!_F+C;p7vug4W z(XScsPdSrU8d&3TRMxeHn&eY2`_3$4}Hi=o~QQZ>p68?n))QGc)Y#^I(%=3a{O7HeqN`)*RlQj z7G5XVTuxT^@@wScV13hk8=i|}fY({8AP&{Bajfm-2YGq&>VU~Z>-@T&XX~iebz(|g z!C7!|PVhCO^*!zeDXys>kf1E}_-@BwFT0VK)%HJ7F-5MFY~tlMO)<56Ymy8-TY%4U;dQW~PcqbFZ|U`S!+i}tL-@m?5KQE=n6gLh{RsELOo#i? zkpB~e`*Jpk!AnL|c@c9CcS9BaBjB$_K1VjM^C)NoWG2_{Mof$`#Cja`LCLfw?Jd(g z=Hu~3(tZxw`pLMCj`>Z~mUK0Z)KWt$;3(=ycZkt`J<{{`^3@z{RQR<`K>9{e2~zq8V^cur@>04p9zwOgI>f2hesjSbNzkt7ofzEzP;J0;jk?qRhU(lWIc*qOPtdFd8PM(7q zI5zXbo69=hu zg04GE@xDY`g|FH>y$!)X!Nu<~)o(1!_%;UbB*#0bxwU(22VR-r$WJAlvi_U%13<@B36iZRS%6zT2c^@@1;wf7w%%dvB~KaapU)^lS7(;4%^+WWGf zpOuxR>K}vPo!ZQ*ynB9@d7^&QZm>`DYgb&8w>!@Hb$RksXHQ&jC;9E}t?z{}(~;H3 zJ{+L)Adlq}umex?pM1sP*c@bQlKl)$mKShXrmPp%E@Cq7I?w}NDH-kYv>s50a$~%l zt1m%L*OTkPXW2I3Ttp*A-ad`X<^dq&&^b1Fti!>^Z2e%}B+uCucxuA|-mdY+E?W<^ zUD&*t1X;$*^aSiuG8uFpMZEmFd^LOXn5w7t9_a1e+1rrKvyi^tT9>!a&(1`gW?g<+ z-)(U%D7)~HuGiaq%RfIma>e73=VzHGb{&6t4CENdHS%4cYuEVM9`kGbdw^!w`1e8B zuJP}SFh-ut^RuIflUw7j6&gBwyw9a;`Lu!fMQi+HLC>%8?+=V1<%hO1YWi})2FCO*vItN8b9N&w#Gk8c-b|6eSY>}v4M8v zzel?q;~abl?m$buXVnZZ>%)`ZFT>CJ z@Z|T;@UuQV`Kx95sSi)y>VcP;W0AK;;H7gT($_TfW%>P-9}wi(Ffx8W`D+C}$|(5u zjqw-A5NL|f=rk0Nw9Lp?9QwFH7T?x0I9Xo6VHvU>Si6YHxK9N=;FXfoJf4<2btrd+mvi+a$f+-W zI`}NhGjT4W5hHJ(#%1#W5OUZ#4eM;MFkMTBS^DLyVx8^kanP-i@jyUa{CbNl>Z!vkF zPtt@wB$PpT=4cK74&dTt;<{&xnC8r!B{o3jHpfEF&QI93bn?Lac$`0+0GgejoP@BQ zpPY*kAP4{DkpWo1c6`c-i?0pMm8wNLPssv?D)1DX8$?Z@LU) zC&wc8S64&7A9Qtm_!h$K&&li9%*knA!|=7>b4 zojldK1J`z}xD#R8oz*WTcY)4>JeEzs4m>SC@)d{ueUPn5zHe}{ynv&1!rDbl#(f|3 z170clfybi`%bhxuyWh*Xx)S7cT>2sSEXyC^Ttp*A-ad`X<^dq&u;V-HZ?G|2A6OU3 zb9M!u+VGIK>tSP;t#{fcY~DNyS=z+(1ng4s80b8Tc=_?Yn!R~U)l+*P_x9f6ZOG&EhgV*N?xGfvH7HHlsdlOyi8m-CNs^M@jW&`#`jwxXUBK8t^D}@ zUC`|K{yl{4_uG%dIrv56JLz_O{{_N!d?#+v`2Gawc6@&l;hx5K z$Ip)M#LkcJtS{BZ_ou+i*Hw=1>@Rw2d}sXC#`j+duXucaT5O;l`SHD=!uxTFd$8&l z^Bd^*gRYJbzeQNb_s_BaiH=$9YZ!hOe2(wW_;}gp5zk^g?=iG*vwAOhy&_(IOn(lt zjQ2%QQHF>Y%oFCK4 zQ=LEI+KvzZhcNBV>X(w&K<7ao%OhY1o|YN;io-rW$krrp7@RCG;IIr?53F4}roRPx zz$+zhdps?7>d?k_y_~BbK~Be_cfe;^{uSpU8Zq+rXFcdAeYBage~viqm|msDWV=fAIg&1n>!BRNynS6iZ~xu$V9UB@Ibqr}V|$??&JXxK zWbOFQc9tLC{|K5L-~WuT9p7I^I6uC>Nu1pH{uiOe<2&(-#`pI?&yVl#gJ#F~4+Jwi zzJF-&?D+l>=yrVn7~yK;JNwk4@%_)grS@%`VR z+wuKB2=_F;JAQV2Cw6{(XPv1wzGI2IaC~Rq(Ocs?LOtia>=O1h4f{ek8BT|6fPdOzUnn70~utK-N1nQ}S~(+0|}2^#&BHE`wuY}wC+ zI@UfXhdtQ5oW<8MP%&M;)Ff+rS>mw&weeNwg*>AkpGl>jVm{-)HDq~e+vV=z<#gO! z5AoBc^?h2hHiZ1N=`4yTpDz90k=`>I?Bm(UpIOFQ-pV7*=0j24(X?uM>{yt$;T4|` zELY}_9d}vgjB9h8L*A8=EfD5WWQXNxTu!>2yyoM2uH?Rh*GF*NeX_o|_TRy)`jtPf z{jLf*9bXvkhp_F_NgDtfws4U7Ca)*E?@Tutnk|$Gqfqf(<@!wNC!nE4z_g!xLI);79CPB?lWCOAcHu^9OT~(B5gCLm!S;>P4ms~ z;hSt}Y5Tf3ENwHP;X98mj>&W8bm7_S=C1j8f)pvk&JTUo*%Y1o*5K=rey6Z%sk-M4 zu?&>;*ax@|c$aJMc8W$yXfqkwLa5+1KD?c>zcIpqyP=ezl+nyi!u<@udbTs%Zn=v>S(TI_^Pvf$A00=qkyomKQ*qE&ktc&D1y8=&bX!Ld+ zVC=H>PV2rcvx$(UP1(9uN+yBMqljn6f^2yPn|jhyd#8ANM|vBwc^0sGYhGmUWzImH zW?od-VzQH>FeeIS5avX>);VICxUNrRn(ch3zyRsX^9@>sU{7p##A$nhTL`=R#8vwsRrk7R`mGfo|tQ(-H1zF68*x zxe&3DZbs+#+p0-eU#iW8W`dWmt6b}3f6-fWA;w>AE_9Iaiq|@4fu~1iE>u+EF)rzI zOzf);fiA~zUdy}INRRd_3?BwQ=RACOn1}En6L_Hy;XH+O9lM&KYx}_?5H7-Q20g{b zMG?02XC>?d1zA29)`GLztYb88-NEzVB@C>>KLv*-CRj)Anhf5##&qd`4`pk87UbT5ab~aeqL~ zucIKtve0pQKEmw#na+)ouj)H+9AS6?`1GgRaOOcd-S1T~Iy{EvyVYCh^@@0T->Mz5 zjQ41N?!-CP3w0spt?-(2esA2&qhhRUOpE5-F|bGTXECnHI~M1>Z$+N!9EWRLKaWS4 zc4zfV$qAtIAdlq{umex?n|#ILSQ}((k`oP1mKShXhO7tHE@Cq7uYw-%O35i6Ps?4~ z!Kq%()sG;jKEc<(XIY+xa}kYkFYjAbvp0{adTQ@Q-rjC+LpIMs`g+T^vTM$lBTnO6 z74Phs-y8&eoa9FzTMog$(lzI<<-zuA&P==Yv5F0G{@5bOT0e{JEbnJ60nPeZUq;ya zSzkdo?`NGvoSdI^ve05bi}*!;*6E;YKdye(8K7A|>rBDS`dMcgJnLtj3%d2Q&O^AG zpT$14$j`cvI>ygpee223x)}T-KZ|thXI+A@^|Oduk8o&`&nNX8)!%Vp0eC%$&Xj)Td^Mv=8{K2zCXtK zmC$B5Zt=TMItE<@OxvG*6Jhpql+p2w{Sd?70*}7f)!q(b@%u)Kb!`soI)t_Vv-;P2 zecgM3;|qVq^7wwEm)CvYuR)kL-QdsP#yO5B^nWogti>`7_IpmZ0?XzH?P7i~pEN&i z!!^@$JI>6H@8HaXa>SxOnC}X+Dz;cW6OUXlCPVIRRVPZX;lUMsyK8~|EFSYztPurKRXFv0CWz$ef z9{08}F3N=Tg?6~1?hBPnZ5V?#&Ubh4#_@!@`tiwQ=05Qg(C3)_Kk;Qn_l3#&j<$|Y zKF>Y1aDS*YF)RH2My`Wz*E1$wiksin)V&XvR@3^%x>l{e{mPeBzF%W|i|a}``L&mq z`haWgH-3w2Th7{VNZ$>f_P5U(o#(uc)=|}AovuOr&w$VK^ElI%C#%S7yJ8wC6Wd*r zyaYNAE30XwUa%eCyz{b5BY8}t<`3KBAMjgkgQ9rK$tzy>$l`ma;aevEeKnAWiC7of zC5|569r}WCWG0V@kNNRSq>p_W%k_`A)^dFf*IF0;jBDm+QNPN4e?nddKl&@HxNp*N zEW%rgnQw-YMxW9XVj+ zKmRS(dmuBVxs#g$i4McuO1^$xYa92Dp&n^dTj$R6M4{aaT4Ps`q@1G}NpFXz)3S_i z^Bfy?b10qL5br*TL+Dsf>!199;ezin{0Q_hm4)5&yuI`nF&EHkEo<*T25nO17>*xu zfAtZ;GT)0$!;N!rA9yT2J|KH3(vF{kXTN9gD8l(~$v&3ST$)%P^WPUB&CYX(GZyz%w`!f}durOpCr>|32vkhpK%BJ2lr zlzUC`G{UG0zKS#clol$lq&uaX3hd;6<1wdqco@jDO}?OUNxiGl`Y(GfF&Xn6X|~f_C}zyj^iR`xc~Eo3FniyzG3P-!z|rrySk{PY?Ia;{T07 zi2g_)*slJ_Te#M_Fa137-p0?aZPQO=nHBNq>yWM(WiR(v!Kg{X^G&M`Sc+$ViZF=3 z2>uRvPA|+0b>8+qc*Ony=h&Vw=U1OLVD-ey#zP`&Zfr*?(1!VpX(uMp!1+T>>C1h;Aviw zuQ=>uf-IivG&osaz+wKg46R+nWZdgQKj4*;^*o-I8FeVPftPb-8|1WqSs#3s!-hB) z(TI_^Pvf$A00=qk`Wfq6urXVftViTIy8=&b*wouK#Mou)4AV({n>SlPmNqdx0lSn8 z1)WC`Pwzk3wB+kbPkL(aR^HxKy$#ts3+d~v`&LJpHL&dwr@3$Sg=h8oeo4}gamwbY zzAHJ$zf;k-S8Z_pHS^Nm2m68vlfJkgFzx*^w(tD?vehAD@0YEGFvkL&YYs#>f4^)H zadY>}))AVU>)Acvh_7=yrE?q_47$z(^nTe!pn0E8?B7^0v-it3F?c$sB;IDA>$t}7 z<_KdvYbg4LGW+48`(;~F$J{StJ@4s$+1B6}-7h2E-Y?q*VSB%fxcT(~+Pp33b{@GM z!adzDbNuZ6GGZg$ndg#Nw{)yd85nOl&)NaJd>f!Y&OWQR?w2wCYX0|*!pr*KTrcDv z3&X?)+L60o_C*^9(#}4W?Lo&*_M;3BN1VJTr2W47gd8)eBWLsv>?hdoQDa*OAOAr)g3Q1{p2AZ$74nUN(n!yL@X}`=j^pYFZn?D3q+-=Hu4b>fs>EgU zhu)&gc_=2g-@rH6^Etno$h?VvO-29o>Nrq&^cUo&1(gLY3zs-j6xZsYFDtG!M8?Lo zdK%Y79(VOLF0P6=;*ea9t+^a=4G@`U@UQ7wGrhXi!D1&uA~$t)V?*x+3mq{Z7hfhS zmzX*pv!`wPa-4^(C*_h&*IH>@4~ZV0FpP3+ZPC(pbLov8sOb69VGS*pUcClbJ@N(-@?g*ZLXwgoJtbWd$^J3&7B0~X1-ZZ_s-y?4tA#WyH?D2R!-*MylG4kf% zWOIJA6!|TWyjg_2g=lHpd3x47bSM!k^-6eSkGyq+ysc=l zx92f+#(NLO$eat}Ic9^rZHj!mN8UC<-d?nNM&2Pp-abWs(j#vlA@3+!93yy4c>TSP zW1EM8gB&w9@0cRL<&k%ckm*;HOFbjg6U!p+lp^oo8`(|~@(9t=Hn`o)bqj3fXq#>C zBU0pcuR0<^-dVJeP&xWtya1_V0&RWX1>vkGvvZ1kmq*??Lf%!hdPd$&WNb^>HAVib zN8U9;-d(i(E3wHcvtGI~ws{Ycv9)gZ6nQ(}6n2l0_Y^H{-FIL6Ji4fSZtNv8eUUJ2 zDSM_@ogR752zhVO(l+?WNhMUnJn}vwW4*7vQ{=0>>fRADx?_}%wv?S-p7&6Uyr0O} z+}Jloe%2%J8zGMpt)6qER%8a1LT-#ok=OGXG%7-_6Rj=r&*S|4E^CNw9t}>pG}Iv1 zrO2Z_a$SU6FIx1bcGRW5CI_l=>8Tfk&>7kYOUU6nW6COP`66$41BvDe^fU zxgkQ{U$i#IKaV}+E5rG^F%Fz;FS>tD6yNsWCzxFIqkKbrVF!mf-jl`JWzne1tr4Iglqs$P-iK!@c`CF+!d!TE1IJihI#1 zB4b<1g!N+F*QOp&+sMRZ_<%qeNP#C{Tr$(Go8`D0I-A;=I+w(QG)cVy>-oGF$| z^f4IMCvDfD`s8c)ERmT40j-AzrB{1+zy7fS{!SLeB!{j&yA4}5gD652dBsj zJo3R2@}Z(dPk_kZSaMcpjC`2L)Ivb>=g<`SX^(tpgnYPY^_&}D5}8>**4#Kez0%J9 z@Cdm{v|y;%e8m~pJsR75gvcy4$W1BoZhjbPijbQ{>lXa8+@4=N;`$i*NRfFE$T}J| zr^xd?sX0P!5v|Se&*Nw3pEuW8Z#|IN;FL?&J8emkzu}QvBIJr_ZA(}jqpvyZ$1(C8 zaLT1_*sS?nNw1#v$dw2gCPHfm!s1wU+J72j!??%ulaQ z^vLtmxbCSM*8;(zj|!;dqN5+jf4&E37nyM;t_5jaFL>ky5|`}(Iz-Diw&bFgJKl(q zxe!t=Sudp{MIP24OdK5%^3kBWQl_O(EIp#2?`2ynmxddgk4}+K^THj z6^G0o5YW21B)xjlBQFtT2qqtTO584v7aXmt#c`b=GPNeI7ynW5>ZSr^vf|o{=2y=I}V;DGPZ7#$f#t<=cyj~sHV^Ejgc=B8C#z(Op*8WQ@{%a z8G=cZr^G$U#e&mwT$hN<5lDsR{Ke_j2_E_4C>58A*0%U(uDo;NS20}V^XD>=8Dfwx zO_8tl$d^XQmy6Z`{KxOb#+ydO$V)}Wj?|Z@$d7yE%LN&N$vai^=L*5u4*#_M$`jt+ zCXVatB4bl=MH*MX0bt^|B1#2@YLqhlMj|gAIr!rk`5Pj0fytjMQ{-VD`N|0SD$$zE zfBepS{4^ADKIgwFGPZBIDn-89BVXl^J7+g{H$xo9)%cZ5MCH-(qnQgGGDG)!Ey`r) zR^I}pTP zwKy%?k6kY^s~LN)OYK>2EiiFh7uj5bza`&MwW_t9=ikuUbhw?xRdiPm`hm+-sr`KMtTuWadjM`Y~ybz6#j zt4F>qLcU$JRtFeInpd{jv$tU~AIe(|f*fPB%jq5m%d`E|JUgv?+ZHh;b+GIpKzt`zwVk9=2z ze79)b4=_3xZ!X&Xkr?^=A~PG6Nb~3J6nXI4VB)x2ka=~Sr?~tf<+g~j32M7L@_Bd< z$mP;t*wYtR-`;5}G!FzaDaFtTnO8y9+IvrWHO(X6liJgri3_U9Si_KS9?e@Dt&sTslK_b1+VbPQ~%f`yrW&7ovMZSI35%pH5?EB;uVyUV`^&; ztZS&9I1$vQra5ihi@NYy#;8$E<7yAye-`1#P1&sh=i#-7P;sVz7J+DFPZ>Q+0EN!y z24aT4$uIFw89fF-$tXNgHL!^j zUFoW=mlH@L)HG=pWTscz+NLb(uH^$fqZiGYQz63WhH>OIc1_3gFnN~KF3HO~QBSb6n&U5eH6h@U$2PZA@CHexb0Xf+X)Bi2 zcmTI-@zD(d965+>;R_6R`3byYiO~%%Q}|GP?Wm#5OIJl|r_{~#rBgqzxxKy8R$DvM z3Am@FiUh{h;?Ob}RhJQO028b_ln`^Wh+Efyf+*q^*rI3$#%8Vn0%I%$hlP9$(q~DJ zDMs~}QUtW&*l3=>CLpQ^g_#&vdy>aOoREtkt}DM>VWF=UjQS zsI|F0+nQydLvxn;kV%-lSlR0-lZUjItEs2mTGfPPTD(h0gG)#csn4{1r!>|n@%irM zwM?=L4Oz#@s1X+y8Ql$(O7*7ii=S_md7;L3Jnmf3M-++IoqEo35W)9Z!)Q7}i1 zSk8{hT?yav$D135C6G3>&32>5FC^5i^yI<6SQIP}6)zHLaz&eNKjdU|rofFb_dyq*bjp zt{bRl9wJD^wWF?XY%1leQ2~}BP3gpbOOZ94A3AFkA&y65aoZM*uFS!=Kzph8Kz@!J zSLi~rzMz$%rgY|VutDa(qnhe#n}&}ZS2wxwfbos>v}bI~sG)UrwW2qpy{mO@dxZmC zq~9PV==ArWIIgaK%Gj}@zbNQW!v{~ZodirBYZS*!8Gk_C#0IB0+bbdudy06Lw0Q^> zqR(=@#_*^)xf)kM_odH;kLewL#Uj$4RfooCs%U7N(^@L+SZ4vD(ajR3;Wdi(xl=ki zFg0iX7XfRdmtp+BhsJnD$Fa4o7b{ZLdW6W->^OTueyEJ39q;U838}&@fvV+f)1?1C z{a6@sYgFE#G;UNg(|tObo(;09%VknF52_cxIQxq3m3*Cnl?C}G&107=JS34z!)xnC t>k5DhC^BnOPDJav6>+UV7b{Ucn-*7EMmBYHw$5#B_kmWoSy9sO{{di~*Yp4Y literal 2818146 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�pO<8-JJOnk%G%4#Wq*zOKS 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 LmG9tQ*G(oyb-6`F*nt~{p6kP#LfCu{CSKmu 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%0AG z-EmOlkgSDEOR!Coi2vpKc`I8Udtv%tKD+IePd>ZgOCASA{QS?#`+a=D&-q*Lx$tkD zbMoOF-y-6Fdg7gPwz}fomp`hz`j*4~deHNDoms?Rv2Nm77k%(^;mSY%`~81xu@LW( ztQYa`zH;jFHPOq4eR<>yuhkv&A)5T8%}D=mTMZt$+cpFLFZYTCN!A5InVh4bf| z1+#yceEk#OjKVR!BL0MVH6ES^2-(gO^W)u@v$5EIzB`v(g*ye{0C2vwoPcPaBSD z7x8c0+T-}=w?1^$;dj1L@W#k{pbyuH_`6Oy{z0)fC zK0W-4X;1FI-Iv$&IcWutD~=WxLB!vE=K5X#w#V1U zt<9NKQuN5l3o#Wc;!9U;ojvr`IZa!?Gx)SCEWB_uXynH@ROv_4_{c z7p}!?!yHPki+y8ygfz5{TwTK`5*HcfwtG@S-pFBA}c7Mk}&>4_T zezqLf`;!Onyzj2{!^^I@r{}O6@fwYY|7301fmhep-?i;#7ccwm-X#xU8+Z|a@66w( zy?F9}&po)utTzV_djgI93=w}qN$z`pUu<02`uR)e-8N=#w8xu7{O4cfP5k-GC+>Rt zu`h4kWyi8QZ1W-Fe_Q;w>puPdi-$u`T~)Qk(Z|n6dx7i*WZkg$kOQ}!H~olD7F@pM z(btcAAKTQ6_|WrDlsx{=eK*@}&2EDp%zpWJyv{G;5AHvp;j!m_*lyuzRe7I2KIvl| zLnPw=a_qtnS3R)iv^O96Z|JR6_g?|KDB@py;J1090S{dM)s05Ys_#xb4zJ7QFyE)< zemU&NDW8qL>-S~hBga?l5B(JJm(3i0%Po(T^ccRj>&5dYy>_!XWyP_;S&qeRjLB^|kQw z<0H^R5r4=pD{3lV9=dI>HFKvgUiRhd*k%tlVnEj0y{;>|dEmVVAH3b;#@H7ZEy6Y} zB7WkiJGcGrj=OI^t?HohTikilCD>L;#LqqdpleTz=D(QrRNYmV^{a2iv5_Kv*)z*t z?|0O#e;Io8kj2-X`^y=P(8ZT-%h{lxkcFPueB49CoWv|Beq8n@kgHV=|TJ5+urz(^A~;j@+Y4>h4v`oKkj#X_R1H}sE+N?_0!Q8 z{OwH0LBt<-|KPUu{eE2eP2_=n2FzJm3p*gIYqlc3 z>w{tEUe^9pzgv5*YpXSe+yeXDpZsL)UUvQPyLSBLmi*We>n^-&A8Z>f;!pqlrUzdf z-5Pm&>dZ)8<&+R!Llf~Y{PyROSM2v~&HTD!PM_4{qIYq;n25iA|JKJUul@apC(j=_ zvh0|7b5ZXiesx#jaeE(rQ|n%}7vDSnuoKZvv(U#6$m*==+3WD^9p+DISbSOUGsixJ zx28n=RyW*UzWUiCe|a|lU!NSX)9p85uq)zkc=w6JTL3KgmwzxD+h@Q(nLY@A8Yax^h(?;Dp|-pxIL5JgZPt5Zi&|n> z2ABsYzOf~eH*VgdhIuXR4XvGx;dyO%G8AbTG2iHPzpvKOS>M{yFfWc}$0O%;##>`z zgmp4}8M7_s?Gtlp#>1s~F>n!XoYx>GxnrE(%{ZI3dRY~TIeF`Kkys&}aYiX* zQvh{~*2%(UoKHhE-WYDu)Q?kgLS|Sz)*K$u(9w~hV#PvK-prJ85ynC~CcQ$hN0VFF zCf-x=tsx98=i`M*G*I!K6t{sDDV~mHTyRv+;%K`skF+8M^HAW%`sPTAFww~TjZ(q9 zxLA!Dhq0krWL9CVT$ZoVDpg_a;rQZ6bm5{9?Nksi(C{`ql}JQ2;7yiD`@Ghp+d|?` zBEqE`4OnR+GRv$uu>V*@<6jH4&tW zh8JksLQ9aGS)s%V`;6~ypj}U7&BedyF2$RGb*4J$C1bWp+13gh6X~iVJ1FvXWnY|0 zkl%G3P3_654jnNTkl?wRFU9(nIJomomKwk%B79^U2!q|0-JO4fbriD$9Wq*Er!PtM zu)#N7+K76rRWp0y%+zHu{fZGS?X4NATVpcu6)3fD3-PsllqWMjn`Azj-Hb=RtmDjX zj>X{xCaDKlk~lnrFrMbjhf5c%mj&~d)JK-oHNXP4w%}zmbb|QGTr^e<>RVw;Ly$oZ zb#yer2M*J4&uhW2m}uF7bRXjd70NL_ zLa0l`eWF5mK!~*qM~k>#DwJbvkI>E{jw>e^$}vVE#OLFEjIk<|V{psVi$vU970NNH zur>gXS%Irnp&X+XAv^*_T!#wf828|r{dwZv2UIA>cm<&gMcf-Ilw<6T-zSQ=0u{BHP}iS_0k*b zit!SR2=VdH8kDZLvAiTd`%#39@A1jU$GmW_xF|+mW3l##7qMUCgD22Np)mjtne5BF zhnUNDvEs38T5JoI2WJMWoVFrInkx^o+S=%o%e%QKtFBJGThfX(V|{YT245Aan=?Ng z4P$35$k+G=pFDibi}~LJBx*numhpH3x)e`ju~3TJB;xs?2=y`MsZfrw+KO9i#VxPM z&p!F7crL`#ciHOom;U(kvejArZ++xZMD#j&b!QF$16CC6gam~8?*GVfy?d_S|B++= zri^cmi;`MjA90Ls#cNby1k_Wo*9)gtQUNTiw< z%knWQht026MP~IdmNJNqr>)u znGi>|u$EBOD?_qg8OkyGLJefx02RtH-bD2+f8@jn`fQwF60lc}PM9!T%vWFyX>bi~Y4pxrg8R3^>z^$#EOV6& zVlv3i6~8Df{yIcT`x^uc@G&oDy%Giv|E=~6?1ghAvDL-E<% zSf@gLjJH)N$EZUQnA*o^P@x=yU9cz`YjB`dVWK{ngv&JQQiO>e!O6gk@CeMjhu7wd@-rlrpCPIIGVWRYmT{J#_Ci!i$&LPFjJ_zo5nn>;UXci4ouf&f9y zG^-Nkl^d!+u zktVnXy_!zXUein4u&`cBTuw2-G6<~cVNLXif%gzYx3bAVAMr4M_7Khng?blyvLE85co>r6VMuydGHxw?%ebcHSz2Golm>v} z@+!wN#8!EvV&2meX>EF`SU#xrnupklM(vcEf~1;lNeN@)RUGo*mCQIL8Tvm`G7L${ zFqC6Z9x{$Su8gx<&}2jfw;%w-J@Ox zW!wtH&6KGn`2&}&9rP$&uxa=V#Ovr-^DRR8_**7ItfcSpVT^gvPBA`PMNpRHn{jN0 z=i+mqN8xx6F?-{4Jo{96$ybZ3Yp*n-{Ym#ZSqjzlRYvu@7WA#Tj0F{by=^A zV?U5s4b~uFOTcC^;z&VHe?vjNdP+H&7xTPJ)jEw95kD_h-T9Ijy z02Y_G73r+Jc@K=Qk+0X4@>nen4@qBD5~RYsyt;C0PpK=b@J$|W!*^eN!|PU3VMt1a zA*m}ej`ERl%O80HVH{=4if+V5PH1^e_ZGxBE(*x$K^=uOyp@>ifQUH=V#s_SbFhf_ z=W6(9Pi&tGLu3C)K}ZYs7&?vmM+{o-AUi7^XRu9TlTVhZ3<<#OTuT6N%gWgwY8Xwtc8IrZdkh``JVO>iRa@HL6 zN!B6h$q?%+xLzp(IYoPl2;q;o?0R(aP(br*aa6GPMO)OaH!6jyo$skysr2;VWaTm>E0>|f%Dot|`btGY z!o`Zd3?Es6e-1t21z}k~6%wGQW$M|9VfH}^r_!hIp zk7a9nEr0xoHF6|+6H*6aS{*MHijY~kCHQ4trdP`}UbL+}@y*{^_zb~^movSG`t>#9 zsZ-w8O`4>^e(7bC0H)iNoM?e3OgJ)zMFrRi0c!)park-&V2m$j*Agey%-rF|p*A_9 zEe2huHD)EP#AkD3i3;^Gj#VMJX`Bzv#;_uL|D5et|F~{VUr_|FrkitqB*x3z6W@-w z5|5^v_s|F&WJ(i-wfh#=7H!zZ8Vdze(D7-Yr3z?1Eh#}17N14CDyG$l`Fa{7E3z7q zoG2pmJt44;;`kC6Sz3v2@F~E@yvXx>)GjM2UqueeGL|wp7~d?*5PXx=t@y}R#gJ@O z4CRP7uw~p&3MU0!wE}XkUiQd9p^;6?`3Q=SW$wa9KhC96^D?X1EBBL;=I!9kd$vK^ zskVi&$GPSfpWJb+y)gxepJH2;t<)q*79`Q3hRcq*N2e^w#~=vODa$d2l;v1_lfQBJ zrYz|XN?9@_Wyz47Vv}*tDqN1ywB`Es!ZY%!DTgc0%PX!0Nc28uGVh^?PYV`Txje;7 z?#3NF-KJMB=H(U1{z@bh@l75MP$IbxVJQ-Zq(~T&4x@})h2Ju+2~D`y%;jsLTurAB z5c&n>>W}o*_~?~uTcq&vQ?3({<{hM(_pqUy6)dfkCsQ2iWljXdLB3tJ(S$}y9=uX4 zh13wuX^y4jZK{&u!w5?$G9;zQkeqpvaZlp6jO%}Q(N-BL77w9&$7BDTinU}Q@{kwX z;r~;cJaIc$K4J(~cy>LDQA%gmlW1QllW`apIc>rkWnUk~H&t=1vagRJEUS(oS#=D_ z6%R6wD;{Lr@~ocd%2faEwF{=B=BMfBfb0xU^_lmuoA|-Bsp!5?eUty2Pe3*Y4F zpGrV4AS?yMkQ5L@ImQF{E8|wH5LVr+9$%E*|BBUGF`0S-w79%tT7lR@Jz_HNp_}q^ z%3>;yl`fHcqPBLar3>Mp?i-~M9^p&2n)!6qI^DWYiSB-Ulg|f~=%_bRbPP$+F(h?M z#__L=TVB*xD>btv0w^x8)J{X}ERWR8dsxu}91bN~q+DANd~8wbcI*e+-_a==`N;M- ziSv}S4#zk7J3>k8O@yVi7?RRrNIEt$j*g9tTlS>huQ5vwpt!u!T8h|t0n+-(-BYI~ ztu(zIZ*$a130wM*RpTfnrKpn9JBX7~Vn|AfA^GG?#;wI~8JDR}T>uK904a401wdZ3 z@=8i#xKf7I?wSLIR5ac>z&5q1>sJIBIr_;|BIt&*0R8 zb+IMz>WR#iuK~tKC*C(HSFOsoJqGfR)l?NJ@{P9I?_y#=VW-GA>i; zod*ha0n(eL)ib^ZqK-;)cxR5-bR}2o*18Ro99y@P979ra49ONMr6ug;z2s5^dzO#G+W6-1yz!``SZz5pwZJ9Ap|7t8p0_ z9*2*4F|Q@~kiWfEox+Lx2*=q1d7hx(VkD=OI+2$trHvt^UqMd_i6JQ@hU9}+8FvqU%eYM2-qoPc z=20J0)o8hv+Y<8jj^e42n9S4kk*>saTjCk+mPlz9;A39oFI5Yc1&>Wiks&EXhH{Me zKt;xVs6shLrk>a(pn%13o&{dUWjI-(Q!83EUYr=%f~p`dA7Q09N#PKaZtTcBy@K(Z zq}aw13`0^d3`up8aa1Q6$2PZc_1vCW8LHD+pi~*4P94Lfc<|RDA?N5Q1EneeQD3D> z^t;kgD?FxAYQ>P09z$}TLdLy{!pOJ`)#_*v@U}sxTJ_PYRie;RR4#|Oa+~i>l9Eb4N$K|!vK(%L%pC|LsEJSNoytJ zXsu*ihH7;T2u$+`&8b#fYSl_3v=sHrAugd`UIC?Jt@!4v6c9sFKnzK1CF543d@_!m z;qon3^qRb)*CRd#t3SZJ{M@S*NUQJ&%e;p*d)hGGEiQ+Kd1f8bv|GzS(_g<5`$O{M z^(LHd7Wp*YtZ@*Q6d*%VfDB0ulX28A8JD4kb%B8Q0lQPf`fD{TL1-!JmqT3Aer?b* zp#v-dF(d`Vkkl|4w;JV>an!I!-s_dIyLAC5)p*p4)y0e6@e{*DkbfNNt(R7U16i7>|7(-Hm49Tf38Mh7vl5rWT*isPi`l(J8v)&3!NpLA@nnPsN zG_R1-F=SIMAu%L{#E^W}A>-Dfj53aDcJk`@5DXQwm*<{7VEN2mr&sk_J~R9Ds_f!0s@qp$B+~%L(;g( zI2tz@r=4B}+I4w{+e?w^)jQ`syAQK&cQjb%aC>&BwFR3xhOIZt{ihQtIj*SK6+~52 zHT7-}D;v2Ek@mj_;&xE+#~V^aXW*NnnF%JPXc&^BVMywmjHABExQs+Y-`;D>kb`v< z4zq#|(Ik$7G7wM!NIL{1yU27!G#kuH5iul1#E|sqW!$qUf{e>ZM5qPAt@S$r1r=-YLAS|NHnM7_Syi^9IF+L#w*Q0Mn{9T zQ+;UI(-qN?5Qh{ILsCQxN$rtw)E*g^k%&&l?bQJyIvK@KmqU9J+^P%&v<#G;0?Mp` zg&__pB8H@h7?L8AaTJk^L!Xy@248pVb((%<(w3^M+3MSCs=1uYJ1b+}Lz8&C!wWSJ zW5x30$l?m@VcE(UJ{z0JWnIa-H*U?+3nckkb)+-ifmhJ@rZqWZR7*Q!Ow&CMvF1g7 z@_^vYd#lJ-l^xjKkwJF0JK0AAN_f8UFamtB>FQt?5IKmvKKz~s@oF$GOtl8;8b3QsR;b$-MpOX<|vi#75oFAdQY{GCh>eW zHX@U1shQu>6jyZ ztCp|n`8vKAzC5?*BUL?Ls^)!$GRONO=x>fE5Q)pFy9`5_L>%wt)<26WY_vkih z5!eV%ekW^@wX=X zA(fZYS}<%{6W+7Xpd$GcsSc@KTi ze><#*%R!;>NHUf&-IF+U!0Vp82fC(v;fLvofz#;pZj z#%VnDu4@32&MiYy3=GNDq%v-m!foJNJThna#Kn*l7emsem2pp^3^L9fL1o(C+yF{pj{-USo9oaisLNs6T+@92 zAA8>dA7yd%{p3OjOC$>}7&Yof7omX4O$)?JkPtuv1QIT`NC-)QKuBV;QNWn41}brh z)mB^D+Sa!8?%Uc{YcKX~5EO6qg1u;Mt8HzIuhx2LEn3@r|NoqsXJ?Vg9cN|Dgm2;a>O z8qG;Lr)HK3M;`jQLF0-T&yKG3Z@H`AN@#j=4KGd#RQo(9ugA9LA9OxQtV3*6VO-mSMbI)LTT8<2pfck>PgN7|q96f!K67GlCCV$!P#jlG)CxQY=? z>qOs%{w+KAdu16ru{s5q4mbob?FI)}*3RP4P_A2bj!eo}F1*lX3rLvl-442Ue~@`+ zD*V1`$zvZYs3}a3%>pW?$DRdLl4JqZ*7xw4g(i1JwFr4Jj`<7X72D?Ul+5jU89@Xc zgu|89Nq~^+2+Q#XU=HBZZY2lI%biD)wResbb{ zPaal5+Ws2N!XDI9qwSf|(TKs>)Uz_`i;i4T7QHy9=ZVVBEZ(cgwACgXtiwfzMMp-L zW|s9F?98g9XEWY<9jRwIH@O(O@^}1d@H6hK8Zos-d1uY>nVH{{#NS-H$S}7j@i(K~ zYw-Ize%_ryOp|GR3BO;aC?VX!nPB(LMg-cSEl?S?b|;$eop7GY4H5i)3FVdU$~=A# zW#-7w$)i((QcGiF_d|{u$GlRKasjt%VnMo`tq%c`eik4ibfy4a05~167!cpUiYx@2 z0ayVz3vfALG2nW@O99!RECOT~TmiTfa0MWj+4xKz@tI@hYp9T+&TfqjcW%>|&q;?5 zeTS>#z{GscD3>-yWB96=OPlP{2HN(Moy4O=(6M%houN?vv&L4goKQ)bHLIU(-fM>) zRGa??N-w=5F=_L}WNZ~$H!?0XtIhMakt4NvO67pt{Aq5RXM@k^$>{Mkde!2Y1!?hW z;Ven3=YDf(|Ev>lt7ogEGxgonMyADPqDYVxsT}?Lm}9X#ccq9tlU4N8Y8SdXR@zzko{i zUTsHRkdEEas-&BFtOEj;PGnKpY4&enbrBNM2C+obb>eiIdF*Rpm3artRF~>k%wGu# zG3h9X$$mkh9n!voT;0C`(RjDM+ZKrRN!yHvaRXm7S%~N@t70PCm>2Ja5{pFiG5LMv@Z&6Km#&Q{d$)wA>FR~evDnN6(Ye1o9a^K_Yj%cM>7bE#7Qn& zhzVPWiOwywZj?Z11HKsgDn#ME7$5UDI49nDt-Vm+mWod}nw^sOw3B!oV7A&FdM|?tibN1-8@QGj>>?)(c zy6CWJ2P19SJ-*yq?z`c>eN&TPHGDeWx1E=V$%M_kQ-Bx8CFkLas+Q8Kmhc=LcdDw! z1;cZeCYUy2sRn&w+OXKES|NEiKNieky5t?tF`cjJ3pMW+0dnG42FQVF2_QE%E(T;i z`OG?hANVKpVq(HmVj_e>yH|(fhS+@+E>12(_!-B_vz?b|b?`jTGn+8)AT8(e0X@@FwHG6F)1)H2%+U>f+An7 zDMa5&iA!{h?R*u^59}g^nNa*zjg{M?BIUsykFmJ$f^v-K;<&dJd9EUny)^L2Yi0;c z_RSi}3VUP8N?cvZH|hscR~?AZJ0Y~|YJs<|;=itBDlMLxLhTiKYL8sH1S}C@B_?%8 zEWYj#&~;@l6RQ+P=~}Na#-Z)qZa`(pGBIZY$w7|V!}~kayD3K zKSOw-ah~KTMk*m}K)~c|9L|82^Rn?8_<28ZX5L{#pK~NODjv?hvZ}70O78%~FmXg> z`d+rp(QGRQWWMHVwy{$YwhTI%M!pG zK=%7mS;VBWi20l+weN7}=Nj`lFT1o?UE0_d2UEE-lPZerpKRw9^<*nd<{g$IYH=LK zR++cOzO~ig*_`!Nq}W;@yA9)*w)ZngMVf=N0hy-p?&|qZk zXwP=q&QR;VV`N#ED?C{64fH&5K#ek3EyfGZ>V2qV&)QBgJ+z~g+m2l22*H;*{+YTr zVd!tno3DY$e%jl?FiysC7Ji?NSI_(SG*4M;^ZLXNMim0_z@h1IoU=YN!$nzBtEDPq zs_3sHaG82V{xLr^$8bb4Wxp<6HWPLLQUluo$ob?>K+bhK0mlMH0a=bNK*~7YLp)nF zCOgeZ^C`(DHe7uyL}-+3q5Vx`v4epFz4zhMh{^lG8s?0SB^l7Y5B)m*-sja138N(Q z=CvW7s*Pc%0W!})K!&?sad)N0q#cmvbAIj8p4S*S3AJM|r?|O(w$3xPv^hEGQ{4UH zs&ytfiD{NHZTBwy;p#4ztHgw>#N^0}&|XITLL2NsqE8^E<$Z9q-v?Lw#YO9En5);l66CFWl z>`8@o6qaMYgve?<%(ab~gItd37h{jGB9qXaGM{~Qr)0e8PCxB3mY6V>m^6H$vEd7i zj2+C0jPD|*W)D}H8#;FKUDUG0aXHKWepB3u3~Q|`W}-5muP{qq{o?U9q}=HV z+g%P56AlxTkIV|~Fv={n0h&OsM+Dv**r;F8AuVS_QpU=@WQ&=xjmlgzOwmAUjrFb_ zImm>yV?HR3)D^M5pA|{L?CPy)Z_B0A0v;i`z0}*&_k2a&;NGe5WZ@pb8ks@QP z5xL)t`IgHVV!{|=viU@4529Q`8z5tDMFid(yKKhXVWt>y5)`*f$7*G9bkkd<$SP}) zl{uyA{e#G#am-h5&FwCiS;T}{#6&?68Wj|w4UkzkBLeS9D4SXLB$Xm->D^+LMeQe} ztU+@CjQWAgC}P4WV$$4%#^xrp0W#`yh@ifYe(7_)_e=dB4O5gaYaHx%Q~Yn2X~cwS z#N-H$&|W~9g@&_DIXe!vpThG{J01#;hHjCKjqK^sy-Um7`&#fZdrC_PzvR}<@$jKD zT7=i+b3gpN2MWwPoV<^*cpN(h#mgfvZe6#owz;CQq6$Wb@Z5%)x~hhhE|jDN;$J7Z z>ck1!UL3n$QeuXE+jGmLrt|hm7Kh7F)#|&=mH@-R<~o)m21Hjf7?d) zDEz$#wiqYln2O(-Rx^ohLyf76SawWCPFM_JezeoJy0M5^E8b>hg@WJUUa@_eZYGMl zprJ0T&l1-)Hpo}aY2q{GGv_W?nKMjEfGi8`drW_lrjJDB@fmj#MQDP|13U-tBweXL zRh7C06k=k>BPO>P2@UTkUpWaOG;Rx&aJ^UbXnhO^2W?Q-Fv@23Jds*WpNIU=^;XlS zbhf`;(@*1F@94}pS<}<-o07Dq)htUZ!yJg?>f7s?Lak3eDz$FP+FPx&T&dJLt!Ady z54yEZOlqB&k5gtxXd#XH)TcItcD_qHmTd1)l+3%rY}?+aq8_xf8nCxQXU$60@@~~@ zQp-ErWtmA4@MzlIf9cj7F{wFXKIbWSF zpn0!MFz;|x;rB_W2z|_*mey`=ys{RZT|#qW^4jT6)H8u1mnqZ6F&|!o(66ytLI2+a zGJk*2s~4bS#8?RmF&WB;$&6fRk7{3KUx(6`Y$zM!8Or)Gn7tp-(;4=82Qx0V(AoZW z7xy6iykC}Lob2MJP)?1gxa-`CwO+h%*rTtD- zDF-rQ(lChm)CU=b#*6ucHeO@H)!{y&$^F@{&0L;&&3S5FadI@PbGbe(ipv%cW*o#e z$dN0eGnbY{=UFF8)1pP0OF6Xh2fXrq;*9 zi_7M8w!e`PE<@gdpZDlK(_|WR@Y{L>shHc)(%M`*r>d!{x-PsmK_HAULM7LY(h`Vd z$0(?3(3!(zrhInIuTdf7AM?tZrxaIcdZli}YjoqS1_axjCcqN_v9zw1-?4EaLKSEm z;0!=Mv&?*Em-iZ5&Kd|!^G|&MjH~n{OV97-0Qi!sMYeNd($0zbINQ^-$2BHLE+pI`mo}II z@KcCoy~mni8U@?fO-Tp9I9r&-`8YbeWg4XWGbAP$$_6tizN$F85~Uy}gCa3mbQaq4 z+V>b86n};6d5z%qpm=rC29QtSj2vq#k?+deUA`^3cJFSMt%ugo5W z#@VBU>)qOOa@<@9-!$bV3;mc78RM=QPQ4SNsk$0$f1?^x_5B5Yt2{$9T&opf*O_iL@I%HAKanj-Su;qve zn!6JLDJABd^$3@{#Du%Vgu6l`cZHVZ0&D$U7Vunsmxa9FyZ85*@9lS49zzbddD_G* z(AdjSyX!uhZDK(8Sz8ro_SuJ#vD(x>pQXx!UW5jY>G;w0_4zE8`(eF4alEQ!_FBZG z*COU~I0YBlbd5ML|IAu$tD{^`cnmfVV#fc+Z zaON`ia7O9(T5v89?>K)mOpSxzkt{erL>TYtA=BjS@?!iRj28&Kkv#bZu>okO)=id1fT69KN=9DK7N1s4f6b+nI z`1X}Ux|-5n8qzYXYkp7RYwf>_?yX$?!TU0CrUlpips-oWrzzhmm$n|*sftE%|2ux$@iXo#8nK%K+c=-WP3Maq z|EA;VC!vuw=krPYGqk}Qi8|amLTBRV`{{ZU1T{XI?XK|joy-&Sum`{GWQREF6XlJ~ z;ofx$PYWuoZD}cKZK#GprlhW+hL4Mz=U&lTmAF!2R2X#HC>1wGbi_0Y(};GT0YfFe zA4#_8wB^|R?CpU}?>wf{l=T&tgdhG*`YppL>G(m3*9O_ppIsn^6e z968wt!HhJ3_7A`-0S^O40N)1O0r*eAn*sj?_;J7x*&!gaOHQ_hK#kh3>9 z{FJ7D$D7e7+grJX0lRlLqlM7t6{{}oBrW1eX$d0|49o?B7ucWm;yc(N-c)3DXfEEeI+7(2ftspV-*tVcz zhSF}khDHGG857vxM3VStJDG~g_Ol;9?-CN@q?UCpep^n*KXG$X*fvB1W*>8;ptg-A z*)=!W7qfyEGK&7O|1t*Af7X3rLA@63pK@y?8}k{V%_yz8%171vh6hnVQ@#N@Ic zp*^8}eQ1ft&N)B!kr#W$94bY~ygKJMt^kNQ%UWdbAxd?Z!C1tkr=>}E8HiP&%%ld$ zd{EV*G!$$4b*KU6tpkwldIw-G;7-8P0DC*%_kO%2)&gQ8*Tj6zPw|$}p46BeqY&E5 zF6~&VwHuHt?|r&J~oB43xa;*mmBnnmgaEIbu?C#C*;{q$;#uXiRK; zLVMMv4W^gcgIK&encYjxrqGGAdMS_cRT;O}KGAa^OJ&wH*62)=O-=y&(|gTU9A@uD zOnNV3vfL=NL)y2mg)+TAj+^6@5#qhuANK-sx6#v!od+6wh-vt3J_G;6S-n{Diik6r zCJ)kwRsg0cmD!qi4r0Y@lFqc5jVB+s`>Q8t_fXr)n!a?m(wl{W&w~MaaW=6*704XW6riO-F z>9mGMO!_5aK6USc(0;@86%F%#g$?HnUem08>7yVX>4tVc!VI`yIwh`O>g9fRw_DQ7 zhU%LPv0jNYpx(FEeHp%VY+-cXUg--$j`KH$S-$hxB>tio$W1nT;P1W3hG~Mm%F^`} zYqp&1m;f%yOzmq7af-kG>@3nSJ<+wm>5K{XGxF%(&+hGsn8){`C)$p5*b`k3$exEf zH=n<#pV<>F1GA(jA|^c%F`x5}_8qQ<5TUV8l5l>F$*fvvoK;J>@@daPlxMEa?p&SI zx!T{kI@q~7f9L8z+sV*;e zwxe}&h?XwO(^T6NxL7Z<6_wVPZTP+4Gs-bdra@!(nKVy`W1l4!klyAX5-mdqwL)dx z=*T$;dmg&j^)QqZyNtwNMO`rOMvrWSTJ*I; z2;yK_M`5+m`e6Vei7iOQ!B;B@P8H|hoeF`8=c(9|W+hu0}GT*ZRa{z1bzSJ5qsWoC^ zeG%HrIvi%5OLC@l?>M-;Jr8E=?A&|Kiw;{ib4vI)d}pa+Z+hW+hk*%Kz&AN*1Z$h&wK7pV2q6WsvchAJ{A1tRhHWa-ma|BZ*mtj(9Io9zUG5gdg|+nKE198c{o-U7Qaf)z}fO;cLjUI+x7P@ zEPf%0zrC<{dlG+pVeu{adoRRdo|uO(;dc}l784|zawV>h)x_UuiGDX$6OlOE$QGRo z0+xLZ`Yz_Jo&>m`IkKP#$x{m>&j4Nt`mX>ZfWHRZ0f;GxT2Oor@Z)&?9pG-jKLBz; zk>R58b$tA8r zgM27o3`GOx8|A}$`IpVN3zLo`$_A;A@mhMAO^z9m`^Cd#ciRkY07o|a#WT;T%|XfChg_Z!6P^*1WkaDof$|D%;5_>b;_#Zs zZJr&KQ$GFTV!}b6LGf|B%SU3uM`Ch^iO^mE4}>;wK7JB$c*jwjk7Y)YjN9;QExTFG z*P;%v^(Mb8XQ1u3)8!#C;UO_;ze0N+b?9_0nKeo3WgO>Iyzd85lu zV!}^iGQAPn%ix93mT%0AO+e?pSu!cDYtf`|D7xG~ad~iKTE-Y$aGg^ocU@yXnrY2P z&1@B0ak4wrY}NLqc*<;bJTUIs2&fe?nYS(ht@j!1W$>lruutcm!7dYWoWDJT-41`R zg^_V`=%xMt)B^ky$A%HJ2)Q%Z6u02S*@j{kMl*q>`qyMq0%RUIdxdSzsnK-r?DZVX zQcr;2xqy=ZIg4e};w*Ls;4HvGK+bY6(f*6HKg&jcs(l|rIx@>8CQ~Y6vbHL;Lpq$h zGvq)CUv=6h^mP$*bcDVNx^t0#^*-ziUJj6l*Wyip#f(Y2*#^;&6^gv53WQpSk9Ed7 z`Wurn^}gNsd9O=goQ$IgzX9oeM_Qc-CMtZKCWMe4oiPBilIJUm{A0eT|FHoW6UEDz z=Q6La0J2j53OExGXF(&g^mCDZW)18{V5vM}QhCH=ToKv}I-Jarg~mCuggchZft;zRm5J6(5iO907MmRNiC$i;lo$j`i)n(oc~_Zb9| zS|TR3M9k;>7Hlb?WzT=)XviXFtq8LOYE95)D&vy zig&YyzT(ypF{vS9KH4`Np|N!djf=5DJM7Yqr5f6UTvhearcyo^f-h`%W>sVD4??mP|dn#}?Xegsn6_4sP zFI5%Nn%})wD&+UviY6u%O-vLKp-~YL8utYVjo0-E4HX?N$%!t?ToG*x<#YvR6h7IW zGjVUmfigV_Ol!}HW>t2U___Q=3*x1SKX$^R1{C8sEYTSa%{u{@Al`BQW&!|JPQ~th zUzWkdFnl*Wy;sGXp>QJnep0}p4iD zPKo)PH(lD>8j~y7BplnRgzJAhU55DoGwqZHVehwwOzl#B&q`{@Ji>x@zuKdj_XUGv+|7-W1|5)vQ5;f=j_L5z@$0t37!ih^g-P$B3wMoq9o8lL{2YOCKsZF-l1?b>|Q3~h1C zNOAK`t6JmesB(4bUcXwawHTMQemT*xO{>i7U^SzkxwT77YL}R_RiUx13Jq=b&63gn z72(Wj-7jTCOY*w5^z7(qoAOdt7uVDsY~Pa&df2{qLNqJ7h#UAG$jlyQ?cMA6YueUd zR<7PR7U5+@qzG6o(oEiCm%`U}US0VT+Y`8LET{f?aT0%9SFVTuOpk`eG?5|aQv7<| zFB`6?THDfx${U1W^VGhzDq>EE*|o^DxC&w$$SbgF!Stb-L`DKG2MhwP1T5Ci%-aX> zoCEj_0*ii2Olpys7#)O0ql3_-7SqC~VaW<-#Pif9%Sc;xk1zL@Zq(dRU5R#Wo+L|P z(X1PAW_@Q)x>cc^?ojDw%r$Ts}E)y6oH z33W7L?#V#Jv5{JfT63^pHlf-~Hj?hfG#3mtA--xoPhn#$lK9nsrp;>PqS|y#Z%6eo zKiD@Q(-Xk)c*gp7qzrHeAgk}U2qczsVxsgClQmzVJ+H&Li&MwM=Sd^T)dil$W4cgI zPkL!QY96A`-sd}`{0Ql~K5HV`go7OXgUdl;!a-tk@wU(&)!~jU4&H!V^>u{!l{}X- zN{;Iqs+zZ6T;Eu|Nt@NM!`M(#km{!qU7x4F$<0G9H;D;1iOEr4q5VRK!^CX%=(N`3 zc!`^Qqa5Gc;7y(&WLwuxfXb-3(i(86CcUCC*0y)so7pDJ-kXkH10BP%>ED9ig&v_Z z@0b+S58*UuS}oe;g$X z)+%keOyxrL09ts<43 z-U(ICT#GYRZcT=dM-?*wC&TMu;3}`%R_l<+vXfYckEtjkyQGOA(3$hWK)qIJmXpdF z>Q0T80P0ela{ys@RGS$71;|Q&Lsj|~jY<0>&F7qj7>Et$rGN_asRO}6D|KlY;(1S* zu}Y`%C2NMq#q=fqwgM;xNBZhDdnMW6Q0!vl7uzx^##I?aL+>zOnZ(}~nMdKj)gv;D zlWbgr-+;C{sNv`6%Z%5S&1VktbjCX76$_TdD;9WGY6I^;ng)L#AjRS^3N2~^F%b)5 zvNS6+#w9db#DvC^w?dob(x}r5js0};uTb>zogM6VVQw7kcS)twF#30IoyH8t1!w!) z5`ad56VQID!LDPR>@>JhW>(Tp!(M8)CTTX=%+ah4#P;sl43_3fL^8rm~@-J6vh>6q?^Qmp_LR$c75ZW4z4R>l>TJI9l+jmO(Ij+pn zCALMt9#^a6aDRy zQ_V@(*f&g~58@6??uffD)A>BI;zYCY$!_&Mljwu4kL;F15WQ+vfPgZpP#uWhKv%<9 zwBv0BbSQ&z995`*@R<`ZGpgABMqtLnU-e%)Jb>0PMZBnC{un>6U7l$&4d!EKe+4S# z+uTtn%4lGTj;(!~!`jpu=*(elV+8RCOp}CC|CxUZ%y2-Kf$p0aSqSe0q~LrTkQ?y6 z14scPy;RdHG<}7BzFa@A(a(&N?~%7dGs&yn8WVd2X+CE(azJdjbE3vX2!%!=lyDS6 zp-~8h=22>nwOyH``&DCm;JJD5LYMkblrBS&B}@Yv zia6!@PYpz4lmK!dA|?Y7F`qLIA||wn8uK~tcWH$#t<0rWxU^$@Ao?%DJcHfUxb zIts_kQXQJ&WG8WG5;MtsJR=n2WE^wxTbxu&wf0|H z)*&U6$PU6XtXzq$s3_@DkHS{E{&okv^6db-A^XO zi=UgAqdqrLkmPd{V=&p)pPT5+s#KO+PPWYlv6IcRPeg6@KB-;_Upi!8Iq#&pOw(sT|j8(B5k3~)|lLEAvDUJgrnREtsFuZY0q<3;0qO;&2GT2zcu9b- z-cCV}8gOm}COgA_0&D_)v3)Pw@nqazG=f@Hj?Ixcf2c9%MMaG@S6)_=p&KtWcjwPZ z{L{5AL6LkeiN9&Y)Gjb`ChU%4o|yjs;P>J9<~q=?U@U0h=M)lpb<>%k3F&Fbl}OKB zxt7JbXA9oFk6)+-JkuqjxDLy{25MTjCs>l}rcLP2E z_(?!6etrs&y!$jDOLz{LDPOlBCYR9=^Eq=+#X_5>F`rZJ(pI>%YL~X&rM0-Ut6Um( z!t401cWJk|wA)=8dH~tKhn86QpBeCHzkO zyw~S2O)5TB_>GB|@KhEIXU!6MzPNT>V{>hSRGX3@axK-?l5?+L!RkCccF!2+E%Wg+ zj``&vW6zgPPM7t=(*eiA{|vxO0C_(!t+rzUS-vv?DTUKB&0s=I1`}fPEi9o?oe|o= zBxE$d+1Qoy1IkEdoQ(VcGLlUhiTdIsdt3T-m#N@(wubjYq@&T{{A((&I&-Fuyn zEgg3c-dLAvZ=&VJGPm?9FDIN4>rE2vFU)@`{YhUEb0MTdlv83NF~nqPQD~eB39WZq zOE2Fsc#roVaK-AYo@vX);1YEx?mxJx0RO~sW}-)l0Zv;68$-f~1GZ}y)G}htj{9eU znWQ7~OnGbz4EaLoVgDG?!F$`6Fb7$awEbtdL>E=LSPtJ0Xy+2YdLTpGTo*M?7N z^+aE59R?}NfpU?9+s1iDvzOzUoI;dy-Z63C!~-&o$luY^o~J%2+!gp_S7zbTuAFOQ z<5NW_4_|g1iz`oi+E44s`3%dnEIR4B=&7BPPE>cEW)>c3dj(MjE|2c}pvnO|BpJLu z2rRyP+QSI6gOaFRj)qikP)81UpcH&4m&)1x!<4Vm9-Nz#_-AVcpF8oGI-Pm{X-p8z z(-vSS@Da}V&kpd(&wpy0<->s9kKQxS%p+%W8K>c&I7@7gIQT7Wtq<2V)z|i-B1!s; zHkh9JAQ(n?u8s2>A1u#z(8)DbH0sHPoGhj4)P$dLEDMFzUJ&03l?chYUxK_E&!`sX zX28*a@KhI7UkkVv&pQD(0^R^fp6&wt2;fbC@ zeltA1oOy>zPQl6eCyteEZKq$*kT`oYK~ag27SACFvzwlERtG(ps%ye_Nv6%cvvyDN zi3}&gu)6`7r%wWsxeHMU*&|C#_Q(?RIrnPc;ZC>4u-l;KnELQn1R3jV2mO!}5kMRn zUmk9*Ygn(he#=7&eg41mthsaIkzF!znPMVkn3#0O#AFA(&>q#kJ~2K(UX|%GX1@r5 zV%!jeXy}!=CqVyw(%Al)-smFDEcIRw5(TmQjL&Oh$e{F>fs` zyR$QKf406p4$YW7DJNCQ8OWwhhXBfX8F(A0-VgVgcSgYPt)%Mb5q4A0uBoYLtiXpY zQz*POcQp&clhAJM>)s|y*42OJ&8r+hjgQcC1R(RA3rHqbqR`T$i3t;l$^H_dJ+H&L z=Q;lO?{?mgB6+`ZRs|Y+!8Q2xdkc}h+|ujFoKV$Zw01_$``BW1w3k$BkhY*7`$_DW3JD=|6vE3{X& zZ(qm5j%;c#tb>L#MGRq^!Co8A4eJ zG$D-AmGY<4l?h=^W7AeONo5V#>MZl@RcHC7MUd4O7Fm{=TAjTHg%@>}m^4#jvNc+0 zhY?!=^&`zYeP$kUvwKr;jElvtmvET?i84yL)*Qy(oZs9W45MB}az&m4Is zQlRT?C=}b*btteXoW!J=5c4??<6WUWrZKs9Q)s_+X<85ZUvVOTZLH&r?dk)gV-G3t zc?}}5_-rcA9CBpmbG^$|V!~BoVowm-qdFXBa4Yn+>(hExtXR>t$giZov%R>peST+q zX=i&`XM06wdr>9Eo_(|q+=!?G$b;i_DGdLV(AEGNca}jk-A;& zO20bJcxcG?%?=8VQCHySJ%`RT83TLp-h{d@nKr#<%yMSQbT76trnvzHVq*&7M>p1y zwO^D$eeG*JAgg5;GAC;@#AI!TnDj(KV^1WsCFRSO<2zr0Y0u&-h|w2Ubk>LP8N{4E zKY$n=0jqpIcIeEk%8$j3Rt7sO^LJMA!-+%HhZAW^b@(CSvgpNuo+mm_>#WSo zy=UQsC1yL&GVE-7T*<(?nU_!KToua8{qT?ZPD2hpC)%|zt?e zY?ILa?j|9 zJ^SXo{EYCjH|LG!)hqM-;6&cUdBNxjkv4zq>J=&Ve^Wk}>*R1H%NT@b*j!wuBghVWt)T204Hr)0*YTAj4%J7351PE8|V+1R*g9fN|W+%7a`W~2-7Jir?P z>j7^9q`G%AUUet;`}t=BEZ`LdAi{XfVTsF5sA#3K}>eJ3XQv5g~p{_p>eV&v{f!`jZ0H%PC(k*W2@C_2Njb~BjSMizBTPS zF&(oQe#WVlEb{h6#@ zt3=k zSOzxXKygWCXGwNvNe)gDi%31d-O!v%d>OAK7o+#Vmkt4x^NJA$QRQrZdy#3;6&GcYMSNq01pkyLe6OD$JB8(QkZbywD^8H-v}8xK$8n72G+ zj{UHiG@?QyXW$t_vTEyJLSaQDi3!t*iTPD%lmwyCbTe~y&NU-oTixhPyf3!4!DiI^ zB#~PH>1@uLXR21%DCw;5aMrxTb?bp1z;0~qbF~tsRGoew(?bzY_R=%(Gmd%VWRT^V zq=`Soo^7H(0vrZ-FCg>&V?c`cHxO7Rg~Vi1NKDo^g!a4+N0G<(R#!~xDf|aMM8(35GcyEL&f6WC24MT!-O+V;%liQg#>w(>`TpEkcVuyQ)~q!x z)m8OX&B2=5`r0s7mw`wnG&YY*q3=$ZpisE)Mkb{jAtv1jG1YgcY^q4kPjXR|+;f5T z&d-bCOK0 zE}91B*=mN3M&&?o(LzJO;s?+gMxmYEx=5nL;x(7UXX|hVh(t4l3__fE*pB}84Eq{* zUgD_%rpXx2!LM&kJ6;aR?te8PYw0J*sPrPlq!%Fu z{z3qSmZ>rFJl@@pkXfp%e^VH9`wNA|hm$9!_n`9i1A8Pc+}Rh+UY@{>q9XO;Cj3`o zp`Oy!f041r;^I&qPbw1ragLy0V^gBTEVqZSi2t;c4CUcTGPI7?}ZsvKYX zKjWBRiYd+m=e7Ta10>kmuhz#nw>h8)(&_9=vx6R0Jj0MyreTx3ZrN+#6*K3 z=5t=vzQdJOL1+$@MfOBxU8vzDW_FW%4^NXU$|-#OLxHY&Fzj4&95l(jWv(q~OjqU) zv9U5!S^J(x^Z}(c#4DFINYJ<qvSmKaG?Qd+VZLSJ8Hh=K)gu#_Dhzp`Spg>rYMx*AWp?x=LiQ-L^ELIq5 ze9P9&YhlueDX3*8GQcAIsQPn;U5p>yiKs@xlK@%$&=Dfk6EHPUpQS$)kh};2vRnm# ztoG-SqV#ISq*o&*tH46zDzMOKLQLgM5w_6cOwm4=?xy{v@P0Yr_td8Dm75N(loNg{ z-4-AH=cb;O85cqk7HiqEWy`u2Ym;$facATF&c@Qt#Lco`AY2N>t>Hc#c<*_kdztr$$gp_oBY+FUQj| zM`z-vzxi@JJAfwT8}D!L)x87$-mA=+XXf$4_$?{GKXKMxT}unJFQ~W4*s`K7GVk*s z0tC`H-H%z9-z6MGFul`!^9~^M%J~zU-}##U2Ifi3|33g>#&!+^mIJ;8*a7%9Aj|eo zK#Jub!93YxOHB6I5|gD(p>b(bXc$N`U&LFAMb{x%%tR0(S-W8xB7kzNcsf3FXlTK& z(9;)~cL?t~9sk4?YpuHPsf`JZW`{1owE6EK8hdJ!Ftuk|Tkr$_m7p`4KVmLJ_$NK5 z`5$Cjx@%(6T@&*;cOjI}zOOMo;Y?XmU%l^myxIE#;$-;JAvxv9N7RMefQ+VS`<(YKc2 zJH&ym#d&3&7)t5ye$=wtV?A46ylKS7lmbELKoB#y)~Ec22S}Haf4YGxJl? z`&VOS`)#W!f&_@6tP+>3trC-Nm6*>dL&`$q;(^dQUM}JRoB2DQ&E4LOSfY<8>FhW> zBzMQ1c!vHbl(HY-Nr|=t%T@)1GxwguIA`+^4)%{(H*;1v2U6E@UwYx*w%1-7(s8(_ zHPBTND$Bj+z*1<2oyDP*DqP~-rYRh@SfMx)pD7@o3J7r?>? zaC4X0&&^@spNh5v*xL&GnES?VVDiQ{fo;m*yAK1KuEOD;YAo9Ujr%!}BK)#7fsKXX z%2%QlE2%$6RcQ>j0KVVT{W4EX|4IBVqNItV zc}SW+OTPdJ`aO zByu$%cpK>gd>rs|fKLG419%XSW&Z^ri}V(lA&2>i$zgtCvPvd2u9682JF3bK;VnmP zXP{1!TmfOzww+f2p)A#UYR0_7uBtFrGXvB7`m;0HQu|EpOtv!5d{N7Tz`KLxpP{`m z$RR-H_eDT*GaYS9loev4tPqo($U^(I4(D^0lt(Yi>3As(jW;uQC!0KG9WSle^p};> zdbm&@os#kQnQ9+N+bPkK;=%*rVhj=!udd@i?ZHKe+8E6y)s5r5x-*{Xd2I~Tw4eqSy}wEG7Z&*Xc4!{{}FK=jQz&x350ohBKwKR! z0gFAJ3S9Msudp%{V{ zR!GPsXZ7WM)YP46N=Vr9#lFWFPY3U^VAD7K%xYls@e6SJqt*=qYPS{j!hjRS{{p-b zP-pIg>fKL(cCEsw6P~7g?*%6P*3W=_RQXaz5$t!sM9=%POZz*pQ`Niw26l?Vc=RD( zVSZrp?#aNYHwK*Xz$Dxh*O#}|o~+*BO>ZXw%TklG6BKr(8;+Mi1yr~$m-bO$*Q;=! z19rUf-Q)UV4}&vG(H?ebuL6@&`Z0b={!RiWI}34*jHaCf>=u>hbAiblCBVLplEMZH zj00!DS?Bt4NFYb{;AdPLe2eiQs)Lvb7|#5{9)D%Y*5kt}ggY^*f3}ML8T`K%rLp6G zQO%sBtNj)HKa|uzrpWNxEw5pUd1n5$0B*KMgXY?*aBW3Z^ZMGbQeu|RDOQssrf-}n zC!X>47(F=>OF(05b9L>as?D{E&N3*v#OTtQ_sRIJUC~^J=5WM;md@x=56Ywa{0>-0XZ&ZQ!1i;q_3WBIIC>dJK5xJ? zS^SPB{sz4vdH-8LDzeW3P67NKU^(C@%r8~|{t?e>0sjPeB_P^lBm(#%;70&o0{klA z%Yb(Pz5@6dAm2X-2u&b@IGi^C-vayxU>5QMJTe0CZNSNZ{|3AaFb(hV>a}#hF9Hq$ z>;}X;k%s_>0s2rLwEoDcfWrZ&0p6& zX!|tga~^kTPr0<`T-qO8+FxB7tnexppVQ;gGMEpQ2F`2iG>&&^<6YV$mxhd9g!RK> zvr$GViT(e811pxAXaEhsbSb2<(arH`v)ps`qDmW+ta2Z8~F*ejRw3qR2nykqu-hpy7wPJ^L@|PJ~^?D}WOK{|fki zz*hlh=x3IV&lIe2;Imk(iHWtEm>ew>+N(O8e1S@6Okctsh03Ph_-XtwkA0i5F4&f5pP0MDB}V!=4s2du_#(0zb?BHUhbrI}84 zG1@DIlVpCV^aZ5uIu>1AFg>X?!xkj(sBEkiR11t_8Ck6?XGjzA9N{wuDGsI_q}WGH zam9w1hz&9MHn`A&h)ZabG&bDfz$mn0mp0#}y$7O{^PY;*^I%n1AEGqK9>x|V%b;M% zkwrbS7{N-L#J2EmiqUzl7!eaOBIa}QAQVE&*O*VufP_YYl5j zO#92mw2i@KUAsbep(1dGZ9IOH@SBX^bo^!<0^NzKL45 zgnNhKdY-`ac>Ki2mc+f-^OQV7hR1E8` zoq<`$(iO;OV2SMk`^}{2u8b8e&$73vM ze{?i+4R-7X=*qu40Fd!W^gdp3zLyrCY27onEAHcA27c$`SA<{jf#T5g<>d=X0B1m| z94vUA-x-EqX{fk$DwsSy_d$f44s3?PW&k^1VKku?DXa)svBHX@_bS2J$Yt0W=5%J^ z-*a#L9CKEKHJ0t67l1~me>LL`6qFL-Ai=!WY($cm`(X4{9(`=B*q9l89CQ&*EYmK1 zbKa!1uEmqWr^_M7jcFM}Rg2KlInR$56jxsw7hUY1xEMz!JExEAu;^L@jKt-z-le8; zch#cmku~x!T8dg(q9YU2-Lz+?y;=AOva<$) zXx-X$$5pAwM2Bpa?p2^wp02!5we5=6{~FuAB^sQH6*# zga@#h!`;ilb~f?8CDB7F=rVG6xlS6UPTeh`-$9EHp?iS@m!im}G^Ezpi{;@Faj9g& zzZ6EiP>qTgRSh#OWtPkL`&JfGNd39H{`zm!0yvAc{x#FO(F!ShrTCTMSApJUW&5cy zUPqT^BJHw_hcX@lzk3cc?2c#ge-+}-2lT6Q=ic~5CiFliDj@*&=b?fF(J5Wa(h9MX zAN@`HNfYZsEI=s)LOM?M9yZaeL{L(Z%&O>5CqB~gV%m;}bT%qNrA)ai^HWR8I=b~& z&DD$ix&VB;@;|lX+3?WLX%ZXmu7sdr~3R~r4DRQ(zVdqBu$jR~GZ$5H13OULr^LExFN2Q_Dkh@dxoZlIj==qd}_>8_U znyZL`xPZr#MKU0`IaIPR?JqOyv&wRBwerj?Hbwk>K$t@c4L^F1|G9#q)SvbcKK7iePkTXMTEL zoR&7lF&YKgbv`?4$SkBziyY3*f8}4;@bTu%aHzh08k%iA*NI;8sq#vT$ocN3hgL=_ zvi%u*qw^;%F#}V_18IeSZ~HZPq6Xa7Q=Xld-|=#`ETQ}+KNQ!8<#5A*4BW!nH)o!k z4N6-<;RE4>YgeXqv)6Gt&*cDzoK<|0OVQ{mG3`+$UA4oBiO%6BZV%N31l zkwpj_P#@D+rF?0f72h^smnj-=I}qBZfl)^bIClYi9(5jYo(A>|uq@}dz(%T=UjnvV zy~{o3QkoA_&16zk*z}biYXDRG4{I69Qwxw!}*9DiUa{LXLTpoNfo+Xw7 zU=s5@U}9)l?yM z;e#%%%EdOi*fuxZZWsH3iyd;Ye*=@YHFUV_IS4o>1Cuo7xEO>XVV!Xed^ttt1dER5 zKopmAWo1q;^Z3`C5L+?;!<|x(|Kspa)B7zM&m~Fxkw^Go{R;iWbmZMmpYNMhPwqOI zj*QIn*pQfK#=QbC*IJTL*2D#ytJc@zhC8+B7^86EQ5g}Lm~l!MRS)KCOG6QzzTxQv zy#~oEPQq&O5(|F3=wviJSah`rS-oLlV@+9Ac!OGNWVzV>*T$_ia;qnkQa(#s>uSU5 zfCE{69MZ#~rmApji&~PrY8$Ou1Q_nqP*6?tLQY`LCOLa*EQEx<1p1$ zwImvVR~WH16jz0-^rb7jj^zc=pF|3Bj!ryUz=h!>^Yt4o)wK<^<*l1HS2b@%HtB0C-A=T6c&m|t5(I)k@?u9ijBaXodx41*sAdG3iwy|${k zdINdX0x=st@>0+hE9PNIcR@=NTB&Auz6^Qg z^W(}l7M`mTbmskoXiIdPba<|0(i#7`7%%PTZ+o7*Ju0m*{bA4Z9?$drp69=Lp2wl>)0y}dThGS4uWa`c%weCg0X*4^ z=dkVq&VV_e{YVIquR~voP%y^!p)aSY(ac%BA02M}S@Gk3Dg#q(0Y62P^9 z^8hyjLW_%V2TM8N=K!(cG4f@=<$&J@TnYFyzz+aoKe4k4@ZW%ppLB8A>b~+xqv7`WHI1J0BZn03P?TX7Qi;ZTLEtX`~=`f0Y3>i9P)P? z;Aw!j18xM|1Gr5;M*zQp=Whbu0r(@p{{nm%@SA|Y1N;`?9|6AumDc`fp+3wTOQ@N51AY>4Kj3Eo?+1Jw@BrW&fDZ${1^5Wy2IxkQ14aRV0r+h| z=*^LP0e=P94frhJKEU4q{ub~#z*hjD2mCkS?*Mb4Mg1NyAMgdhvjP7MI290e8(9wc z3Sbi;b|yux280G4X$QpKg~)EezXR?8d=v1SfQJERVB~rW@K=D)(<83}{tGY*4WS2c z6krvn06y0j-;+OJ*O^Dd1_fTa7X zOMAzqQTdVlaS|=z{4Oour3GEuB$qbXrJe86id(M-sq2CZFNRDwk#m!&WV3?H8fv#RL6@nm339ov0XjjjdP8mXrk2*t z!Rp5P`ns07#)blX8ZwDS7x#L7RrRJ|IJPFZc5Apc(OYR<$bN#qDqP(*-WCJT)`q$(T5ENJXZM!H5`0zyr9(!>jcpl+ zGBsRT+pG(


vw^9Q@9{Ky3hL%%&-s4`6d5q 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

H*%a5yw`3LKAHa1R9f8Ui<8h$Z9 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%0DXQhf{M@H8j5m8>HlMI%dn^r0m(V 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�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
+3%yA=*(m4|pr^Z1>o%NE_yT2-XXR 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�SKOLb{4*KhV){s2BYv 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 CX5Ci+ literal 1950708 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 PKdG;-D)NtaE|M#EGW?Pf$~> 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%0D2s)@>?m4Hc8nE6)9R?em0pTb*(}Ep-gdLm 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 s3;d~8YdcG!27tGfX@Ag8PbwJb! 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 z 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%0AqOess5y+^@<>lY7kpf9L6sL{V0J`8iN!_}@VB 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%0A3$I9n$}o^=o}u{;nj9S+4`k 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 N-9FIaHY-Yo{67<$>!bhx diff --git a/lib/public/mathlib.lib b/lib/public/mathlib.lib index a4451d1ac6f4e1c8d73e0d9e5134bddc7c7d0c32..453b4affb36561621fbdc7bd0b3da9329e25a016 100644 GIT binary patch delta 168647 zcmeFa33yG{*9W}!xi>e-y@}imH%Md<#2g7~u9|8dVs23qlA1|~mQIPHrD{xBttz34 zn$-}hCE8L&iw=kyLbZmPOIxaZzqR+tbu0eg^Su8r-~WA|_j%8glixaPuf6u#FX3@#dOrL&(3!o2z1JZ3?T9%q{-by1e>%X2!pr=3W9uJ2 zTNJ~cSsY6KKj_FTmRS7z24ogbGXC2JWEMjn{@Z~g?ElOE|K0-lAItwh`v~!fJM&S@ z|1vMAN;9GE!IebN|J%Lb3lW4nxZ_3h&MYMUn=sRD$$!p(kRh*$!n<4{!RTsRMTGkH zdHAMui>3UAOO9s)DdMJ4HoL|i8-02=B!bqhbK0_h-5s;xT*Su2uo|it|KMLj%><8* zesaw^^%CkR*Ccz05Mpw^5E%}OShC3?Ms2nVpSfNlXPQm4Sm!M^ZuAkoKJXQTdfCPK z7>Af0?k`5z14XkcL88*&Ao0b5AaSu{uy}1qh^W%mCHnY=ic=e^kMy!`s6D!0=j`ph zYfzb+Mhu&py=i!C_PPjH_RL+r8+z^<78F+FAxr;ZX!&ZRQir7`k529L-0_E zjqE=}#PxA=QwL;>99787jyoDEM^WI%))3bNnbD(D3kB%F8@BQmIMKHEz01TukQtRc zBE>__3^RR9@`#MVFSxyDpFSEARv2{J$YJ9KrKXG;IigT|c0hhu=|bmWg9i@ENJ$+% zpwN}lZw7{zdJtrr0jcd$#}&F}r{#yh^!ic3Wt4r_tAw~bgp)^%95sBjTli3Zd7I8n zN{9<8Rl0Vqy7kqtEy>Mlfd56$ObyY$ff-aUi}@2U98oDMyO=+RS~lLR{YsRz2cJVgh8 zLlmBVN(k4}5BRN~*19@AjnwG%fZwE-mT%Qd2utq={KtB0`9{5kxU2b;IMd5&#Py+r zej>8tpZljChQX7p8wG`p`5{rl0iTx*Q+R=?~f zXJT!u`w6i=>4A!$k`((+k`VWjwPbvM$};?8ZEgAsQGbA`mCYDBAUo;jSlgHZLL{en z@Uv4C|Gg9;rlcwzmTjqm0vq~QuzjB@#GYq$cu_F<&a>GwFU8tQ4@6Q8dcbZqNSX2M zAVg{~rMZG*jQNAJlkUYDIfIqUuE9clHH6l^jw0~a5XFidDn!gMt)m81cN>2eHcKlDVw%sFzSemANhr{>Lv^m!h>EF_X z_%U6x8-ndWD*GU$TaOYVakOGnbdHbJ_UdRMR*dHI5J`z^EnZ%Demf(({n;4X$qYd(1Ih|oWpA(|i^Ewn%8{9ZC+T_>!@T zzh+szk{jW5v5iXkyJpBIHV|6+EvUt)~7msD{`cu5HP zvKBwM-eNUsy{wX=^UFdcyke^1;xpit>}#lF&%Po=gG@SzYG)aiDd=<*GW1Oh<8!he zglT-6rEEE#g^V8W!M`(J@vW~4aqU$PaZCQ$nwM;vu7(&D@SIPIr3L#!wITwwd zZOcj__OH~1r@#(vhr!spN_nxr0WWt~L3XVYuy4fk%(X(a_(;d?xsMRH82f4j`oc$e zdu*Ug_ygA5@-8H z+FQWew_6amkF!_Zh%qL9oPF>{tZnkgLLAzr6<0#|SGOUC+jaPDwsZL2^$>oC?Pha2 zX}b{PcBr_m+#$q{9h5Z7H%Y$_6l)-KjlnAflT;Xv1>!sxv%j`Jur7NxE&6-Gx7WZA<7@p0igL4Jr0=x ze0@lW+u!N{5HnHrJLM+}nl65a+V=zH&Ge1pclP`rgcy2QMRe|3i`6#eFnk`-K0jlh zN7<*&oy$j&d&jgJnnUsYF;viUzEJwxF(H~CS1$Ia;4c@QTZqX05k`TMnKRlpf??!8m#@d)@6=H;Obi8P;iVfLLETMMXq`$BdOq>o<^;?IjJ zcuK=N&8YILDh+ABqE~iFo7D{B(=Q?0FR6lN=W=uw&%>@L_rOVbUT_69{uL9xckx{Brgldy6hm&Ja@?YID9`qFaBqA|h%3Km z_qiKmtNjQ1H@9isn<(nenn70E54X{a`Ahpniz|NmONjKlx*Bt-eeo{B`&-BR`rj&r zZvTzw+wp!B@*V{4=^7jFL@K=l#-aPFVpuFfX0N|p!Qu^+cgi{tR}mnj_)ADyKg&15 z!6{HqO0m+AlHYdK-a?BshDET@5oeyZSYvq(|GDk*TYHNqQR0nr2x$+!Gs?C`nK zD#c8jc64wl`^+Xqn75?y0l^WJ7wE8hm-m(;$H(+v8zSH00sf&G#q^A?=~53aA$FPF z`Iidb?V-Ai!*pm5hmH=|^m7I8c@8OF^OMx{x4^QNEq*dP0S4anlj69)X~P#VszeDX zz6~(r*BXpF0a7#zG~<^6V*F3eSQ$w1QpS3}6evYPkZExm8XoV4K~g*sY$^;z@ae%) zybeY(5{$b*-tU4jA;d#sQ-~D%z);a%cMnQ_0OtpnDG~@J-l0;I3M~{_W3hV2fD=~I z6nPsW?Mq5=77V538fuL96>yrB_Rx}1T8c?vC=n+IGy|L$!%UGf(6TyAim$+6Yl*9k z_X%)rg_|Pil8TCDq?l306iEt#$ot?}BDDw=Y;{?^AB&WtEjTJ9l`h@Dc`8cFc%v60 z-iXrK5)>`Py=c=R6%O%b%`Bc%R*Li(51032bf)=~lj3|i?cm@v4l6H3e0eiCWpx8^ zx>PVlMj#s}R*>RGtfZZlLn0g-!Dv=dir*`l63>BAsj?Icsz^!*LFwZr$NOv*DQ;Gi z+0WdK#2TGwP+f`v)pf)jE#TvMFt){+D!zooXt#Tx*6pJcM~xgfDtY*Di1ZmWtmf#Hq18wBr{3PO2j$%i^vd1jEo=Hx z_Z2=tMlYDT#wS#wBec?|r16KO%rC5=#xn*rUFj2=um`Uyr<~oa;)S;YCiZKS(02Zv zxrZAIQQgA)w|CV%mvFvZ+NfQ!QE;VBbA))E;#c{UEd7;o&iiS9+=<)geouTXZA;G7 z?OqtvQWBiQhFaP8GZA~Yv}>GL_tnddufF}=d*7nhVWrb6d_s+iUUa&-J=7TJMTcO8 z@u?TBZ;9u>fb8DDM)!BY%6T@DtML4njTY7p2~DW)&3ga*^5o2*`KP}9xnIue-XFI8 z293GmKao-M{DOC{Pv3QF!MR&U=64n1Iu)#jIURl2+koZ)Q@*KqH}ybhLb;ZYFF^TO z>V}lQkD1a&v2F++TquJJA0r* z>r3)Un0wZjICO6S?>(8!=r!{VSt z9NlIP>bD!w8xMReB(&x!2m5QaGx5Vi$(QcDeC5l@FFt*>Ia+@|=CAH>{o;cD_fmFe zPTbzG;-F}}>;0%H^3?dzk9NSn5#~>`IGINK({;9Mqd)D$bKBq&>_6`O{r4Y_KAcvf z>2nhfOze%fS-RqWWntm zD*G0LnnNFWMHGV?85dlk7}S*A;9aE{)LdWZQ@$9~q?eSvi$Trx4c^Jcpyp76kPv!2 zRN9L{SJP6mPcf)jKi{_%jeN$xT`}lN7~mgO3~G={QFNt7a4kyPW$`Npg>tiZWHG2o zZWvOkIMieWg*S7z4(he{Z?ztW-tjF%@p~+_sNhbZZ*gdRCR`RrI;~&o)tM3xxa?FA zE?+K&6obN0qjm}fhFRLsy*Ni^G3Z2@aM9IG-af^kD?LI+6i52+ObG5o&IL9n3Fv=z|N)LV;J+r0jyn!#|=s>JUv#$}W0obTUiFWo@5{*)+BnJINtqM; zOHopJ`82!bRgjphd%@vHr>aQ@c@OjNAO$t6AYU?FU&CXoSee0(2S-BDud#9vc-<<> zH0E7@2|V~MK~?^Cwl#!>lGFV|DW#IuU+C3Y%t*<6u<MHc= zac=4QbTm$Bh^g_f5 zDaICqhS${6$3KSYrE19}X1-8MPGRw|Xv@d^ytB5P!OxxNKq%`m`6e?<)RD88xu}j@ z%Fk`;%2&N+2cW#r&J(UEx>{FeF+aUt5xyUltB<^a<2&`Wl4=d)JbvEOKrUmY=?&## zehx4K>rlH!GM$;*8);_$$K_Ujj%X}bu+UeH^yDG~MTl(K6cvbv{&1MOv2kKjjbh}bgDD{b?*uftT11BV6XYKvz82>+r<&b>f?bltBag(l(JBbt_b7hZt!vz zf+v-i^Gs1~vR|K_lxyeQGyZiazKrYpC=$1r}?!C;CYrn$sOpAN7Dn zP6XEF5P3|wt-jk`&Q%8c;x(VeiCmfP_C(=gTe&x&+m6fhV-MMyL#WVGE}*2xq4&F< zGQKkA#La5Pl&)q>=?u_34*LdGdrA(Me^Q)xQ0a&iaQJd+5d6Mi+KL;Kzne=0r|!dZ zfMVz((ajVs^im6xadzROxLgnuAK~sRxFrxus{JF}eP~udKokvpT5d5CC6(>>jVvF43sN+qEx^9Cifkx}HFh?e1OFPRdU2zUI65ZrvdN4@%RC7IwK zTg1c9y=6+!!yXn0DtJaltD<8-ldjM&YJ!hfZF36Aj6zodob4xOH69nTmqD9Kz9BHB+>HxD2JvgJcy}|MDQb z`XOFxV+}gCUUQmjh;tA<1c1gPg;3?<-=2jG-mNy2pa?OZ&>p32uMyIjym0Wq|VqGBXxutropA$NHao>-4SX`^U}0&kc^`z zhRTu@lP*(P+mv+pNl)|0DAm@r7=^YD&Pzuj4|b$OCFd5en&{kWO_xW>PHa}=(NgtW z`kMI4Xmsh|Gd4rURYnIF_2O-KWy+!6qD)~L75_EQ$`rkvp)JhI(CP{_&K;w*EgvIe zD|d&a*2a|9#+25kd91BF{V_(iVdI)TCpWV(cb-EmPi^uK3pfZ{c%Pz6kt5AJ=Qr|ix7kC(m z1jD;*@;F(RYHsllq3tiqUCp>1x4^-Q8*viYc%d$S=8N48<%*3;c;*!2>w!D%dPy!$ z=G^nb%~tYt909W46F~NZcViZJy!n|EnVj{{-Y{6+j+SxeH#E z*@p3=q^xgzN>RH>QguY1nWSsh%O<|ZxGIo7oh0|F(!#y%6sX|~E2>$HSg2DS>^R z@_-_w9FT#E|Fg;GjsbhXGPvS9VJrva0&+kxKz8RD2M(x~>E00749_irXu`7E0y_aY zvY3C!S|&45*FmfVqc?CfurF{MFd0|^xe4K{sz8*CtR}#rz*fLC;7A}|^jV{TV}Rp; z9N;U!7QhK6pGzBe1H4sNo+B z%$=e$HfW0cR%M`PnOTQmxiD@3a;4Y`-rMqBE*~JDoFW02(+<2IB zXeJb8=ZbFfj^OQWGB3HAT!^!1+#B+97n%}8p)>w#>KUdu3aYdI(o}h}GfVs8?uMJM zFHQ6J0~_J_8(=%&0bozyLEr%3x4AD*3m~K`(&nD{z%;#MD8yE)t_ki5-;pb@cnRD+A(B5LKNjbzzCS_MC%&rb@ zsFj>u9COQ|$uoHunZn9F1h2T6Ry=FZK1}7t&Xhf*YYu3ecmh(I8o?AtN@d?Cvs8R? zj{~JDh9%+7$<3EEM3xn31=a<60aJlC;9EdnASaR?xE|;LeggCZ^6675C&r`Fc?@7SO$o#acah>GLRFi3XpA?hj8?)1XH@MGG$jCXU$v3a@1jtjBw<@ z$%bJN%zW^Y;kQ=K9J#bC8^cAcJZ`=c5C~&UARAMQBIaNgC=cX971|ey!n~aSn$Q=O z>h|C)SJXsBQF2Rk$KN}tCp=ywxmlHi5IC;F%~u0x=TMshxt=!za@3jw+0qt3?yWot zEDdZ4x&gTz=n3Qsm;xMzy>Q}L5NW0dt|xu)JOh{v ze9shI41Ct0I$z=?eGv2qD!$w*d_b;uWMfXV?(fLiMS2#)p#)N51duZp?Z4_DrU9LJ zP6u-ARzsoAIHq*QF{Lw3^VYE(wVo$WaBy#y$B3iNyE03qU?L}Z~;7h=6z)8UFKy(7Lh62X}Cjc>poW;|9ct>S%)6a6S zog(MSaMiQ;NSU4or;ljVeA(2W`(qqyD{e`%$PpaFEHA~-PMipQ`Dj2Fj&9AD^Pawj zXZBXj+aH16x@*RiUEG9}=KaZ3?)mpH?BW!hoP+i# zG>DcnW(Cn66VIFIv&ei~a^mgB&DT7H=M8)h7z11YtOd*ga!p(eYztfh>{%e0>hZjJtuMz`Z~&US9*zy%*mAM*$B2X9EucKLQ>C(v(w< z$X3Vkv{M;VU{YAcX;I#1YPa%!6E68R{A`+E`3&pSJ--I$i~KU>^P5=n`;@olH}L`Z zK+p;DXd53&F7OX;?>y>za%X;%kfUv^CwCrgQYOC_BrCx=ze%)qDsMVf%kKqdJ>?Xy zoobs-jq-c>P58o(W>uE1ATINqa(wfJ)Hv{gjPcb|-#mwX=L1=l#x@HGqxj{r3T3X9 zezbf&=CFP_YIAmAxrY<&C?e0gu*jtn?G&&wp3eYV0)GM~1J44vUjGav;4idei7cCW z79?lBLruCdg%oT5AjS4hvvP{R>zQJkN^=MPS{76nRc5!M2A*O;d`F)Xu zm6TJob}DZ=Rm<<|lW#lv75wHM?P!JI(T+ag_2rZ;d)ePre+MG=&y>~G&k8W&W4h2P~9wbIwu=)~H^v7!XE5A@J_c+Jf zg1Di6DBC!mzRc$+W^lGuBTF^?qG*{3-VNM?a2H-I%b8}!-N$5hK~$LR2IM5^3FIzw zZ(tQ*UtkMhKOp-_0%ib{fn3X2o+lHZ2C{vpkRjaJq?mP>dw=pH*~i!?Y0&|6%|B^c z!iQ$!A7|3nAE9Hk&q)F#z@EUDfE@T) z75EmD(z6=OvkM+wp z3(0IC%VYz&Sic42z%Qu4pE4=k&1RlmEsZnf5Cx{IdViq7=l5#9Gyh6{qLuD$!elp$ z>AP93sn03kX$&C{u*BOy=D!1M0-OhI349mW9yp&iZ$j1B1M-RraX(WuCRf&xHz{Eo z+T~rjdJ5o3E>axf{gErbQIYq2Q?7(Q_!O&vTtij^qk(IH<$!B}vA}h}YQXhCPK4hO zsBV6l(gRkeu-t|Jn#b!lnuixC`e7kc+vm2}D(B12Ug%5O1kd0ZiVA|{UOd@E7^wTW zG1cMbrGnyiCWL3fOjq8ta~HQwO|z&NtNDRG+f-z8U)m;1==lNm`3Y{mw!nG|a4V2w zw*y!Y_!)2{@Enj^tX;r2fL{X_0KWmg4?FWM;~))|)hs^=V$b zNjcPt&TSdYf|!C-&JNL@DSG!)IY# zKwgo!32Xwq1?&X;-9ocYU|7q=5pydrl#8RCdhd{9e0j9SmzDlH?;lPlHlo#Du~U|% zgJ=95)GSZ7Em9@#Kregw3+Mvg1y%t54dkkM57-=dAIQms`54t0X-Zc~=GoP<3sVlY zgGKXrSit>%blP}`V9h7TPQ9J!*`0E6k%@N0+%sVTK8e7rR@$9s&Vys#2deYHElE#* zCfhlJS>wt_zSE-W|jjdMAU+q4)qC8m{*=4&V9wU#T+Y*+<|FRQ&E~0^~B*6v$<&8Iaq8 z=0L9dEr5H0PXd1jwggr{fUSU?fvth#fo*^s!5HL#o^fYNznee>A;yUi)68y6(HnbY zP4BTFLqu76uVg?373|S%_KiLAVv*^K_6Pw1h>pNOU?(8gibOMH{;jK?|6xkk0;cT3 ziZC>fTjxsj*j~9QO6OA;6ljXeou(#%QZweIgI0kokNZK^<<{OO8_PCal6`Qu$IaJk zFoH|+WFU7IrvM{?ZvgqNIt|zmI14xhI2*Vem`z@LW!Z9%!>;Pe>ZT^8r#>~W5A$;G z@0T@=Oy-1$XW{h^+#zBq{%hWLH}9UC7Yd(Ru7{~NM6Hf#-WoTLhrgOZ|9f2jwwU*gU(;yj6`;=Ure&;C$c^Aa6fg z0n7n@27DiAz?3CGeibeQ@{4dea1?MQkY~tN0rvve0=dCm2dn^G4@6c~;rUgw6f&ht zAyan2MNjj1YPlw@IV4Fw&hLZL)bCqe{L;Ubchn*Y+sxU|*GA}OJOrEu{8oo0>Z+ig z0*5JG?3l8v;g{y&Wr()ylka44 ze*6gJ9>j6ejAqcLOFvWE45sXuHdHgf;Bh@@mix^QQpzZ8M=UfXDm%KksneiLi@cBM z*1Pl(^s9=PbjmcTz%=O+@K<=gY?{=;Z4y)3B&Kvrpn04f9ccMc*@X+$-J^Pk>XLlf zxJq}occ!#=rtBgQfoR?rilUv_{$bd!NVNB_b z*P7P^0rkUFJ$ADoa%xL&ENQnl#U@&dd6Dw*0C#{It62)Xc5&UYAmYiDZHk0;D4~vzJw_%eOhl@n0Z<*F0wpHw??&E0^X0=v_PKfx?+$1$mosNH0Wo;W9W>+WG`iaM{uO*k)C6j_yc z8G7JDOaxkiZveT;n+4<;&Ia;Z12g?*y<|$~F;jN6YNvVJZ=67lF36~dmy^oUd~&El zIqQO)TbZrpz^dWqYYqZoBp`aby!S`F%-jFM`ZN(~nFU6gBz zsGM)A#JgXqTxhDyp~Q<&$)-+ID)%!*Ph6E@a;#qYy5b1%p%RyLB`S4Et|?MTF*wMA zH(>*EV&O;XFW5>%)91g+5Gr#SW21d)@KzHMQC%J%md54TWkQR_sr`^US+AH&yq-Pz zmk zdrekw=q?oJ|3@nIBFcc|%QN-3ug68lORXWPw&a>zTBJ?KqH`9c#9SaJ7y-k9Z=0qq zQl^ashbf&fOxZ<&n|GEex^Z2m`)Si!g7Fc4`hVEB6uo{!SE_ezsF5mdH8KB&++C!S zp*c{MI|mrYT7jt8Vlglo_&$)c3oAs(E-o}o>6I&{^f*!Tc$~O&?oEVB1|7N#Q|jH+ zrnF@ynzJD{{Ug5x+jc zKZ>Gn%gS{4580|nGkx3)@HDVL6r7=bzoUMy0=Y?rw2mp(I-QNa_va&;`d>^PznVHO zQR6?&W(P}Wu$G&hkLl;zGRo*@CVJ!@o#^p*bfPETc|<9E6$4v%6%&D63MT=%e7^?d z{N4fWx_UCD6P+nt3N?>Q;f~x+f63=%t6gvl5nPV-3x@~sx&yQp)RSloDgTg4#vslU+#cDV*czPP*L=F8jc6!`&5;kgtr4;T)- z1dId`Y*h{xr6itOmL{J5MSi}c28!?$F)(Fphpi`xN>M- zdpB>0o8s0|%k2TRlGe8hDm`b9!5h`)95cA=Z@ObVtLKY6$A~>)3%8zqfz^QhfQi5) z;0Rzca5``#a4s+nxF47f{2Q17Uj2lN9U%bRBQF{QH)R4noj4YP7~2sFux zva9KREx3evYTRfxdSzLgZf*<5j>9d+jUu)9WrPe-kqP9nV-^rSB{AN#2n(xbHDgLw zGp6jSFlZj<(gE6HH4d6Dyr3^x6K*b|e4(Cf^fE5C<+8wSFXshcOCiR6lr=zZL)HO# z7GeW%6A;xz&AVehB8x|HTY!1Mj|EM!8qp!#Z~tD|#qS)Zu&NyGZG_~;dmGbpjca9d z^R^o~zLe6-8A-3~F>ErLChajEqr)cxBfWXtX_09Z_)DM*v!l267*W*YX=h{v`c7~t zz<+)_@YTpo`BSH_AQ$qL5gEZVD;9Yk{|n_ByQymQA=&ER<{Frnr*v z)dU;FqxKpudNUEW7PNBOs&Gx^mo{I`+#ZIS9-4`0p~_9FfP0~t9o@lWHBen0-EpjL(Q!7!Z>wtQv<2<*ANT+8e-GGMp^it0^2!Vau%&*ej4~bJ(XS@mUHcEBSd~c z~xh4#)Us(HYOtdXp|b30oYg(Nps*9u2mN$zw>rpyCIX}WR1Xd+*y z_c}m}ieTD7L~uWy?f~Q7r)dXaob3>-9thtS)Ph3?k#IYxb4Pd>^ST#Oq$3jU5?l*I z9pt9Iqo#+9r{x8D_mCM!@8L?#K{|EFa2fZll++24;(#MYDwpp)6pe5zDoLHbg@!%f zLM~m&aob!NV49n%LLahR%y*nfiLi?+dZE}THKEY{>Z!&dUHN2nQYvFGWT z?@&rlerJSwKd(allNNo4=)X&4JHvnc_we7hGlHq)5zJV(|4%9Kdsy=Zi*@`S#r{_s z%8avMcw@MO^u*8QzK6onRHF+NHvR#U#t)EeO;JBUQYFlIC3(=p#4L9ZqiGz=-C&Q= zU7fasdLEX%>K1#48%tcT3aP z78&oMeUe-IVbk*@t=+@(>vRO3Dd(_ZE5)sSVOG5ErtaCO(_z0zs&fQs!mm{e-Uadq z3P+qbeaJ2|;S%wtav9{IVyauka7sUdG`I*kdg6$mtyCiqv1x9xDcM0MuZ@c}r^r136QPCQqb29gsVM}P?AvVt~mTm?yPY2;)^?aIj%m@#E z%M`$v_Mu|(9({QX#RP*~M4*yKn!M-MzQpwWUJ>mJsqBx?USJAfg#3{99P0Tav@cTH zJ+mgqt^JzmIY(>vNS?*C9-b-hDW^?dqwzl)u8>gfSmIi&gqdoIBa`qdq;)@{X^lB< zL}q>fu0>9k53+ZOJFq0v{}LUTM?x)CzRcEET)5F1uSxTjD5jgfSmvLVY?<=K{V2Y^ z`Q!3Wf_5A?0_!fvBfkY77_rQ4!~#>@vLZ45ki1VI#s`n1Y2%zOEXW_askLRNK0M5rfE7&fD}q+d=LwJW>} zO?;)_Xthnvn~J!U)c#`zmhZ~kk8oRLBYNT_+Q2^4{iG4)#|Q;7)(pl~zHF zti@^M`DaRH;A!;dZUy7~;E3yU6=9|}`%%^bqmDHjMO3koWjr)};42y7JX?C%UFzh7X;!JqNQKki}3F}IfqIN4wTbUzC@?-THgmWC33Fnu<>a6F|2JW{@ZDxNdS%}sfzi&Wq?tCSOd za1|5@{0xmhXM{IxZ3>)$&_4tJ2^@~u34J|f`hpCNPr-Zs#yRvcepWs_ z-z{g|hNL;^+Z1OkH5g|rVXStNPbw1Y)$=HG=XE$9sd~=s>r*qFbJ~25m|vhH=eaRD zkA}fBM=rSi9;Z*wqYBlzfDGYMX^}6Hyukf)CzS$|X5wGO73G50ncLrGH&uhuFF-?| zAGrm(fPfBqh+TDywV{11*5V=px}nrvqJWENfzqhLMK~;gLj=Fx|2c;K&8^@A%4E4e zAy=2z&MmUFM{3-1%YARYN^cd(%s;5ZuP7)!LGX?158VIE%sGH1ypq%s>=q%oM-X#cgqz}xvLncExBrhQqonl zJOv&J6W|uRA55=675&cof|Neb2nMgiDNY+M+i?xG>#<-D1r{5DYFH zqI)359wS|pdkvX8;u?>3&;S%RmoB%DQ6co&2xMXCbu{1=Aq- zI4|5=WFHT~(r!U7m$sp_jOK#efAnbmtWO-kyN){7mag!6rdT+uLKn$B{u5>Buj@v5 z&nHcRGD?7TbOndoH0^~sNhU|jm>s!p>=L0YjL&7-^BR#m{DyHzs?WZR{33$7uW>$~ z?Gq85`@>D6wvjzLEF^dEAI3aqSdE%BqdhP8Ct%_!`ZeE@rD{DEUst*F=S>`90X}ci z7@g)Q+Bw6k3=Q_Nl(VlYh5cQyV_6ujsE6G6iIP)-%F#L;O6+wD+XF7sp)EL@$+-~U zPKYXl6ToA=>XpF+9hKecDrby{&>x}5iNNe5hW1;nk+j6uQq9sVO3)#jEbD#qb*zEn zK^=~}7_l5!tcT-1W4H96CRIbca&zsLFKotQ943!5RKrdqB&STCT%-NysW)wRhM)c+ zd)STY{7YdiI&tn&W1G(daJW*!vatSowDdzu<1VP%-S$~nF#Jh&x8%} zRcFE)qkZ+6wjcS@cs>jFny)_FwuW7uksCI`&i;#@ZTq!donag1hhF}p&e$E|P-p5I z%N&%>XWgE|GpBDkKU#!m8~Om^U2KbVSy~svsdvS60_{GRrB^XnQ%t9C zG^QD)utngjcWkvNZ>^7iFCCUto7lRXNp73Qm;-leWA@xJ952i7zo2;Rw>pWJcp6+0&&%>$y(`=a6jr&jG#(b;(I^0uH_!$@8 z`{l~RR$QSJIMb_S9FMB+n=I`hL=(}ZiDx&G`IT_ruT9UcvBVk`AJd;hs{a^%qhE(V z0uo~ksH6K>bFe+ltDgRjSzX}o`1n_1J)C?~Uw_u=+4|~>SEI1utxE&Vn%F?GW;Vc@ zcth=TF_3+3Ylv;HjWq8Nka-syVHWjq%@d6^uXJPV_iwB}M*^cnjVG`V@Cp8uNsR4H z(94@Bx4>2CwjXPPtr4vugsU%=UF1{B7ybE~?eWWmj^v!>TTXVuhe~j~JU(O--w8XY zJDFdMsgFTC7M0QB~UrISbL7^KeF`nx(>Dd$hpDN z%&Uy>3;dRbZLpN4of|B5Y3*X4Ft0G-9q3O9zF2DNy2QH{e!*nv+Uy;4=zBEp^5k>) zu7mIsK7rYq(Qh=im-_^6!BZQ!w@w|FmO5(mKO{0xD0~8!Q~Wt+4E3%S5+);abKm#z zmNJ3@9r!Uu!4jYPMj03FJnx)AD?ae4Y6Q6G&~)2y`YhKHWdyrO=DEtqpv_w>izU0Q z`PJFYi2K6izOB_obbx%R0uZ*A)^=i8JkWd>xQypQhN zCqi{?XmgIjioE#(L>~XsY>%iEUNmU z_rvL1W6suDwRePntG<7nOTh2vyj8#3Al+{c`yIviQT^qoeAKrbjLrI+5@9z~zq#nQ z8xnohHygrcV4nX`{pzb`zq+Gcf74-^UH8*}QT^yCJ>N;$TYdcM&1E~k+3nq@f5G+} z^ozOQJ;0&+>q}LCy6E`ezC(YrqOqSIC%o&&;TIhz+(v`Ro&5E;Cl34T z{&{c-)jtpGiuq5cJk|3ZOUC3k5~_CHdi8Q%3Tn+qC3L_2N(t3(H>%@=WPGEdBlq9m z4#Yov`=l5Sfky{EvN+BN-YEe{{1uQn||OGT^wqP=i3JV*IWPBz4c=HCPHz3 z(E`W(zgrB2=YQrnWI}P&(wPfvrRYeIs}6N+7~)$DX;n-|`4`g}{Dt3S@TOlIg%sas zE$~@|-o=sn#WxTsmajz=e%7H5#ed`4TMUH(BV2qZqE>Km3;>gh`6DOAVG};nF_UI2 zw4o=0p%#C{$-g*?#hQ&iopYlPxwcEn%ke!&)%IKLnR$4_qbFpJ;Fz-Wk)LYku|pkU z&HEkf;-dP`a=Z?Pz7FpD_|JO)9GIQglwHk)^Gd6O&z=-a+4(R>b)K0+G&L!^I;Sp? zk7#v>>0p9{;1W=smFMLqWfwa@J*jxu$*w57I0~w{;vF|BySN6bh2q_0D!1*|7B9bL zolaP+)ainyuQ4KkPB#fYOzXG%OvHm4UxKH`m%GgK`m3Ag^#gHU|2H%#&u6Hy%t;B? zEDh#fwj}YP;L~?1|8)McMI92Jb;W|Cl6QND(WTFPLTK}4OFV~#FHfj5n0+Yzs%02^ zTyPbFi#B`d)5I$)Q#ay&Wm;qlY-R>Ck0r-@2gcG^TVNQq-Q`n}&U*(|F`esE2cN)X zmRaWmnPr%_pb_2d51b=UTb1+p)7Drz>=PJAnZH?j;yW4Yg#By3S)6Q~antfKRz^O( zX?cRY?15nc-@}f_l|@IH%B^tAvdKG&bI&F)CRVv;3ubZ;3EdbSlO>TJKy?+VfU7FVD^U+Rgisd2{Mo3*+4eBO$FJ5tP>O7AUSI zHn9*?bG>nYuGNY1HD|dMC$9x=+GD*aQ8+djR;t_#qWWhMOzC~~OxZN2x*|)VrT=KP;CWdI!s6 z$NKsD89#?mVv=tdU72Z(m***JmUUpzC3xY~vX zuGkFUFWI-Q?GFh11yfQ#-%uQXzi_s-u5l-XE+zYhRk{0+p1<)NCVZWYD{-&J?Z7^) zdm$9x-?wIv#3V!&k8rWkox{zvfX`PD5`mjvE1nt8z`tD>PS(Z#Sho#sp1KSD_P1Dq zd?9xjcYwHmU;0M6pLMVapRtR$V9@hP6GslHJzUO{ft zA$53R#Ia%}ah5(=Yxw$@Y3xhuKQzMW>QcWYI7F`OA|sgAj`V76lyK4YWqyt2UGQAZ z4HvTJW^fo|VpD4v*2532z`iLwUQ4zqcKog2u$rOJ+J5AKp-9E+foOF2x%&vD`cR>s zOX9iPsBub!-AlSC;X}We%B8@^cSpO8N*=&Dpkzyf*D5um)AJ)zN3}`O{=+cAVw5z( zT{J7*D~3+?x7Ehc)Pbvv8km-vG0$4EbPRlz5I)WfEmrY2v5A(ZhgL31 zU+EV`e}CX|^k}1)588pYc=oico$0B)DOUoqLklS^Q2tL@Lv%D{JGrRuQdd}5=ZAE4 zG2OeO1l>l#>h2=HJHc`Go+ke(7dZ#oLS-*XUWYO{;!dz%L~pop3(7X>Z8$d3$CQ6Y z%dNN*9BuDs@{(MXGtk!9-rsy4;G*rzTrs|>=JT@@xZbF0A7nlb#*Ah<5^vo?tG&ul z#e9$!!|?2x7Q;v*AN15!={1{9Jm%B>&jxl-9QK!4X6@AB=kK-uw zZg5rVIMUZiuMM_E`@Uj2WYXHfws1LK$LJ)S>=R6g(D;o;6wVV^ z#L%2}GPI`C8&Q2bp!ImcE6hlA(G~X7%|#_vxk8N|Xk3Qj+fq-XRt>X-$-b2IqF0nm zrYwdO%6ZYNp)n9iunJXY2t2KZ=aDXoTa5tIDSa~i_lq2};gjA!flc^+N;&{{EBk$7}K(R?6ZcsVOC_@uP*z5smBm*+w}vnp;z z9{86c$MpXXH@dpgTC(LLIPrURF|g30!uRSD@E)b6uh8#Rf;+#Q-bH?IaD}?w!!sho z@6;4-!TFu~KCRCW48|{}oD;oD()Q6dAK#@A<7*im7;OvB{1A_JJaXt|nKsjdBf-xr zadVG>+gH9+Bp~y^O*h}{#tFpy!US3a+B1RH;<+#pO#fj@`8rSKP^27H3O%_VPMks? z0Sj#`Oree7J+MQHLN!Co6j}jyPN7wFDg(uBH5E+o3U_S)*K^^8U&)&|fuejj!-=n4 zO8+r%xEHV3g;LX7AyIyXdtcvbn`)yztF4VxyU)puYN>V%|8wIPyWpo9?2hY;cIWp~ z+)Wwkr(ZG5cM3}D6BI^{PyHGM*HmJ>4URXO@zt7UIf6^m$v#0g%G&H|AiGe5Y>e0H zoeT`6CMN=I^m4XOD2;t4$d7vE86i|>EjCr9-L~8CZN5b(@YBhubS2v-idw(o+d!_M zz>|R$=@NU+d&Rem{E|+*;`=l@P8~8sqi9364}RP@&Ss+*GSR8@rdgT3*a*4~8asZ5 zAGGkEG=7Ql<#JOM!PT5--uC9Pi?bwkSZ^)o!<}G@{KBAhpBW*YTbbe|-Erg}4i{cJ z)~^=fLomg)T58rAEl!hkk(etn(jDkP1maEGhcZ=kqXJHh=+|(h{bC`H| zgI^iiiJhul{x$`8^;zeg9hOGpN#$_i?;*N@A+Wg(0r7g|Kd(~o(QokZv@yd*r}i70 zd-o%2gyFe@T(VT%gt`wl;FVDe$ko3WB3UgU(~wQp@_~Ml>bxPbHbyJ2qgIb?JTbAa zJjKoQiZ!;ys#RgHuVeAk0GhQBBbsY7y{yI`71heHS7j8tcjz?uHk4VhuQIRtdL6-J zK`tfaKsqnS$7)=tq85X1qmt!Uotul5Wkmckf&AEabdZJfS>*}kpTwwBd(%wkin#-^okj0FoQfX` z@Xp1HD6NlLscf%z7?xg)^82V2NQ0tR`;;`2z0^XWkz+2L3UlE!*`^j)We#Pr*h!mS zXN~aI>x+HN_0oCXdR_HL%mX}XzhZ44y$(6chuw>=LtfSEsOZkojNR5yW2UcK2Q?1( zs&!5y$gb8A!@A>doC8!N0;{N*~hSSMfs7Ut!9wzTM8N6b|(POQ!T!%J9kskAFJGlwExZ ziPr}lA_+XE^p{V$59(0gG-JxHR_d_rC=<-t5CjS4GEm&xbnuB*io!{BpwMpsZ;wgY z#TigMcykDx@}wv`e;`W@+c1Xb&Xdx|3qZW@$RVOk3a5~R;>j$WLJlgENxSF{GFUO6 zHYvLp1xhbJK4(&P@g^vK`8)XgG>XD;h@e6hZ=Ffm#h0K;D&9VmvWs6q@fgX$pTICT zvwCHsnmP)NL=(Uy-GyU!V}gqwCK3CJ=N|G=f95^aUP^yN}ep@QigswS?Dq0lyw4! zghkeQ+Cx%-n^T{7MU&Z;XxV9N1`9@*pTE59F$S%kDS1sFlHOAfndG{;EZS|^C(kx$$@gZ(&k0INZI4yTEj-0;u2=A3R zmZyTPE~{}PPTS>;0o#3il6JE-(uVPsNQkEb>0ge2l=uzCY)jSf%sv4wM=^iVyB1vw z3dT`C_(_;;TrEVYwhrR`+Ddg=HY{CMo5yj!eW2nT#&OLlaItqeV@w@oEEY|~IP6~D zSeNoDBpn*9NnMRwdn8Vu9*9NtKc>Gs8RJB=DywwdK?>8NsUX3?&lq7*ZX-tux-RQ6P`QF4^ z*(s-t@4xSC+mkguEERrjnzi&s%vPHFd?%Xwd_OPoV4v?Qe)AU3*tocck%e3Ae2Ssx z^#8E;9?(_X+}f~a>@%l~5AFsG7~Ax2Fuj^kLhl_@Oz$>edhrRpV=!3s&}%|~1P-Bu zme3Mf0)!q&Na#HYJ^as>Hv*|K<` zIjdG$W_zHT|17TdpCiow`UvwsXOH_r!Dirp*+Dt^{bGUpJ@8t1NW22YKu>7Rc~UNN zHLI5o&zW5-$!C@bobG|H`oDgT)K4}-e!IEd*t3o*FijZXB zFR742XjKy1ZVLbQ6ml@~r7RivKoyeAKh_SQlLKW6fg?o->jTj0s*rZ;=JwQnE>Q7Y2LC&I; z;J_E50whCluyzQN2{e;j{fdx-4MAwQppi}g;e5&_%S+wcmlQ`gVk>p;_ulzNNF84dp2vINo3KDQ(|CfCdDbAIpnX1T+8=^d6x z-?%&a<@3|w2KDl}$#9RvJM6HG&@1`zOFJwx`G}pCJkZDT_doaM&6^l3po7@}?2Li| z6|U#50@HrP)eXfT$s0~9B3L9Bjf(GpBvCmF1dGMayD#pvK$#FNP1Q3Hc8LCsR{K>uz(%QbfcjAGNGTJnC!9LJ>c9 z+%g66Rwpd=MLlayS+*hG{##3khz~w(*@Ae1Gcbxl_3b|kXEa0I)4#VwFR>7l9VXfH z>w}D6yu4=gU&!OK1_g?JZJh9&l@t=}el^T!YWZf417I-EzAwvMMR;i~$xu?6Z)?di=WAi-Rx+Wy5lINX zt}R*g%eCRYtd1;zCNgVXAqmJ^7l&a4V;ZS9t0$!f6Y4>~wm#o95gNJq8^C*F1HrG) zjWNBAo`^SY$U9E6N9to6ri8!F>ov6@3?l_N^Jpntn_vX-hBNHG4w4!1hTzZ}@*XxC!3GraUSrFwF4^Z)$u~ zaOTbVmGMTTzPY&+L~LzNvH+tFvVYz@W$BB&hF1#+uv*GmXf|lv5(>X9l}fM!t?vUu z$5#CK1XQ!S6@NUz$g8i8<$ImZyvFfZjQV!6gXjt6ZZA8oOnc}kL#3Bw8-qcQ>mXS7 zlLqShz5`Mbc4;CUVI~E zjp+?nXnjRBcDi)YemMWiJIun#ilv`GM$#PdQt|RKr;y$~9&(xlB}558J6a?_;xs^B ztH%IwjR(lrX8?pP14*?SB9amT5O55HNMw-AH)|00DHzniYwjQ+a)>mRK;VI}kT`%* zgBw4MI*}N%>VMI6#Np4xp8dKHjBVOEJ~1)2{;=>r(_?GZ3vV5fdppd^6=z>?u$3Kn~ ztaISl*%Uz5xIgPmJ47+ObA0@OE(720!he!Zu2It$YR+Xbb^UqVi6&FSwDW55x`l zY0+9|9j*`o5Csx51jyyw90&Xplo>AHXhku}Fw2IW$TUtZf4kRl` z&%A}zp{yl^R3@Vpp*ixb!4oB%DPf3B{;d7+se+IpgR=7`dFJ50lHnAwN*PH4hTgl* z7#vY&5^VCUf!-B1jbMu@bf=KvWR#U;waX(9t?W`Jv>irkNhXxlA!R~s9r8@WA|aE> zC^LB}&m8FGO?ft9gpkQ(l(}3`wv96T2$@QWmO=)TQTKeapii$hqFt7$TgvPi@!&H* z-zAuSGC?Lowvg&LrB3x^*g+y2Q#YJa*S>xxAv;Ujo{9P;qwFk)FVQpV)IY&%JBpT8 z9+B0=@-3?^4S0MzXI&346aR+=HjrsG<_TYU`FNn4cF!{kdY~E)ak(DShxME&sx4W; zs^ozV@*v|aHva#@e2?S_#Y`WbywIrbiKhMssDf89 zZ(L%JK0Q0d_KWX1uq%(K5;VpGcmI#*_+R!rC(*IH-ZI1Lm4wg!N&HC>5s3mQ;fW% z9E@zjE)=xwD&%0t5du4deBV+?C}C&kaTNnI^P&fgg8E2b{^B$gqpx;=9-V8S(F%(0 z=l2;2l(07s{8&Hi?aa)J4R+Q?LY0DAW`1kG5&vguS}{L9?|@MYS*{(BWgm@nmgCdD zG^p5xFO3mYf}}(GNuBTe9;(nq4jTQ5*uR3doNuZKza!gg;#htT-9JAce#jVyG$9y5 z79kk=P6>u8D2?z6er^bc;xy!Q|8&G?M*;44!5PF`d~FPd?Bdwh#zms7|Hjy&opZN4 zX5eH3;P-o?&fx+N`O9<0XNbBtpEs6>RyDq84Dd=CiIpQgJutfBkGAm(BTQq3 zep?~7vx^jY*1p-_(!;=c+Ei|=@mZ61q+7+9k=Lp7*K{uy=I^fYgVBI)ZO&CAw?R$b z@eA&KzCXV}s0Z*D3PW#*xV!uf*%!@k8bd{2oVaDAqJnO>jUFO?@(wbhqK69o?izm} z-S?hxSERqbFVk~8kXY$~@q+sDp|P3!mGKYaFK>DKxs!YP{wNfVTeNkLZfs=N-L3mr z8)+e#m{)Lmy<>`70yz|t>u6nh$KICiFzg($-@lC3BejpEkk*TLm`cC_moHsIHBZYS7Ms zRv&EwuhQDc2X!ys^FhV*DM5VMAR9b{v^E-8W}v)-FYFXjh_`G4o;ydPwXmK7&ELVO zXi6KSEMIaz(8gCKTBG#&LA>t}Td1~x@3|0EMqdOyVMGfop(@aXG==I95hv9n!b?_gzgKZ&6t3an;njZ9O#7P@zEReL3s46N)Rj)-jebs4Y z)AXQ+Af0rwh62;nfhj%;@$`DoF2w($2mOK6gRXoDuDZr3J?ODY4|=@RgPth$peIW` z=&4E%dK&J6^q{9pJ?L3d4|=TBgPyJQpywz(=($P{nkzl%X=nz7XMfRyo`(ua4|<{0 zgI+B4pciwY2R%*dL8E0t4|*Bjb0vr-ME|8wnO*}8li)yoT@d%<-bEejQ91oK;G!dK zU+5drn31+N+9n=x$UhtZHq|SOwnXSXYuosqUjwu0+c2C-?RgtNg&cqfaZu^n#*6(H zn60=Q)umT@rg(a#=k186S9;#gBbEo}D)2eTf7f~50ovbno_F$Phy62ayLfVc3tX^} z%JW|Cf5g9-zCVa3FMtWi11LqhsfpsQyx5nB)A;y`_dnuaCdXkBm06A;Ousap=c9b_ zis0^fzXAF0D$mFMmi0JurtPxAOKMo#;;qE_ASJKlF?a2bEnv!@}Srt$ne|ABIy zQ@PIb%PWJ6^}2{?ntmQ>;HMw;ml02|VS7atCCz-QneK?n%dpggzNX4V(LJH&Gz$Sg zVGO3}L2EzrWvegXjA}biaGN`0C(5 z-@hj7{DWU0>F>5WI3VlezZHC$2P{*CZ`QLr>?*~P zUZdGZ5UGglJ164l`#X~=1bdC7(aaCt4D#c9Q5~=OD$tK_->myceP&YXr|ZIV8|gEX zo<2oGg+8-AyNc%ENj;5xFhU?x!=+MlWICnh+$t%LQfel3Q>rMxRBA4$qJ@-Fa}lM~ z44r#YYAzS0(xvYGTczfM=)Ckw&4&wV<}6aT85R+QZgZH_ZH|z-&AFs*b6%<2TtMnJlPQD0>o(&&Ch0b3le*0% zq;7LGf71^QE~Rvs$#%h?LT#nPET$GL$mk11LT`$flRC^I2omWqR{+wFRCI}+HU*HW zgY;7XnLJ2S(S2K9V^vi7zobbW<`^W=H?b;^1`idZDk*C<(B4%|nhtYmq?3j&tS|^2 z=8A~Z>N33!^LtWkm?=({5$I!26DIw{P2e(b z)BdW%O!Tx4s*keiJBX|*q;-NSFLjt3BH_=<5fF(|hq)1wsE5b`1N9IkrS%Xwf>8B{ zHl|gRro&tt>C{7Yr4DmFsl!aR8`AGzkPdS*sl(hHN%VuNCFwAKhHb$BrNfNfO8Pxp zcK!+JFpqOvldZSy&h(as%kh&_EZHI|$Z40ALv~VZ7GA}gQDNHSgOaN|WP!D>*PlD7 z(hhRz(#4Daxs{q*Y^AziurxK+(~GUS9oHjpgcjQYhw||yodY8E2kH#8mY=cb;tX`8 zUPzvEwzMliI-o)`RUC7EQ&8C&E(BY{g`{$6vBFZhv=;b~!u%9zu?im)?TbkIkRsSD z6Y8ljDgoaV(~G8@{3)+-wkTs)^k`v?+#ffbBtT?tj z#c5~0lyd)4f_MB4Te-JN;OKF*$j%>9!c&}qCRNur(YQ;#k5pY_mRY@x;8O72TS^?k zb|hmU%tbs;8CfuyGPEp%4c@Y1Pt!3JyD}?q>N%S{^~|p#gI>P^?=#g7-gb%2+qi`@ z&{ZqR4Znev#C~ZE105mzwAA+2_ml&E`ojbl|9`z=PEO3qhR zol2hcIrc&k5qpFmA#;C^?h$TYVeKIFX1n1~GU?38nG(D{T$yg`_QEy`L%1On+<&9pBKqVm~Y6 zzE@ozX%l#gkJ$IpzxEMlrIQLmRN$w5S!K_bFKSvIxsI;g(f{Y4(8k$a}ax(9L--Z0pc^api*;-g18{<5~3(vA@-t ze_1NXKeV}sWZZh(>MI?XV1Y#k+J!@r9|OsuNI5c%UzwDvCVN2qh~1s`9;oIYDdxYH zVvhaP+QkE1>^Zk9u^wm*6rHns!Yt?JMfUeSwF&FtJ(6fo?RxIaXGVIWuRNqE>nUwd zPaBW*oGD>X?#6rQ7;Tzr>@c1X9q2r=N|^LgN=JhVZ- zYr8eK2U@eJuo>ooYCNTn0*cKOFwyZxv;-Hx(vh) z)c}67Dm+OSY33-&M_T;L>Z|?vHVe!E_up^rqPNm{9Rm@|0c&qcS@xy19N%!j8pr3% zGyV8XtA7?gxP>E>H~7-pSY=qC(yqaH>-bMC*e2Kqd4Fo4e_v!sJ!suXwQf3S-ADO{ z2BUVLBi1ZDD%9V`FIG15@Pv?ngD7LR!!qNQ!`9UlpK!!F6?cXULif1pQEMOm z&}Dk_%}1?+iCo}o>jG?cefhQZIYsw;V-3@T1NaXL-zdy^%=(4)(0%2Y^`1ugj-5ch zQ33oO;V%K)c~W8#iSGI*tzYVqtFhN*V%LPE8MJrO34au(Kl;T5x}(3dexuQiX=hLa z2oYzjr-|Txde$1Y(?YzmH($6lcq-py2DWj(nQg0QlPq^sIpKOJq;&C8B}@Owa_3`< z;kvQyFMRYu+k1{KVHgkCX4{jSA6;mR)N|#bDj}Cq%y~~R=jSDJE*NeT3^}pBxxt*z6C<_@+tMM!&59QYZ(h6JK0cPG(w!Z-ir8Q#pDZTM<>A7->V?6aWdHS z4$>+@z<@vcfjea}etz%qs8mak*VBrMd5>KOC2d3m^S%OkdU%w1f3(cjLZ}q;y31{~ z-g-NN)z~y|NA5qC+j?4+|Dawgw*_~-{@MHvD{@pEk$U?U&cv%TtIwtXpt6{e-gS0# zzVsjTyYwGaTKNx}qx=WGQ2v9u3YI>jB;cr^XFO|J0I%D-c;88ao{`u8MfnfPqx=VT zQM~^SWdho_L z2<87c^?@GN|Bn;2{C`P{_^(cVhH}@3_71UZFFwfi@F)GUQpmxs;s2I`_Ol8(gxi+R zf>s%eJ_?r7ZyoUP&&E6b_@aHb!Bic& z;E|LW_r0?G>4c}TE=w$sX@aZOzJwCj@Z=m4}CXR7{50$^VogfWA|$x zJa>UQ@^UZs=Iq!nz3&|B(0=NE-tRaZS(M}>j@xqZSI;upzzoS>AhuJmBo$mNRrkK4 zr@>A?;&!pP#!u&`Y6JvE63Hr9U|AGA&R>4GC&vj}B#(NY$=gD8*W#s4*s5t2`LGkV zoR-?4WZ{cX*rK!2)^kV3TvdT_z#2dZJY2Q-trNDX)JcO+qT7T!nB1pqi>N>LpRx@X z6nDLEZQkoG#1!Lb;nv`s?!=MyRu&(sAIt+QH^MQP@8h;C?uQ@PgS|tG6)#s#FxKk7 z;w6fgEL*NjG;!V&?3uHaE>Tvdlh5CVg7JQ^n6azMWb*`jZvX2rh(wMylX9Vc{BSg- zXh3GZZGye9{(f%m(w%uNt#Z>1N6fP1G}j`_a4_eQc^O}v9k!`X`kCIAmEg;9bP4Rb zqbV}v1v@@0zqF4PMd?RC&;%cD&}E_vijC|RI9|}AQ0gS;`c48vo~y9nI_*(-WpdW!JVoQ5twbzm?u>kt6xo;1#>I{VRJPQY7m1TX(VB+ZLT4u z4N>LchWIBC_SBShJgP}zh7U37pVx%WcU`^-G6=&D6JxB>sh&X&jU7+Xq|}CtO>e{- z&4$=w6Dj!~X~fvNCcM#f6uH<0yZ%k(F@fr6K`}h>fz9|*q*+(t^hMj|s(IAYdzvG$ zrEI~fmguCs`o}Hle*HJ%I$JRrcW#9Met!JgX0OZ+GM4Do8ZwGDJb4Bl&+9g%7@muK zFaLyto=rROt3)2(0VgB`bzdArLY;ZkOi*8TPH6_+nCe?POW?K1kjB(yXzg}>+4sZsnmouc| z?NAtHiw_9VcPe4Zb3-V|YUQ}ACVWZ{vI>3Ite*+lN=BhWAdlH-%Pd?A|4K8PN7PvP ztXKXXaV-pGwHzK``#iTRu{h~}uDF$^vDJT2T))Jg!@CykoRIKu_j`{2huNl87Eg4T zhj!dN#Re7)%;SMk5b>$iBYM7@Y`OT|h4!8Q^Cr1*(7;FkpVvd2Olx=ehxX;xq`i2F zgYhT%3<^2eCHy~9(5|YGgVA>tix%X2sX`7$mWuG*0WGr%IaqOo@JRrzlnOb7nPPkj zK&uBDg&eE{LIbdr0kN|Tf;a>rhsZcWg&d5m7uf`DmI_HPqqH(H*;+nsjlDAbwrtMn z4=Xh1GWn6pmHY7;dv;xKV&i`6?O}vb65Wl~+kes`o1j8eCf3k|jqyi6Ots?I#O7}P zk-fKOr;POT=2t(lXXE#mI(^&^Ken&YsLuJH$htq5=sy36y&5IB!#3Lo=}A-;%W_ev z1xS5FKP*AOe;_678RrGkg-(ysdO*qZ+8cO zW}hqi;iGM6>pC0%hS1;6?<(|hi@3Y6+rGk^ZtB!dc~g%FVNuh6mq2%MprJp8Y0dp0 z#5vsk_uJQt5;+dZ5|s#lcJOuzM-etK-HQ*|H;Ha(c*I^vR59`dQjVDJMesD?E&7R? zPMuHq8~*60x}M2rARmoC=+{N+-_vDodXROp0T13KUKdM+velmdfI+n zJky0|<<0Dr=)QQ?-avF}5u&&V({6R%JBEEDgmaJoWdjC7y)*}hD)_=}U! z#`GJFfw}aCJy3H}chS2+9cF_Kr+`2wjWkV-H0)`B6iKACE(8Z9yn4N*VA*DK2j8-{ z5YMgeZToobFTI00Zlj-%7rcD*Pu7Y8S}6BKB9}g;HTko8`m!a%wPoH1P)5ii?hob7~ay6(0Spf zk}b;JP)sgymfF$?+-qUJYzf%X9=ON$xfweM9@#fAEEUF*EGH3<;f;3&*Yz3z{`i!k zMOa6I-yV*L*!or-O3(vqbE6X4bGiCj&Sgl+T|f(*DjRWq&7|vai!d*+`zJeEysl>+_6z zizU=~=9w6>@7hzmr+oetP`-Y8C|^GtaLyTQLg-yg9e!HIb$?yu>t_l+&+qc}b4$=O z+PkTxeEm#OzJ89vE)Ut&F_f>L8p_wtSmoFcL( zEr%zJEB|Nh*#2j+HXbtS;yDKQA74MP6%hX4G04LISB@T6fM?L?|M}uP; z!cos!t<3NE4$*p0I_ja2bkqZZKWIT%Hd091>Lt!X+Um`d?l@>TOvioieU`sH2O2KD zx*$Ppox%Qp%wd?l_`xa9fda+W8IFMV)>{j=D$0qfh+xlcjc7~nq}w5oxiiSwQtTRPSwv%5_zN1G4zy`g;G*5Da*+_4kiN&ZcjYzsDc zt`u8o_p@h?1IleC_Fx)4_Rkz#qFnK4;dF)eVAhHy?1zW={g+t6PD6K$#WL2n8ZZ9} zOW5zL39puyAk*IkO;VWsl!jFASC{rcSqdt?lC-tC zAf0Q@*xnYhFtz@13(@*OaI0@x%ACbpiOV#@ZbQk|BB!00sBYM5=*x?Hn_v<&Nc4vw zUbl_d;PEGpcT^k3CgYEOUi<^y%*?}e5WdxhH=*zoguUAG;S_da z+b=+bakP>OWe1^bTYi)h>ml5`Z7MiPBMHH_u{_iZ~H-p*+tlx>&R zfPEXiGF!tDYtfGJYdM{HjKN5o(q7(rc_i#=FZM3P(azs-yt-3Ik>(%)%AAhaBj_k9 z7e_l+AU;)^kTsl0-yJ81+0i&?`*xxup$=k%ZJqIGI=?NJ4RNn7Z~LfJ7btq-kACU< zr~_yNyYM;|+}A{eKk6d;XdA)@yYK~|J5M5f9)I+MeFW-X(N*_Avv=jUkw?$bRXn<| zt~f^yW42_&mmXbIH^$0{Eu2WBD#EZ(GsVEAa(2fH)k9jI6_#?#^uP{hPpOD{tS42yq68PFk*<*#T`8a@6Aw28#+`B(h)@!{t zkC5@Os*FGSr5_&Apfw!Nhx_1pcSg9^c)EV1k%(}~3H&J0n@oTpb%JO+jdtgF#QRQ^ zb%7JbnHlkhp3BKrU$16FYgUe76i)?>sY-g2sZhJ&WcH)iNm z_*t4J``JL5<!os!XEPR_BFiQFqTYfjXviFyfh5nT z=inuoD>GcB4CY+Cps8ZvjVZQC1{K?t5F&V~!k@wW4LBVWwQo#(+U_I$Cy zYAlrEEh;o#2V+(!1oF(?`m$L)W5A4S_z-h6y?s({p z?by?JxaVcQsprMccu$O=ndkAP|3Nkjhla2-&SQd5e8yFL4{yj5|2=}t!p6`Wm{@P{ z1wrVHZ3yqbp}Lxkcb^4e$4!2l67SwbjW@*y$LAJfH*fLs!61j;hCuhWEaSpyexn=+ zzuo3jC^7I3hUy)eNJssR;voEXhhGqhcX1BjF4sfMNUvgdm4FMq$$EQQz!k_Bg_!RP zDHp#HVzw3s{CP}fGmO``I|dB zVIaL`!a{Or6+F*(o$X($@i-DBUDL$=vK}MFSD}k_%Aawc`3=&cnO>&~J`#RfMosz^ zf}U~T+Y3+KPt#U^Rpq-8qrcx)b;zU|Pai{A8|N+e!}nr8nl$CZER-*!w!kPs&!`n} z5gXRDkDgU|4U2~b0Fo4a3~d0~z`m<20u-`J%h6MnH?g}?GFGCXjjp%<<0A7vo$B3W z{O$M`e_Wt__bGy&QBwAkl9a{ZGxRP=*%GDse?dyd^lb9%C3|1BZJ~yS;w`Zo%GAPj)>oz~_{zTt)E2Bo-3m6n+ zYqh3BF2*(qdeNJ2R#XZ{7Ichh{hrSxop}5jR%in-^n{*~hul)O z%ch03{GT5<`vftWKC7b!FnP@zUWQXSA`sGEJ7OvZK4V}*b;;eX<(F1MrYj* z;m^U2;(z)xg)wsqIhYr?pk0DyRUrqhGR#=4`Y-;t~ylQ(bgg?mQYva?(nl^oi zKTj=duGY8fymC2nIK{~@Ij>n<%g>X`o6U)GX$PzyWQo=~lE=E?(OMXvTfyu}DUIhM z#Z^k1Mk$#}YkB8B^AF{(Dw>Tcby;a`H6_$8qveIgaC0CLPgOB%ljVihnv0jJVlGg$ z<%lN6m`f-cRMlLK=+3I&4=Uua`T~dfZTilV)H>6p%`A%jHjA@s1=kN=|We5Cxkg{`J3j=TojrK%nnTU z=I@*S;rzh+W>YE@S2$B7zgtZknW5wyRWcQr1tqyRL}4iTtd`l9O7_@{F56qj%*L10 zHk)TC9%GRgeh(Oq;?*sDy%WVt)%k1jgowX4`F&NgwklbdH?Aw6=+#eg$*Fa;#0+H` zs4|U!VYpfoo?OoyNzIJdiZT`Jn>{kLu$L;+8yJZ)eJp(P5NA05rM_7kCEdjvn1)VO zR2gB05w>n*-XVk$jY!_3v3ZapQBBOF(sW0qrr6JkY-&y;@}{Qdo9qZxx|%uEzJ&8FxybGDEDe*y8OXSit|)KK>7{h^T#qx?&InUTmu{iTniix zTo0TK+yI%88i9}yGI$Ji(Q#uMiFD^27y-mqhPcyg zz($DY0CoU|0lNWdME3!P1F=QHDBn4SWhL2c%(J5oiI%0Kuc54R8!F7Pu1F0Z2+malpO6PQb5#oq?x-U4Zl~y8^EPy8(X& z_5eNt_5}V8>;=SgX1#&dBn0{(5CH58EDEFx6$jFVD*+RLRe-5LG*&zc^5RMj><)yn zRM$Y@a3IwOAFi%(Ks-`cGH?`dE^st(DG+&FTYyw9X)6MQ5ZDbI1Kb0o3mpN{Gye`q z7rG3b47>%zkv!LLz-ho2!0A8(Gu{lK37iQG0pjAW{J;soC}0Y(5|HXAxhCr87kinV zXf~MgU>D&c zAiW!ldC&eb`?3D!w#dI{hofGR9Sa&U+3(hP+gL4}e>K1?hqk82Y+(5G;-DgOmxjsXCZmSDmB5+YV@4Bxgn!eh5Lm<NMPx$wLw551y9F9xKqS2VB^kY3U1z_P&l!16%)^3ki> z0!XiBcOboreS!4qjRCd*jt8~|PEv7v5_Hy@j~`;r!Tr1O)$*rl+KsP`ulUfYZ?e0? z2y=uWTpB4S@K=PGz_X8%SW#i@DD#)r^ks73kG?AOYsi?3uqBY1-WFIJh;$du3b1xS z(8z?Ct1A#woU0$OBM^I}bbMOeLKnVpwEXU;trgI&qI^h_`8hql5-#%#9s81xU1mRu zclrQp2gD1GF}G6u+8DGIcc+a7dsBe=o%*>j{^%Eg=Sy*@9=NgrvjU3%v+=^?%vDsL zPZj0)lX2#@s#M&HWV#>vVGa<(V?2<)z7v7;_@)4J0_io*1EklNs-4Mik2eR4W==5S z7t@QEm}qW#@9(3EKHT)9meDW$sG=^;A*kuodG1N(S*q{VB=b-t<)<|el_!i;`6*04 z+}6*N&HI%9%oKBP`rC9*HIHX_8;Ys70F%GCjpBUuG_}H>ZtkaQu1z-&P&KP($lf|Q zL)@M_b*5QfOQQBryQw|&*3iO&em)Y!{iS*Ip~+*UqNh(!^XO9sX*K_rK1i&yWbXHn zR`##yUhGPcyU8rmz*@n}-Db9_iBa7yMUIS7DP~cT^6?y%vT3eNIXTx1pcH;RRrbnrkf(`^T=$Kx`YkP6M$!EWYol?xsu3 ztMW0>b?7nBQ0R_l;RmEY`nASt#7m^grFGZ8rSC_&E=tPB+4&vmntG^oow&cId$Ik& z?yXDBPI5_92syeS2mLTty9ieT1A%LS^g6Bsh66tV<^^s7(#wHws~Cu%0*fP#Ppm5j z_&JaU#|~f};4UD|HG6@y>fHy#`~!9!fsPIs!QgIsr(jL1D%mcg! zEC74}EDC%Gq_x(sK(cFr#ek~@@ENc!@HvpySTBK{fUkk{Jh3hg)e z(!eReiomHrdiSOSYXD~eX}agYdcf7dvDEeJ5TMb#9!QMD1|W^%O+XsOn}O?rp8+=k zw*o%}ZUef3+ktz4JAj9Qdx13Cp?~i>3;Ysz3HTN82jD^APr$>#8@N7$6*t#?5Pk$c z0$vCH3j7)P40r=*Ls$L=^rtQcW&!>I3BF7aCv;)fl zeSq|+LV!(@5Xg)`3t(0t*#yW2q<19;klv|CAh9^PfPH|ufeFBTKswBjA4rOVu|OBF z1CW-{9f7I9&cLO>uD}(*ZopN*9>An^2=qdL1WA2?TY>RFH*f%OH*g^EATSa5EpRCC z3UCS(3|+zzihNdVDqzYz<2R zVhP0N0}BEd0Hc5lfhB;8fLQvlCBQ1c4}mp+%Ye0jD}fDwtALGxYk^q$unoXgz>k6L zfuDFMfrmoC4MGBNClG6Mwi}4WJo^HOMLatIbO8?nCjq|!;$zN^0cQfw08@cyfs26O z1D62L0oMR805<|J0zU&@2D*V)lMuk{#I6A`JF)A)FMz)QF-x&KzyrX0z(c@afhU1a zftY02OCTl@_6m3d_!>wI!yiD*C8QAPdIHpdm?M}M@DsB zKp!9-mkR<005b!FfT6%JU^p-jFak&(5h8)5fVqI=$D<&y7O)5~7FZP60SK?$t`Wde zzz@Cf{xwA42nfxASd+6Bz@LCEfe(SPK)h1D65uCa~o|ya8+_Fagh>twLY~2y1|2fop*nknAJiEa1mL3@o+OJ_0Nw-^PD0=o0@1+RKy(Yc z3oHk`2do5q1grym3~UAb71$Q|8!!&|9M~WD0!W8RUIQls{{W@}nSu8n=nY&A%mh3F z^am!P)hqx3w3Y<{&jEvh7lEO`JHQ;k`@k?DF3!S%xEPB7;$kcx5Eo&EfmwjXfXK_D zfXKs&19JnTfq8*woGU+Yng#EFQ3R%gP!X66tPY$5Yzai`U9rG2DA);D7T5z=9@r09 z0Z4w^s{)4rs{uy=QHRR~tO=X|d>=R&SO+*A*c><)*uud3zXAbV%(VvC3b+N>8n_GC z5%?t#N4Q+afxUsJfqj4%fC<2Bz=6Q)z(n8;;2_{_AR6Vm3mgG_02~SY4LBP35}1^P zz#j;V2U_t7Mr&PuK(x}81vm?s6F3`K1egLW37i8g4a8lzssZN%y8!n9UBJD-DM0#o zO#?m#CM!BEjOn{zWkZ>}h}-|=A^N#+w1hS_s1-FN|s~s`B>0-I? zJ~CCu+(AFwjEk1?FMv6LxG5Jcw_gJ(AI0gjuUjQo=LPJJ_&H!A&;}&#E;o?Af%$;f zfdzosagD;jOnCco@2*suE{Y*=9E1`;h|O6vFdxQXDPRd8I>pr*SQfYqSPmG74z3Nv zuwiw8y?}LrczUb_upU;w?TL;BPX}NN+)+nh09LJWz(0VUfIECJU35m^BPUkN!0o^u zz%PNlfhU1|fR})Mfj5EiKyosY03D6kfA7_b>| z1h8Wg0;3S<0~`w+3LFO<2b>5@22KJl0!{|51x^Ki2E;IM?FCK;egm8dJO{+Ea9sz^ z0^SCu0AB&|{9QJ1uXBN!fE-vO9D#WVx&*hA3PS^ zjVm{>Kd>@z0I&gY5U>?+Ft8192(S;3@_~h5!-2DaBY^XPqkyY`qk$WN=p9$mrwDw2 zz)m0*ur6|?L=~L@jt5=0K4d0^r2w*|%Y6RQ>>54-?e3cLiw+J#*PegeD#`~r9tcocXIcn0_*@B$Fy$n^v8Ch$ifR_ZP+IT*<{ zvBY3^@*`lul!$@masclGu_Ry*fVqIb13Lhp^6xL2ZjyH-UozKc*xVY$>t4oA50VdF zHkW5e9?gecF^5v}lPl)$K=+*=%;lH#Y5CnVclk_+QuYGM3RCl;B}$bkU9MC(exz;H zKwkt?^S?FmV%ZJeXsdUqUOkpynQ4jiUz8U!YAjy;v3Nc4%P+0oZMo-DSpRSwzj_Y` z>{pCKr;g)3_kAMueB*i4eb9=I$9;|$2fyu@{aN?~e0%r@nQ*+^W#E8xG~!Pth;*Sl zlV>89vJ>fidZbYn;b#*?nmEW`aFVPudJ@VYOy^;N-rpc*S%NO^yxJ_xceCW3 zw?H^Vsw#+Hs|8V0W4_rht=HNjo-O5Vo%K`HwNg-Sj=Y^(b41THodcd>?%QTHpUY1^ z!R2Eit;!;G8AOlONmb3lL=Gve=-g^t=4}8`jANc`D)nN;dHCMX<0t7MHAOflJiI~6 zNYvAKzAV!UvWB1qZ|OA`$olI;MDJWE=`-AjOE_|ZykI57 zU@L_}h0qZ@fcS=0eAiRF1dmq9dw8=7oT=2IaFCeIxdt!L8mWXKjOmpCA#5#=edZHs zbXkj$yjCVA&={Qq!n}3-BP8lq*2$ZEx(?IEdfB+ls4)V%7Svm1H=x%)l6NC|tL8^y z6x99*z4)=zY^?jS&@=4vF>XYvWEfP%f{lW_c_TQmPh`#;pGegz2D#9~O{&&pi?<%R zS@cEW%@{*l($VW|5%gwT7>oH-)ZsPYQ>7|3^;4_>K9fzRj@$g1crGWgF!*MxtV3u< z{;^ePV&&R~aqCV;Z|)ZD8xEP&=H92Y(OIBlR9za4P35ifp(UwVVFGvo-^ z>?7&M&Sns{9!*(v9kw2i${~{FYjC(<%ihZSjc90X%xlGuNmA!yf;8b6WBrcHwnw1t zOOJ~uyYD#o^%FAZ4=2RU>nHIEJSiJ5hFs7osn3`B6vpT&l|Z8=;#)bK3Vn;&>$`Lb z^}mw|Ex!XRd0JkShUBo*atjjLGr5p1vVi;WH$@zj{eiGs7m-r=b zXQc7nC9DoErF%>_K=}GHFKlr}>i$<`e}`QG_jV;+;|u>FCa_{ZKw5N_ccigZ>Z<6< zs#ozQUz4P!*957S@aMZ2 zq4(tX=EglidVCLRS@-3Ie!b6^I#BxAeGJhDva4OQEf&iIu%-`Xo~{q65sosbwC6(% z)rT_MRR`7=>p@uZNSGtlPd*Zl_vItJT#u!N(yULghJPXyw#4k+3h|gm@@AxD=lWl7DOmN5!I8 z$7iymc0I!)_POj3qQ7{~_d0Q_EnZ+b|B`o{h~>>kFU8|}^Agg8*OFB3wIEFc(>CXi zR5wP?!9Qfd3t*l8cq1ybHbjL{OiQWyV+4hH#l}o$!YD)@|MqUYbQqDSj`HHQJ)V@sJ?qu+nrk-Oy4_{glUg*wENX zt4hd%1l^|bYZ__~wZY#qBB&>a*#RlJ?HU_vhy7CDz#L|7blG$eHaj%lKR7T#|H;9l z{GEBNH^6tMny_vf5SYWC&Zm54YOIG70sQPj6V>dB;C_(uWm2`(LUM61sKb2K_4Xjg z249W!^21%tw&yUx$*|Ra8Y>+jujkbxKug*DJdfTdfF}gtK_?>NgP;8J>Og@!W=4a8^ zqO7>^R6ERW&9-=3k7w1`l58k5%^snj%$6F27M#l_FA{|kj_evMp93XA10%fpd2%rfm2IHt`Bf*C%rE-Dtbu}M!NH6wpz+PPO-{PM)>Q@2oT*SZ{(9i?UMMrqW37lx;EVhlx=!OfOcm&FH{ z^(d>c!sS$1Quno%Mte7wR}bK7dG415PvB;GEhX;fJXZe-8hc$qmbcbI`C=8dlv#K4 zSchN$46LLo4#f?ws-&?!mDL@Cmt>bKYiw(b%0YwtMvTVH_f(GUAQX5{W7n$59AqZK zVpPYos;-{FUM%{o^+2guLp_6j2+)Ak2h`vXv!a!QYovR#f5f91{62C_v`1LizOS)H zwbX68V366`25-iT+N!3)b;Q#&PT-EB>hPgEY4clE$)=tXB*6sCC zVMCc}V$IFQG}KtmMzXD@3wIOUNMoNiRynF6$Ip#5mcI$imj?yra1=(4eoZvCpecWq z%~?nPwJEQa9TotdHRTCF<5g3QO>V{)WykY1n`_Lgg=%Uk1jJ33gQ1EXXlJDs8fyk( z<-g3hTSgwNF?ShQp0n@T@TFmB#_+ZpTOF(MS=(V(0XKIp z7X8~!J>BadWNELlR~=-#^r9W*+)}zD#?>EryvhUVMefj1W1Ztr3v5nXQ2X3CIc|T6 zLv5W@%Tka~xHE=VXVrKyZodPiZdZ+0ec~Ts9o1E1`w;naM*SLu2i;@^!UTy|M0Yu) zYeLpkqKB&bDyr_%Lu1u@s;Wt|-rB0C#=hyLvfM_NKYD5GW^b9r#E@jKdTT7Eue!Mb zefi!9>XN=1I}W1gJ<=MtvVI!t7_X(&zn;VFf_hfRYs`_L>cJbt!V)yrroXxpKDulg zBw0xVR5wmTj>Qmt6-ZP$EFiQ^M4f}wWKKC24Z=7ZB6C;|ppG^}w7HL*k@Qq@4Aq!r zxGH@Sgfftj1&mB<;~Y%D)kk7vk5;2?3<6@#pO6-qGFnc28&P=1Xbd%+cBc_-dSfmf zgMmL`j4Hbw0a13>7+J)E9DB!T?5lCI2!A*i*E7d!tiuFVW)=dX%-poV{ItO039=Tf zz}d118tXSvPKV-ynK}^@-XvAYT?9lW4=2eY_}sByC*dWUqGr%nAQYN{&*U_|C@%l zW8>$@9Gv{+S>1C$o~yFZhzXjju~w;SxK2sMNI^urie&A<`XeZhxw-}o_}ud}=AI`9 zf-sO^Jp)Rf1u9ExWNEoTW1Bz_wGfYN{SuVJ3sn|ekiCE$a^_-Y*KYCK|nn3<(uACx_T47xJVG4A(nbRn>Ds{i@MW1XwbJ?H1_mU z)um*X#2Soc)v2v23pLGao5q@NleL)i?0bS>*{*V6q07o_#|QLtv;XJ5JU+4BFhy}>Ku`i)*$3aK7uYds^->lxCh^(8cX?F)zJbuzWQ2Y z*}h4ugBBIVzR?&zChKT}9G8z_)E!UX-m1qn_Q45N$@|Fi=?P5vAW&P$Dyr4{q{b3Y zsT}Q*V>Lw9-ruHOhVCZIw;CJwoxDtAXe|6} zx;rU&7HgmH)g|hpf~$~*7dn@A3A&Ri=QOtFyu3seFv7YYkr}trrS83@v4bFp)RTxTx}7fd_-za`5X6WO z)n5T+;~klWq&{9(@5q5y5-rVo7i-dcs{9sQJL#Urir>duPZNsx4u5c8W6vL`@n7hn zd?OnmYq5t|CO?!fF%K_}74_$!oPUI#p|!sGn4c_(F&g+-WA8tfb1@flVLT{FPt-+; z#oGKtV|PIiA66GE%vi&I#dP$W$`XMrvA^MBAP}>}iRHB}1ZC#$Dhqvl_x+Cf^Qmf& zs3q>H#`-=}S!k$#_)KF#&(#NxUhX!}!A`tTIg*eg>ZQg$d8r;heSJR%p~h=1WihN? z;aN|8t+BOlWK(g_8`~&vG!~-k{D<*IgjcMt6DMWn@B;s<>ui)omrR)rgwOH4+-HNg z3i`|xLD47RU&2jYzM3vtjg>TY_RJ}>SV=TgFcXr0^T}hann`Cle07>ZBfJ_?;CE1a z`0A`4oGMe5^1C$JPiKcf5nU<18P7p^?GFlgPp@JDI<3#F(Ksg6Dgd=mcam(@IvA8r zfvR&>$9@bXv(w}M(pVs>7yyfe~y4mcQb_d*Enu$|(%CN{i1&+Rmez-$ zoGz@gL?erVXIrj_daPoo)(53((R8&8EUL4iAjo-}M)Md@1{X`0Wo35FB%BUqa{FY)p>>5E&hg;C_WJ@T^ z15mumt1RV_r4)1v;z6JhXVRK#ItXVf$Q)K;POKH>^QOcOc(vA4Qi)rUc)pTM#DbK~ zsI0S0F{wMz}1Evl*WSu@bB$7|~Bvs$VbX|NuyrQ6|oXexdX&yVUQTL#7BQ@eRYZENZDFnXO0G{j_SC_um*S?8>$?okYi3mogD!| zu77B@B zwoX^c<<^);+NfI*b5w8}on>tcH_627)orV@nTUvyLf7~hgsriv0tW~;Vs-YYoouL( zcfD+W*9DBlNL zlFOBTD3@{Rtmy|Zob|*%hmmj!$230Rduuyuw_c0veVIlxK3V;!{ud(*O}i#0_Us2| zlTACvCnm<$9~S;+dTgzF;f)5wcOMYfw=c55az%-OU3wRZ?-Z-N{-ik1hjOD(P&xMp zb({^%!Wr!|b;Kq8w2bz&zF^WWl(HM9SHXG*_Q6Wf%=9k1Tt5iT~QFpF~ou{4XA@WO=6-xy_?R?)I!)rIZyl;O0-dS@T?SpPp{;NVS zi}aZH@&s6~c`dhm7hrQ{&I6Hnw70Mi)d`20Q9h%6C>+@Z{pj#)y~duZ6qEA$=6j`^ zbi*b_dqF?ld|CakTU_#q%2{&V<8~o!vC$#ulRxP6_4PVeiml6%?csFqte=59F!;=a z-XVG-Ea}4@S?IS|vcAg>SCm!S--@?NFW-l)yfNKpew*+%9@@=DHd1Kf~3w>=; z{TaQGSM-r~)Q0;AM_-}4eJEc>`)46eX;-belV79ywm2zY=W4!_kLP>U^+ZVVTs12# z2>~sWbR565BhV&#b)WzCp_U@Q!@9QL$KT)cydeHJ3~FtSIXEA znOusB?Ng$2T<0EL|LrbI8r1i{^e>n86^k7>@ZYcW|5ax?^F;jUH{O{&^il@%2V1S4 zu)DUecwk#kw8=w8pIxxl)btMLP#7-sLe`e=VhrK+}CJ%X9 z@tl#ua1V5JMi2Ir_?zc`(WzmY>8{+>S=T$s3N|1FOJ$RpD&%012w@cr8p*pTBrSB2 z~X>%dSEW_68v=Ls8ZXTnB|5jI{Us1dYrVP{_dwB1Alz$%?9wgH=a} zmYpUe{kwkwPDZ9Bd&%nMH3wxle=~q_N9LEzD$}tB`|{ z3Qtx+qeK1_af8p~w(bc}LLbo*}VDK6I?;OG7-K1AKOGXL-GnKi`{2i{uY`JG*G}c=JBa zk&0H77Z~RB;m*F!dPr!~_pb@QJh-2;HWE7Ya}H1?3i9yb&Oq)LFB00sI}<74WV|yK z`MM`K6DayzL&C5Dvh1V5NPt_zP+n-D zvknpl50oW7t`s<1p9dzga$pEwp6G1-XVuU0YgF~PLGp5GHau-JKIYXUYRYsBG$4mWxjJ*lGRnr^)zt8P< zt9$R+=iIuDx8XLbG|!SIl~S4v%^Ee(NK&B=jgm@eg`@~kG>BVClQJX?grbrmLWF$j z8}fgD*4pRK_usGAKJRC*{j9Z~HLtz*I(tvDxpMC$mw3EfW@=9kE9Sc=JKIT= z(mm%+XUMu5p<1Tg-QhIzU5$`3Zt7j}44J8zYSkj9`FDr=DJHaS!Uv!@Zi-9u!4^dp zayWD9zXLp6%LaI7EFR!xX6~*O88iMKXP^!5%s5_TQ|^wiZz|mzZpYbM?zKL0j@=vP zttUkLm7T9vPQ8c2Wt74kUc`5eO)Br)t7Y~r3jdk^3Uvl%$1%RCc&2eE-JCb! zbN_bCsqkpHfc00SX{c6CugAhg?a{c)Ia>O7xS~DceSEb{`=#Lwb8V}%>ZZ$c;Y`!= ziSS{W!OQt-<#4W=)#NC6E8qELsK3%8R9ou4IrC)rQ`xz9SvW0Zir*OOD$gTs#Mr5O zXug><7>y#aFO!Olf4*;@LECjsjXpUcqOa_+n8cchs#G!AZF4R zqQdJug_mB8b&EDt2ZR9KWO@`^F<;rj@ga2X1IPWcjC7?0w zUcmQ8#G2Ok7D*=be0Yd_mupK2KJt8cLHWl5k55A7*)n)3Tn_c@;VCn16#>1CSkDHu zSCX0VLby{QTU9wsHe-GWXSvrp{_+CWtPTR@zuK`1D7<9eT^%kTl{Jmy)-(>8+U-Jh z%vY&fZWh#hTUD*BG5)VgpdS;7k_U&?41_-PHZIo-w#d6`zwcYXM(K&OL= ztqs>UC)R}UV^)O-fF!i5+5tRk;q~QFO;pJt<$E6MnUDKK{duv&VnqVg+CdA7Gf5 zmThj_M4#4fW4KnJS<9^07@nO`C{Rxe)YHwB&BU=CpQCLYyR2j~8ircP=bBC7eM$XN z%%%5)vZIGNcbnBZY9+H{TKH0F(T^`pt;|1YWp<4MX3V{4uSA|`wN-EvdHVm58^+bq zo61|lOEUC-Y0i0dpt`bpCcG7E4k6xceJaMgd5vwOP%Fh_$Aa;%hi4boADR`J{>Ut! z+z)6|53gN`$jlBP2LvS0G=}icTqjl-U!!Glm~Ap zQo;0pBfNOg?r$$_BbUFlou~9U2n?187>u3m0D(1RQH#e$e>U|1vFrHc&lml z7VV|zpiu3=rIuO!W_W?Q;%&m-j`|DMqcWOxSqj_c8xM>+gvy!dbS9-c-U{Dkn!iIZ zs^NJ~?|hrnOs>lW#oT~eV_zo$yYx@7=&s7EO`MvUHP~vdp#qQ+vW+n`_@g zLp||UtD!DttBLgwHIwCA`%@0R_JGhXaX5ebp zELIxWj#s&^eX&r%)MOmADZB&WSF62^nj0x4xsg&*s<#X+=e9zUdE#LBI+=0yVEDUg zhvMEOId777go^qlO^c7i5&7!+ad_TTMXe^(hF#m0K>+Px365DL6_Z)l zKutSX=o704yFkqIy2Es+DGq}isV*jVjMrSVR=cv%f;7-_h_;l^OGi3Z_>%CgNw0hDQ$kcknTS!Gkv)s+49xEkV&S zj|}axqGjb#P+F2)X-RSu5a+g0dS?5v@S38m{GkXs;h@LQDGJVunvAWXlIDry;iwE- zb3FX2txTDmlhN9Ea2r#-J`Qyq{~1*DC!lT~d=3l4FQD#SdyF|<5x+}MeKLD-VxLXf&>-x{IB>As0;36fmiN^;XD=cb5D zn6Ew$&ro!Gi$^M$vnRr3Oj?OZWwZZ_aOVyx*@Eny*tN05IVKi?JV4YnhJA%yQCN)Q z;;=3(0k483p{y!pHhj*|xa7<51Vz;)BT~!kKgspbyo^YBMb+H&{Uw~<@LF^gXJTb7 zM;JKiwv=sYO!V#anWZH5b$6A`&@ZX1Z%f4{b+467m%@=d71{EW;g|BXfTls9R|J7J z4+3ow1lrP^{fZvzm9N816vmma!@N~4!$iJuto=>+v2HR{^{NuPwxRe{s~Qe<%W4Ev zQPi+Su{e;@^ww(Ymg@Z)cRMG^lsXljI7m}}Rm)^{RoAxc+7y(w3Di}0FNl>79A9Bw zFFqf#rRKu9EYErK>#6W&+e{Sxb;0>Dm@9EC)NQd_p_;>ZcqL>iW?wfr3APX1>6h)x zG3bvyxy#17Hn|%EDb3pwNU0wElRcZ}HDU3xSJ%}3F5E%cI{CZ*QPY%fAVF3Ht&Nv@_lH`Vk;=7I0y(bY03r^D0pREw2_iK=}~hT>#` zV&hyD#JSq^`<{CI^J$hKVRyM?-&Tv^KZKX&8N*ocV#C@1qlEPeR42O;>Jn!Y)Fu0? zP;ExX%DU5;^Y@S8xq14I zEyO^u_T?Vx;C67Vj%_E@1u2snYe8FUK~G#Hxg3?0YCrej-1h3MIeo^>$ZP+^(7$3` zp=ilBgE*ML*i^p*i=+Fl*>Z-yZW-d$HqaH4jQ?|Zc&NMU#25VRI`OA|4)4iRGR&%C z_~1n%&c^p)YmPsFjJeErj{ijXUm>yp4WmyT4fi(T8{AgZHK*~C&A+wpLt+Gf}1PzCn|RJMHy)d;_WEg>tDW33>IpkrzvtaP@+ z0h5lHQqAJ#*h_&P1>W6bZ5lOrF;0?P2O%ldqqh&-=;y7(o$k0>iMU&hxLX}bX7zu# zd&l~>gFh51VH*7A^0nP>F7ZQu3%_X-oj9NQ8KaW1;8&8suBtqL&L!!!bKz%gQdGruv1?<>5)(r#`BDd# z4`#t+s0PS_VLKfu2AgnP99|9?6z$7BbzU8u&NJb(=eq{yyFpe%+ph?u!`t)>BaASK z6A?HCGCi>``^V%GBo7E5v#BNfKvy}{`;Po3}WIotjW zKORbF=^htHic(AZKB9I`x!{U&!39@4*9JUrA!wQ!i)4c~`n;If8mfP$FS0`|Yh7)T zvd}Ts821ja1!VoIoqx!^KgX;*jj2Mh$W$MA@UDl?Kw4XDJ7fuH>@Z|$r{0!2)nf%` zOlvz?xEZSg$@&;`1pAWyp717)$3g09Y#vlZ${3~7HEBt%NlQxg)Ks0DnyPa<^5eAA z>BrhsiXJ}r*@OfW zzRiKk^T*)`xCD-YPe9r6Ae;dg!nyDvs5A=5{uKA8=3r6plUdAEh|dP}YJ6B6agSq2`JBoaf7$`yYj9RR472TH9eP6OTh>-wCJ`d=9HZR zD~{U+$L-)Ljx|7i4@bk(a4P%>&QV|SGlDMj&cIc{iEU8syWm-P0{#lWg#Upj;qNen z(dS?(_y=qR|Ad_&kGo^TAr~95DUgTWv6+w;*~adN1>lpRW?ZQuypDrji_P55%YX-A zVfYa&0-40k`ONnP{OqX@6Nic_&CW$6rRtM9w$ReNrvoX~7Ojde z&GyTZQoS9VRY9hCy8|gz7v8o=)4UG@DODHSws6xtC0)gw>ZvhP%x&lODMxz zK^fi}E`)6%-Hmq@TmxD1U?(6Q;OiWBg6eWRLv^)X;4iQ%)G%@_OoP|MtPsQY4G4Cw z3F~sA7i>)_2W2i^kTguJ~m_8}YtmGW`$OL!|(4)9h- zn{vGvo|_%^h49?msP0X|p)3xQVMTZsyadXF9tX-@IdYeoRD}Mp4I+aES#^KOP0Ra3|<21YP=_)ddsD- zWpMr)sPorBo$mp4z9;1Mn0EAE2q&wzdhoA!f z6e{53Pywr|<&a74LPU}qf+eNe4#v5C8|b-<6YC?*UR&juyG!{$6?1nMnac-v7B^YR zX6oZvuH$$y%U$Zfm*szAJCMXH#%Hianf(GR3|GPS@I|Oh(A)lpz?Y$>ZyVtQ@O8KX z?t#z2y-*{^PPhxc1(kN4*A!3ZNwaBD%Fn9!2M$|olK&1QcWvn0N>JUlm?35SOOkd5 z*MWa+E?Cf%?HVemNkC2+m!6Ny_=_&n3?zkJ1*>g8@!;P(09Ex4LQMwVhnjJG0L#Eb zCc6xk`~V{J2QpvA?l2#f_4_N1#^ro>n<+oe4cN7PieK?4EDDdo%J4W;3;qnMT;C!< z*SSh^U5KPq8;Nt%RNcARTOe&J71X74F}#ksOlwq5%lO0Xl@EV176iroj2I5L^y<(qlW@G`Nvt zAF8vB!0j*!-{8{9%Ro>{_r_By$)!|Ms=bHd+)hi+?5W^u$%Ls=(O;P74hipzjiKf7 zzF0e#&4Q&lE)CU!%b3}`1`>H3}GwfyzAyS9}K}QYhVp1JvCA3T?VChC6wOPPaX1cI8#5v} zaZ7Nlrpc5&7+fT|!9`N4eSqrRl-Xy^!rK12&>t?d`qgonHKtC`%_uFa*|lvVD)BX_ zTK_s!^V|-b!jEAysE=!05uDdR`v%8K)0^-HC_SY~dcELYI0o*6F?bN(%X$*4Fb#)8 zILv_hn#cW6U-MAErGPZ}C?KVo%aEYsmE^i3Nv=C`Zl|SZiq-S~q)c-%>-(v0YQ_K? z|0LQ`!sF0>4Ma1E6C7U(KZo_H$_bY5qUmJGixGGc@ zSBHIJ4LBFpg6CoF{AOYUKRcouIr(k$4J4V7js0iSWlyHp0kxG$b|%rNiK`Xun*e$O?8gyzEaKp%luCDwRk$k(->dWO68CWTS@KCNwttVv1fX!uZ2zLrha`j z?P*Q@JvKp!Q;DlF1T9ZXp48oG$x}tx9o7rnRR%hi!4V>Jr7X#nvZPeofMlM#wIC_g z+ldbumFB(aB;9%ZDhS3s1BjU8m-|a^s)$yKm&GZU#5zbWiRwUH!dk~AjcqQ8*C08+ z{gIpxx{knyiXhvDJV|cm^JadLq>B06Is*R+SK!%K_=`rU4kqS{J^+K0$JZQeLGzOI zST~OQ!R}BWhM5~2D__bGi^~^DE?*?Mt8wSHL3*ZKbH8eOU2By3)=L9xS~g@cd8gle zJNvu4xj)C=0z%EJ#I9{1QHq0LF*q11>Z&NYs3p0mC8c^Rg0pT7LRHhVh2J&Z<(67} zZbr1&8!nhy5C?5kl;bUY_qZ%ELxu&h^OAU5QMBAm^>7p{1xG^FJRQrbMsceoIjbbO zl~B%YOQ4tP9bs)Y@T?Lk#k&?MHxswC z@(Y>;{HVS^*2>?RXU4>*YGQb>AMB|OZ{t|?YCP1X!0qOhmJE+a5ihrPpO9o;Z|xsY znDejnU+AT}lGrKS6@)nps;$h11K=Du49lp9wX{C}FbNxtd(Fo$I=;2{@{qztgsORTpKp zHhuYr4#hhI6%=pZw*%QPP=oPVs66FcJ2pr3p&yO8zd>DsorAYS>E8j*!@J=HxEV%M z+|v_<%LHhumyE+6PG|+=ewYG3h6Ug;SP-6pTDtf<)Y8TBSg3$hlekMl{azeM?q0pz zQtiA>Qktg;l5;Cjv(0sXl>cvw*Bj4lsH+ZBv%TL|MK`{^|5To4emQXvu-5|muq9Mx zwSsCQtzjj2C6q1Pc?sH@Bv-2?rP}OuZri12rgrcrE84DoSg}{;YJY5=YQwjMVyJq2 zTgY~~L!esFP^j*27*uuQn?rU0)@Oj)aLfl}>?1#Y4yY@~qfM6%RGZa^*IT33N;1Vd z`p<@bG!H(=`kRkBx(aftqpKhVJNa8}#n9#0cy?{K5}qo?3|Jn{gz9`}Lyc+oLv^k5 zpelsE4m1Jk>p&W}^mU*ZTm&D02F{22I*`V`C!zANx6Q+e6$8=D+T_STjN)#8TFFdp z9LX}%uJP+8wajOhf5&3I?b|}hew4EcN*j56;+o(>wgAVtyTG>*mwWl$qKjx5kKNyCl=OtN(5K2plrCbdFxYJt6MX%@yCMZm#$q z=oXCRY4XLcZD$b0TTuD)4y*|GKo#Fd@Je_9s(teYhS)6l0el+rWhwh9!w=z6j-{{s zkU4IOBFU8&l1B1ms*7_hD9N1a?w?H`hgJ%U5jFC!o z0h^ra-e{X1%^M}T@|EP8uyfn4v!?I${+OcCBqgT|4(`^Ts?HE|;(EV+1>MV2gGpu= zH80SnT+>EnXm~?#FRu{C*I8GddSZ%(+s;rko-R;H?*>&PuZ0@vu7k>o>*3W9 z@0MXCwy%CzL1^|{RZXD2QPl|!hDzxWr~z`7g;`vpKh)0=-nv z-jS~qy|0s*-pl{7n41QuIy-5km0UGj*4tIHb^ZJb=1_0{#6Y#e#3rJzVG)xz11h6u zLM2xpuTl@Ck5w&#`dHOAsE<|cgZfz25vY$7ll^Q$a!5#0C{H4m61ftw4mN}9;TZTbTmf_7 zO1Kdogqz?A_!|5kZh`0E>rgi!wwj`Sxv$WnzyHlt)o9g)WOmiqP3+oAIM}sqMeSKv zN7e=Ix#y1;)|xlfZJyJyKWC+X{Of%FpnWKwCoewFw~-5*^#lCl=F8QEGNuNL;xC8z z^P0g{usKvkYY8=FyAn==ZJ~OI_V6{>5i$X>?mL5HRlqsqUIF`mCrNIxmZVhsZwBXf z7a0?plT&_>|5YfMg?7X1V$@Q+aY&C?N%^_ZO1dBQ2d@ItbnL1jt|Imt;=1cejyaDG z$-NF&a+a`b>xG#F;q`%PUqhgVqB`=r(?5h#&DNqX1L3;9LJoG zhx6Y$J7%a$n#-48!IX2shj;`NzGlx z^u;G15+)O7BDw5XhP2MQZAZ$slKPXEtfb6ZmCxRu@JG2E${yu%sO2dCyF8bOyRi?C z-a9ZvcJB%7U5TR`!zHopumBc@wl6V0siJ?L+iAhiiNQO#c0jMMvEMzjr``MjtLw?65 z?v6lWn2o#5in~1&cQbLf)p57ARx&?6;rC8gpPA{kC9d2;i#+NIt^A{|&{{d>{C6T< zpu0g`7_;!@$5Q``go9`_P!WIQO>6oi3v8cLsOs z)E~5A*H$HnqAFC5HH4a1H-aN!W2j2e1ilI{gQ^5PKMSg=Bv(}>xeFBM_Gh4H?_Fdb z*?yR3S!?d{+XOc1mPoFRKkhD2kbj)JyAsvz_V?H}lQ<)6MZ|dU+CUX`+rW^kU?q;* z!z%C^*aUWltzj3aqVI0T-9?^#g?QLnd`glTKgGW$uty_Eu01Ed2-$yQ{658hwv}pE zVxHYVkT`igU^46tYrsCRKI{vd!+!8ec%x}Eg{Ze99-z3ikR7--DK^vJo2N|pTTBcC zycw`KoCz<1v!TYf`=I8f55NZrd!E@aEy$(Q@mxBcbL}jDc2Wa38#SoA5l9nVCuzlq zOH_ZPU-6mZO|_C6q%WD{vh%Vzu2J`L%$YRD@9lbG4ZbVbwLOP1GI}-44>v;%(%Yc) zwnNp*9Z(a6olw(+x8SA3x(8kh--UO>y>K~v555N9hrANn`w*t{zD(~Ugh~v0AH&Px zQFs&l0^SL~glgSCW0f1cCAltM5`SwVIOn!el36j=pA>X%{jEp0f>RZ;1iOk*n~F~< zOJ-N=9l-wY^ZD&rr>Co;i_hmg^nl;l^@|3siiu@F|J*qa1yPIebT<#q%u7X+Q>f?&}^DkuB0Yx^^>qd=xNFs4{1vpAzI=HDV(S?^3ATs{u8t)C{ahAv;{*OLDmZ1n}_uv1lOSNL~L>Qo1)Cf^ZOhMnLl*bROTuY>=E*FzRSd3-(EuKel^)r$MU+u@B+ zL;E23e8{Wd4MoVoVHkW54u_}UNLZBCGRkavh(1JvFDoU;Da~xt%4Rmb2wCzgDQI z>&IH-(^YXzbwcLv$KBMl`VyDxS1<9;=eg%JjVP7bGodnj9#m#8f+`dP?SKi#a=ZjC zhEKwm;4-)!u7D@ubMP!&3Dx(ng5}|ANYbi%to0ymY9*4~{9BUy&y{m)f`=^g!xMg= zg#69=f8_7hrMdH|4zCay5qLRJ`MVJ+e>XWJyliWOk|D|EuOxR_=iF4<*{1w5|3bA( zIhEoKM7^q&9!1jJBGWDpe{!az?d46bvx__CqNbABsg06aVNsgqmXZ$U?I_&qXYl3$NeB#;QE@I-$_dcS-mp2DCfcL{2;aqqdd;pFQj_(VO zb+1h4WuDH}c;1YNxd;+$GOJPU23|<4Df@7fcH6}~{ zUMT$;dTb^S_v0WBDiC>C51)lELwVc|A1?D5o*nghFzcf=c-`6OhG(%V%PRO!HcV4CAbDQhHIfJ1RGvCL^fgsz=Qa_vl#Th8L#P6v7{GRU|4lE!B0I=_q=@uJ@}sYSATLh|~H zZm`||qN{UfUi5z%v;c4U*;OpsUL#6zE7T4BZBRwH9d>~`piH{Tnlv$xTveBwt4os7 zJgq6YD%t$nB~sr^SmR$6YGJmn@$0w#_gru&p(xCM`bF795Nu)g0qhr_H}%*0pV%R@ z-);=zy!SR#C-4rW5qowHAnd=Db*Idb5nlapf*z0oP5P^ z>l#W)v$j(a7IM7muJ&(u^?x*(UxHYFg;~UQ4pxT$g-zfeuqh0syG2ERbKEO9R#N(4 zh-)&ET$7RHnv8Qh9q93d(meONU)pTT@oOdZ37SiRjjp+r+~}IiWgGq9?1P5H=8{bG zgyI!|D$0UT&7}}j&z1^h&H!tUicXR%I!P|CoSX7$0AJkmhlTo>bDP|Pq?(&u?AHVw zwK=Hxy}|@dcwQ8$;%7izH5Cq`yvatn7#B&d;!8^P_!~svRxXfS4RU%-%-l_W6Lab{ zzl!q0{=u>87MB-Iw>WEh2b{dc-{)#c(ZHG#uo-cdgzCylnX#`iMXpLjH(N7mNHWV` z_iv5obj__U^cGuP=>50;k494_h@c!)PG>_kn(|PMrXuVFE5n;$6{wtN!D}!kOL93c z$tBsjsnIyMe;UoeUq}&FG=LtJKdntai`0eTXy>2x$LeRMA9ILq#=}5 zjm$$k$nHu6J;_F*jGvVA(i{GFp>(%ArWr0BgGUNmcDtP4x7$VVqhpT$rhluu{!$8b zuU%UQB4Nz)Iz#o#-Joh-cX%1R7OK);568nBpoZ<+U<~$vvtds-5B7o&!`@JLSo*+s zq4f7_c-INdJNv=!;f*jEV+KGOH4s*ZgQ3cB2TV!@~Q~$ z7Wf<-3D>|;a2*^CcZQgWj6v9k!&vw!ycHgU3Rsnkh0ej?BFVKeN&IyfE$4PXQqDVX z`|Cs19^zbzR|=nB;+o=>L;BuI>f0jhDPA>xkDC>H{JPc7+EdtJhny6<-r<~eyB@cq zR$ZOm8|DJ)p@pW-yMCD~9<-4>g?kaJ@hra!tlMfN4NmTFIPl2t&!=x*Dv3ErakB#SGW;rhIJc?q)bflMj>gcoT68K*cbg|+LwY& z4?6MPdtC+pcrO)vLgAd>_wv}p&RfglD-%E3W>K8tZ0N)JQ2F#Y90Q+(cfhCN6u1)J z57)t6a6Q}uH^9B{Rj6s@CU^qA2ET?|;b~RuZ3w^NupN3Bu>+>Uolr)-0rd~9-B2y~ zO;``U12s&%3onQJV0(A~c82f6p6~-W2z~@r;Sa-G;88d(#I?_Hgb6r&2A9GUP!)O_ z`RlG=B)Q&FQmUuicWw&UxlN3_-6hG)+3#Pbi-z6%{h4{5d3{L~#NeHT8bZGgqFijF z?1_scH&RPV^_IomR!A~S4!GbyKH%S*=T`N%LGa%P!JjrG56}}X!RHe;T!r?8dEsC@ zj8>+~`+loD0i6i~`Z);b7c=>w-@?50zHi?{dG>vOW*$HP3HB(1-0|22|fw81{jg@Mc&Pj)%pd z+FEg_wpJ2qGE)jZ2Ft_8VHSJ=c%>0m2Pa+(POP)Xrs;=%b_wOeI-4Jd0x1Z?3s29aVf~+ z*rlo}(gs~|mozt)<~?_Ku^S1gfAoL67oZ&mN#QD}v8z3-1h0lwU?u~?iOVhCf77%(#=m)~GROQPp`cR4ny1;PhHH=ckJVj(zB;)iU(exF+lbH;q`*9+x&LEG@ax|^YTlv`kV zI1*j~N5O7z3{+n=7LJ4COs^AI-6>@MA4D;Am1IhN>91F(yYI_jjvLVb%Ky&J1XA$Z zj9uG(geBe&GvEWT1e^y4!1++U(gLVD{t4OR?k-4j6F^DsHi&c6Z4l?yCXn1esd3A> z#$61a`Nk$8Cvu7>2G(|!!>{bx9>XSa zd0^W!Q0?_usLtnkSRKk;-GSUy&EMJ`4}S)$jxO8axC)fFHq=@MHJ~`~=c>d7r{$_#zC$m!OuE$~_ax5Z*WB zy$Y4-pCv2P8&3>GH%pPD`|g7z_uU8QrVAeD)>2YVyYKw!`5K%;%RQ}jQVl|Ld9DuH zN$L!o^c6n4yZ=CK`GLyIGx~i$P#D{b$JD~#5#Y%Cg!pMRJU>TSS%fj+d5%TIKuL7(NE5VwuGHjDHl}8{5 zJ#nZ3`@mXIFR`fy=fc`>9;^%XQVh8-gZ1Gm*Z{794dFW22=0fM!H;26=+miO0W+Ws zDgu>&bd}yWl&G7#N^-SA5)Ug#pL3foDd*Tvexs!H#2Vo4kTyQ+inha9iuUr%oDpaL z*GpMi6QPRsN~of3168zLU^Unswu9Hh{_qAk2=;*L1$#lwr~1HYupgWQ`@^|#Abbc8 zhHF%`!x6UPFamCetKl9v2A+nuLS0AcSXErdx*8Y{)dxynmr)bpSjaU_>`pihPJuJw zLO2T=I0rrsAAn0k6zu|p^*B5PRd*J{H{eou5Uzw76pLT z(C@4S9(B&YrrO^`km6Os)x85lovT}^TnFi&XRpBvUbVz2@h@clfBmQOEb@6Pi2rR^ zfl&59&38V6E#b$oJv?HXob%o5*8ju|_veT|lTE4fe%;_zB+7YbglcJEMDCxUiM)bo z(VQ#M#ym7UcLc zsPj$XweSk4`9O1cFKh`H!dCDp*cLty+d(y>_V5(!0RIa+!Zhsc1he>_y4Mw<0uJ5a zmGD|P5MBp$+u;VNj-?0G_}2$6fqmf%updZne@Oq)fs{@ib-x^TYc>5j#nJJQR7% zj$4|99%a`y1Y5ZS zLGoRVmE>xyB=>^mH0QWciaE{mMXH7R4oOmeY0_R1wG>ZtY2DX4Nz`NmUI3KvIanD= zU**gj1}Nvnf#fcMtETna6TgyNkfzPyO#ev%*PBSg(Dly`{|KVk?m;Iv;KEUGQItXz2fsDG%$vjS|YSKkrJkI;Yh92Z}DZTQ>s~B zoF}()o21$QYUj_4>@-gmA;Bunb~e`SlFUz;k!ER{tY_Lf8@w;BYf;zF;ID$IR)9C% zFDM#WVcyD2jH86&uzysrZ(f~xJzw2AUmP2wpNA{S#-?WRo&vnyx&$`%DjtcN2E`(! z(v&h@gFw0um|n#q&6F*?eEoehqIiTa_rwDYm5h93mX^R~RXJV|fDa8yy%&{=bPG(b z%5h-w?WLT_vr0ua+gVkRwOl) zJ`9%>?+aXl<;3RC(vgDZ06((ylhTow?8sLdjnnMfOc2u&80Gj0SPm|OHQ{pD2r@|7 zj`eBShGXezy8jH+NVpOXfX~B`@CA4~;7+71_iyUrE!joGXm0%2Dt1V(iYD?W zXUa#)N0gTnY`Qf3PcT1MjNGHzG``aR2%E#TpKI9VCFaJ{(Fmt1gYCD-V}f&28|Flifq+ zCNLH4rmz9LJlXtlNzmYD*ud4`XP6DuBK4DwyVt|jQx0oOcd(;0x?VE7sNB-_&w2CC zP1xuKB z>o{YN)xp?TGtFNC%ha{UIakz;G;%Ykvc&x-yS5*(N<0fQ;eTK@{0+8&=U_K@9`=EM zK=oFC!SRsG_gD;4Gwh5iKm44-g0K=TJQeD;N*d%LEAL20pil4$!+wwnX^eKQNvM6w zDtFy-%Y6(7MEp+SnT)a_y+cSlS;*iZ=kX;)^ zxa+dW&OD!P;;yvqKFYyD=w-vEumV(_uLK9dCMo9YCiI#|k=MoxXstQZG-6+6H}CSu z(mWa74$tU&SHnuM6I4cahFxJ-s0{1|HEwi=itJi=GrSItg*U))!SQW6Hrtv8!^11q zmMu8GVs*mA2*f)E^-S$E zm<3P3^6+zb3H-u5(kv+J%{FS4^=5NL^GMCK(YCBh;}A?5<~4Way{viURa?rXsugh2 zG=Lc>HiX%*T>;}aCwmpzHXH6CNoGxp$c$p{w#-d9xT(4NoEdJmQ}{0AX6#XRZItu) zmXTlTEkGt5d;3A|yNL+%ymz6>Ik}+g!wNw4!{LG^)&c``^I?}YAS%hc)hbdm-9@W} z1<{%ktzF8hw~nlL^*4inQ1FUCr7RO>!=lEt3NnoLM#EMT-%*AYH=VAGG%A{qYc$GC zJG2I~__bHY^RI&W>dM@yT-hM1NU_2`c< z32I$aKBz9}1MG2AW=XEcLyFMlWuxXCD}~IyHj&om>#HJrqL7~ z319Z6L)jaKvNsB4ZxJYaOF-GnJwR)3Stxt6;dih+yZ|etnTc0LMw@8cNPe^F>d5w7 zI|~27S*0YCT^skCp6SRa)y&A6-SKkv9E@_MdyhS!lK`~Na;Kg@wv z-JI#gfbVsU>~Ryr_wbEp?*P0C9)tto`%uaF#?}{&os!(W5J~PG0?w@}Ir5G9saxdw zq;A0~wf@~*#N)cVh#%}8`PxPJT@c|9umZvU2sMVC2_iggBUHIaax*eXu6{Z<&1FuT z1J_0#s^+egDx&VBhDe&JXWB&{?&|4A+=7nqnd@97&bf{oCH8_@eb9C6+Qx@nX50ab zay${LNG3y#zjwi|a0=A$Fcpr4_rPgz8dRqJY}3#)kX$2^n_HnPDfrmd&pF+1h%`;= zqq{Sio=V$EQ;^()jyXu~3C#OQ*;E)lz<^YkJ;l?#S|{n11kNwlVS)4*QnvY~XQWKJ zJEf#?r8w1Hr9OcGa{?V31SAf2Aw-%R=8+>Myf&(+1* z{USHG4i&58<79+{QrcbyRQFIAc7jFVQkV&q5r5c>P+gPc>YAifeKIa^(`~;$@|%|Z zBabvN*6=FmJ4yB0NebOb{o~TDR&q6F$f5jE`>r5$vdQd(>fO(-O{QqmckpuWBByX1 zlOtQ=dEJ}Vrf?=(>EiRbM?Z7!KK9yPRCQ3BSvw%|NI&(~iFs9=ypSlC7#UFg|9@V&9J*zYYg2a*qD^s|_KAS6 z2Rt??vN_N5S#HBvL!xRxxtZv$sm0R!gKLl}{4_g8=uZP>N74Y}gF3aW8)iD)lFSb%P);+P%AW!6N6->3+s%Rv+Dk#als?oV+W3+SQqe}Wu!jYDy($Gkkbk{62;03olj2Y^3 z@%f={?BITeo3vhCm+M=#iF&XxtPi`w22iPsSVJZTk{dhZ=C0-?xvTj|ie52zMOsS& z%k*@GwOmco-ZbWtC>R=-1s6hG?br*U)xm|(OHi?8+SrtANiNxv+C#h_iah%B)l5x3uW8=~!^StzS{hnFYbnO~VDXu{#SMAogw9t&| zO0@O5Vrk0{l2VE%hBiK~w$b$afY9cmR^|>H>sS1$)@hp%*E?#;cO$s372J*8h*iPm zs!fcm{b@1|5nRh|sC7P+lu{xY<8sv|$JL6Yn30Fbu6cWs$`-tvkn)9&(svvpyK0-- z-J_S7eml~OnUUSe^0ubjhXlE1M|#;Z_gK}$l*Hm;4lt9XS7>K?S(AM&7M?~qH(&0J zOLv+pt|cLZr562&5rpl-c2gI=o896u{J#xS6))Ul>LPAZ`y;r;cOUuoZ(ksy?TDI{TtCv_0UyAF!5+wB{m(*K_3>-fYb+)x;RG(#-@{MHO#@Y1@}triQj@boXi(G z;F+;~qnW%tcSc{b=|W$MV`txJ>8xsj|BcRnLUK2oac?DMWi<^HHWSXp5xi#Z>qp8o z+sGG6Y@@Hmt-Ct#{92ySUpM0>r(|XEswBJdXzX91Z#5-vB=l`I^k4bS&9|*_X-eRE zYo4@kH@D%r%ns{0vEglxdw$mRLdAS^W3<%NH>}>Ngh+PA^|l6)?97vdUDj7ncHZh= z23N@~dscx3zNB+;uI;wIG^5d0qQLiEJTs<$G^6pG9OerprgV4Qh#!OCcIQdyTc*s> zq>3iiKblfvcIcm6dMoa?K&ol?1)WB*0nuVfwNuSqUnEs2`Ry<5kN#tA3q9Ci+rvyW zG$2~W^gfd0XLSi&-{s83Y1nIC9zfZ=$BB#U^xk-^{R7W?^H{vkga_hzzxAw3-rR!S z7ndFgJnzfn`G6UQXH#b&{ZT>l^Oy8TTg){B>3a7KWMr8$kgoR|^V~q{c=jOb_|mWF znGz#86py5c2@OJRvecRnBD{x9#!14v-1L$AA>0cbaVa!U4x%d>W?mUYM2!X$(Segm zDdyauXtB`aCNdcH*@IEnL*0C#s;2JOgtOm_(1|ZN(fBiaB5}rXJZ{IgX`Ey`o+q&< zOyeQZii?KOYbJJPC*of7n=(U)0*$f-z9fizp-QIPH%Ud4il&?4-y}82YM*X{_SETK zT!bf0`J18@FZtT~(xZr=hIuFBq4V!gyPf1}JL9HkQ4_m~VMnbbUx+z$T<@E>G}R2e z341<4&n!EYlu~y=g4(xnwKYM&-?|hh^f}*~+C!sRS$hJ7?}-bu6BJIH{$C_zrF{}8 zoTkE-8%l*;IW+2relZ<~68%R*DV8L2&(P>4)t)U|{PBP4Ie%fY+Zh*b!U+G9xndZV z@@G!u3pGoy`lqa#!=gpAxY=U2 zU-KmTH?!lrj3Qc=Yqy63#ox@B;n9kr-_1jyvijG2p*jhc{T{b$b>QQ7bIsvDa5LMt%5 zxV4=7A8|dF!Q1UG8%L#1og3)ze(e7XvKY5hXWi5CrX;%9UXjbOe{>p4r&OX#6S7T5B zE$}6si?cq%`l{xv@ah+tebzI7jf!RzC~QxhHapJHrG5}GhtDvKUOk#5`=gc9_{dFi zk+^k#m`g{KGb^Mv`lqCnq{AUIb~ID3s%C~xT;N0*{@>hxtr;J;%_B zRr9$pN{FarTyIv?SzI#o?`+62FOG?3b$c#QU}^Nfs%U8&Y_jw3O|0<~ciwWVXinfu zIv3|t8B=mBRkW=2{4l?{wwH<9^j6@xjI$}Bik36C;kk(>@A*Q@5}#E5w7(&T#3ikjJ)4rk^}lww@O!c&-%p ze0AWtQXbD$Ob(t+Y#cQrmf*Ka-0u|g#5fAH*samBY1M2THTW%LPL7LahX>uJn__mW z9x|av3Y5xvHHb?~8t9i2M!!qV@>`=>r9TN2Sly*;_~#OabzbJ4Bk85Gz6&%I(ZyX` zO%uM2a;T*f7fsr0#_cVnTkmW&L)i*GA^zGS2MDyHVV#M*`1{xW~0^Jkz0Cx6_g@ zvp&>Va(y(3`&elrw^Q)5rFXg2Q+ed-HI3`-HY23>1$tAjuzFu5=rxP${SsKvEKj~P zx4v>azO+Y|Ua5?6+a*ODrE_s{wy?f(yMZlBZ}<<34JSkkWwi*rNa5nrYiXXIK{T7L)riG+}ivl&sSQ{nF*d-$30ICJh#r{xsB;@2kk8T4%%7bxX>o< z_XTss9c1IHcQEzhUN7~#lDX#&Chi{_qZ84IlmjR&>D`Q;sWp*! z#wXZ#bzH5s={OO!U8oh{o-x6-G4m%f#p{zvuxy<|HsuM;qO&PEiFxfqfdY4!|CKde zOqWU2zpgg80sQ6;&0XTrt_nPNq5id)ME!ed66xt~eKg}YwLvD!*T(g-%(v1Tgr2D~nVSOLi`sN}*SmxybmKit&Sdp=lgXXLSxS$1VAIVLlL@TY zoeW>SZKQfim1|tDxZb)Tj$U~(tB<+mPBQC6pwNdvF0QwI&2kjdehL)&(#HGTNgJZd!q^86|Fe6zcng3!KfSKMnwb9H|8-)W%AFguFOlvnSJKAu&V-J z(z)2uffxC@?fjCvJ>IKL3+oYhk;27R4l*BLWs||yr%Ek1>juTG92R&Ul*h^;%%MtU zmTL86pfSV+pHLHTvf<{o`MPHQiGR|uCh&!hDRZ|v&AYj(+GaZ3&1LUVFkvYcTt?iS$Ld=yvU*qPVSE3vx=P?n zIu~cT{6mg{*&L}N}IR8=4NW6!1G8N)oW9tmlapN$WoAjE*(9<8X=|U318z0vzW=h7;TZmrc zJFK3juetF~i0joW;n{71%i4r;nP|R=(O}ocXt3&Ca{W$>`|WPtQylH?p*y?N#*u6? z?xEYf%Up5~Czf%d%-!}x&x8Q(iU(lKJ<>amp4oa2cPfV@w5=&|wcUY@Q}Psl%yhYz z2LETE5F?h03-TT_<6bJ)z1D~m2}ax#4?Vr4%Yl3HB z;6(}-r)#cD*8|q)!~Et}mAP>%{|-FQC0$deldd19Q#a;YA6pW9%!~V|W%f^}ZrFyy zs&#BiY&Z+zdVNf_8R$JVgM50(>a9o!Z(&^Tp;E4x7v{+)S^Q6m-yPrNw}0|!P2fv9 z7w6L>7x`*3s9ZZfcs`SS+7@_`!o~Tt$PAuIWi;0327Yt%X;IwD{ekC2&dP-5xY)cd z&#ceK*u>FzaoqFy!1Llfo*y&CXVI2V%%m-MN~lJU#rzyoZbJbhrvNfUHUo>~jq3Bx9A#DQ^;&?IcH`DZ+LmVFwM}f6Aj_GFk9J=9lCPydg z+>ep#?TN%huZssT!(`l#-W>Ey=lhALZ$dmT$JJglw@B?P)C#_8gZnkfti7Kb6u+9? zI@5eEZE&MKvzSVjo64Mc2#w3SROZ-JO1?gD@jO*0ZR7H|OwZ%8G>^;LT$icwfZoY< zio1NC$K|g)F41z<3Vw18s*%T~XC9YP|6hCG0bNzG{e8~4Ex94w8WL_uaud>k0BQ7= zP(tVl9So2_=v4tlP;*tRbPzV35J8H9fXW4*B|)0J_mJ`w5R?FlDBX^V{C|7S$u$`K zKG*l|Tg&zT-erZ~ls$Xq%$Yf7_MSca_);<|ip}yRRix~$l5(L+%B?7p4^<13cT?G1 z%#}A~p6y4_nu?*d+t-;uW5zfSGiZ3d4H$tC~W$NC|r%+osW()(uecWA>9|C;|`0AZ>8Tl?w>xc zk<@Sj=r%Il5tRY{ujt?pd~~hpIi^z<;`wk)&{ckW9re)-h(bDTj z2lqnE+u7hyG3$=|$}Xf<3sJ{TuHz$7N6SjH^FtrqUagJ~)jBGz2~JSZBJ}eWjo<{B z+iCROUcl{qkUGAA zj8bG2of8>){9nPK+{fTKt@3iU@=9HEUM+=c`RAJY4&GpBzxb`xN-@pd{dGZ^ji`QT8ypS&qT%*Bvv%yg0B&;XzVV?zwd$1Y5ijKz=Xw^q4QC@Z%58o_Fb*) z=W5wX7w`q$S&VzD)JC27eNm;Ym#EPa%%Lwu%POzIF8R2-w8EEU(XvY1zoL0dz`cb= z@KqJ=muVlk7hMtD*~U~;pHtXaSTIUYMRdkpM2!&RQNfkntyH~As|Xi2PHW#)5Zry6uhDUW zM1Gx1%DZrJ6_<3)cX5wsg|ErKzo|E5+ImKbX?jzXuKbv};VZpCD}AF%>91va?2-~g zIZH7s0>Gl8>aTr;-=gtLG59Yo#jN;FRPq*WUy50AnhtPA#xgv-eh?Wyq7Nz-ojUv6vbz z*BH>a<>2@sJ-6ICKnaec&z4);hE{HeqExgfi(0Kfshump-GE-c+p<9KqkE8u>8vX; z+u8q>PA)}TD!3SZbUWj4x%e5C-w)>iQK~|uavU3g!GR?4`%WvxGqNx)=Fy+xe=XSiPraCh0d)m3T9K(Ds=8> zYP1R&TaiHztU{-~Li0EwU^V)~E+{>fs<8R0xIkYrU5zz(^s*DSyZg=IqYF+@o8nOW zqteSKguJWq;PI@+AWN)NM~JU%Caqen)nQ@*7Io0M)oAq$`hhbhq4Efq$Y@%LK}{cn zZIrtPbcaAkbJySjS9u3%WQ# z7h8!g)<<`kI;{oW9?&&O5Om3v=;D2JKWVLuuhPmy3N68XDqoBHRC%~1`pPEIZLZ_N z5{#~TqK*K{EWyQ$p?)REID(7_K5w9tyH=_^$;V(7ZD+c=FXBF3D?vS#-=qzEWXCD! zMUc$|nJGo9r^kyh=nbk%Be?9R_%9+&jB znlupwc^yj|3)}w(f1h+i0tw%>hQNns; z6eA;|mB{E{shXC)YP!+mO!pJ$=$-ZGh!-l6wf2!cL8qCl_e)@xDcF66|26vxDZ@v% zi5k5Gx~)vtPS9mcaHRibO}qiaH6GTl(nHR&kmrc|QK^3fG0 zslAm|rMI%lyMZVD23%X^I;2kkM z2MUJ|ojNkMHxqZKs7=;Td55>jChKYaqJ{^Jize=k@Y=UpU(`{b9~7rIWQWxnXG(9{ ztVvpO6PjP$5gL}(I5o}9zkG97xtFx!%;@Zkc-@v$**rryJ$S+zYr6#5zC|!jzG&mG z8Xa8`5NhOw`ii=ge63o%u>@H|>ydS*K2oH=P>+s$Q!U=Gq8^U7(c{IYD9V{{&@0a+ z(UBiH9XDqY9p!ZE8k3&V*92H;t`Zz(_!QT7n4;I3qKrbgY`AFtm3Tu`LmV)q`;kgF zm`}H4I&vHJ7GX_vJ%w&~^)X6xD&6=VY0a?&icAx2p^OC}&Pfv)hB0Z}M`g@}D^)z{ zYWlKt_^+Uw#Q|FStBq7f2k~-zrLoHVQy??{p)q`ZqU(0)V|2ky;jOPlaGbFrR&TYN z(Il56M(NW`C42zux4z9Qwc^?4YDP(Ocr$FFa@_@Fu18zoka0^j?F%5MNv&`~yA^HQ ziA$@|n#$$icw>BP9I$GwrX{yolzbuHn9&BKC__!^nL+vAq3F;Ic$Ujl>)ys!Iw^C} z5zy|=gy)sEB7I3QlD}!Y$a5*)nA8q0_4Xp!$Sc#q?H6U7k2fxEk5l>`)MT_-`g;dK zZOFpl>!>D=L~@gkg7@l8CP1%q!^-r2dvF}AP>|@P9&-aN<~!h%)B~Rv%=wK^ zn;aaA&K2!3yD%Yd=3+mj4<$Ptk!Ds0<@Q12`>FZGh==!wTY`bKjoZ-_@e2cyHi(Mn z1jZP<4Z@rrEH1^o7j29l49l${>ZOF{lQl3nUJ1`%wCz^B5|vNo=dJO^gnW<{i0W)C z-;OMRGyh>|Cw_snV7o5Vn1JBzVQT5vLKPDW!6n9sn}UTI9l2obt~^jk?$508y6J@y zm30cv&RvhpF_LTpNW+@vwVya_>iFRkrc8DhOel2s8a`#p=m{ey=k*#kamtjuZV$VC z`FYu0-8m0T9Qi=O`0*gg8#OLul#ArM;OO&!IZlh`K(R0%J)Sr zzfyPAoq5)7^I` z(cqI?Uwog_Xwt6YS?~%WU03KF_$pm>bPnZ}**YqF1@&CUEw#$SXKdQ@WI(M6gATmj zXiS4a7-8LTz!mMR`63>(R{6ChKW(gctmmZkjb$zK&#mD{FS)k_gepS~WZMe1YYlW~ zpT33yO^OV*%1|S%MR9p8d6?|1k%sI?cBF~q4yb*QiPoe$YbYyBRKTq`W8zxcOi8`8 zdd1DT`_8WZ;=2 zmK(5Uo)bv9pjZA8NJl5yYbX{o-9&w^95a{iSeCQtXu*}A9=&$p*%)a$kT`qk1x^k%mpE;lIR(5^16bDBJHwe|I-$5-Ljy%IzzT<^6Y zx}PtCZ6b7vG?Yv@Q@vcb@XBEoggQF*wGukEyO;@j*0)VK9RQwv%+!~DT! ziap#PQ~2nzz*>}iP?tvKKiLBP!LiNvR;*hNhqRBx4|vvlW{^)Wv*@#uO(O>gl}){Sz}Pk5DmjK3i1 zS1n`~pJn<)q=jMq!XdN7HldqD8e3;_$jm3MrR^e(wGJFozfiqdq!l8KLuPRpV4FyL z0%;tAcdGXAO?Brznw2ESDl>!W<|A;woT#Wi1Yf*D&dLqVA3tfHj$Ip?h9x|KL^(f$Ei#pR!aWe{Zo(XWpfK%sVO3W*f?p**4n}>fRSunQB+F zx7uwB)s!5E?KRLW*>7qe)W(klFo(O=5WrWTDB4p zIwEX)x$vn7TOR$rzd4+8B5euc>b=iI+Um%l_3ntWolrpKofTs%mYdt3yd+y@&c$%z zz*ASSX8y)v?QX??eVwy91ONwzS^AX%%Pjj#B}>2e5j1>>BWmw%)mrf2&I$Qqz z-u5#hPh}at$QQ#=xhrlsF-T)X6WR?CzAgd*( z0$Gjx5RkRO(}3-PkAj7VCw37M76Km!vRds4;OoGdz&*g(K;BAT1RRA+T>^X>xDv=R z=PKZ4AS61^QQ%9!uYr(@#fK&~Qc7K0tM*;{&bm3P`m8eC^eKT)UQ#Si%>WVZ*zfOr zB2*mkvharkps4Zyuq2jQ29#M6&sYYWvGjk>lK8P@z{eu+sb$E?DR%IGOdA>3#mF#O z66-Vnjf$ntxLE6yc&12K$If+2;%&?R+ma>svSq++OaDh=t(L^=f^MUJN+eS@we%at z!^}rI;O7duQ`aoLuAc0hDCo6u#zlHpFvq~O?D<5t^v(m{I{5F&TRKb6la|EyECcph z2K?PJ;JBsEl-LZ*Q|G9(o~=#MkCw!}mi>DrzQX>9?6d6OhsYjq?VE!XU{I}fu6lV!jj%b@+1I_+cKGpbI7_OY>;3OScV&nM=^Hnk*9 ziKXY0Y-U=PWJ?GcFa=H4?nvT6%l?CsB~hZ|Nw%J~p}^AS0nZSAOBmU+sy1JE$4Z?W znLJjYCh_^`!>1xJC-nFSy$1e*LE7s#CoD*jBre1AhCh6=n{FmxPG72Ti-hIH+MjUr zy-lJmf-)P}oZf^p*}ju?TE&31#1B-(1gNMl6Aes=@==DWDw}ei|491d)d~B0d9l16~341bzd&2K*k# z7Tmu8+0oK%An))R;3cIW&~nkBB;0Zc+X1jrk}HGr*vI1MEnH-`fYwK(?)$MGAIR zW6gsHt5gpNU4ihc91p~zNBEsZM+%RoslY6xV+rKJ(@JUt+zo63{0NB0qUTc}PLFub z1DgXc0$Tuiq_hNH1-1g-0OIThKWY`Jjkk4UTk(43QY~-!Y1>;t7Jkl~K%w8ZvkW_v zbhIPv?MlC}4UFTFtVhm-(uJedJxfhZ-V2FR2mI;eretks4)ONBWcx1ArxDNj+7=qt zI5|Dlrx7;`jrfJ;=qXhrzWi%jta&!3({bG8Ayzv0wJk<@#!6Sdw#6%CC659G25s>B<>Lw&42m3VpM3#N=3H+txzj8kFs%(u4Ylu^%V@b3E->k(xLYGr-ZJE-+u zS~IsyMSJx%;G`ns<$%ys-s8WQlCLlBgjH77?X$|dms}gO^h>^Ovb`Vth{G8&v}Q`6 zPE~7l&nWPmWNi%eI8c6+Zgen*x>!$W zm9x`>SJ|E)tNYBdc1vvBE4USrQ0fV-ol(_xtum_Gu2WF*LEF{+8}vr2K>PK{5?JEO2 zvhd%@4}-x^5;~L;{urA6Q&g?`_xr}X;1^pF#<3Inx?9PV>EjqQooc9U9cY-p)MEh?hQ| zUe5&4<_7l8@*VoFfjvQK6TB$-YP@ksFn=LUY*88K;A(bP$4(v&^Ebq6C(8nFPF9f@ z7=^sOct>5JvWE8B#;XW^j?Zae_twVhj8MFx8sc%tKPR2T)|2|?`T=RPLew3weB`~2 zB}_yOu>(d&tk|*ZP(zXyhpGhaKyUyrGIJPtERIMRV3_nqXBgh_HPuE;0l|ct?Dtqs zvDY@3u_mlbM|XupnfD?m56dEVE%miIDaEcgq}M_!-M>2|Dv)nmY9xG6(poNA9hdVl zl_AH-ORs9tyzy8Yo7hrb3>F-;cC{(W%#ZFdvG~wc9OWzwjHGhx3>%ikVKqk!)|jH? zK>FaBzyvC9X4V@s60kFwC|YSme@mSc)ve5&M67%2@OwGZl#e&g;5ym{TM39p`t#jP z3)1X;#rv2pr`bPsY>7KL-En;8i`75-eopQBHL%nhNN3XR;YBZ@8GrII^nZB@{q~F- zHhk>xhyUF3E%wjs;CPc7*-d(gzNKhuZTtm^DaawSbOQhL6b#~Jxi%TG;6_~h;U;p( zEMa9Vq>~^iR12A_xJ?i;`Q|U(Lnn z^ni*zC3>(%k+Oh%t2+X@!fYTj>VB$#-0K~_8rvoutq{qB-+t`~aU~@22 zZRD4k_DK053TSJO0wk)C-PXP+?^%@Lmd*llOXmQY=X_uj-~wO{a1jurk=@C9KqC|u zuK)@0eZXbFbHL?5zHuvoG$tFK2>Z0Nm!c^(+N17W)VRIZS^xVJX| zxtBKsV}UON>jF`O(Bo_YrXju+*a-M4umx}ja3JtCYTd#9Qt&PWQMbewB;x=B2W4d$X#<1 zm<0R;$c_3G*bI0cm;t;9#4W?OJ&$MGQ+OmAI)mE{ic_HjKx8~T-=dze+LMavt-9Q!x z6M$`i>A<$Y*1-0_Nx&@NW5CY9xj<;$#i#r52=E|H%JrVhwLdG%J84WWR2!$KS-tEZ zce)SR{L~l>bOMJ0-M~WNAm9VQ5x`MEOgCvf@EPDlAO;V6<`vG)AE2$h?L%>Gwm$YX zwi!r8CVxRxO!G&ntdD&Na-;j&U$j51x)6yDZDBGmW(2Ph<8-x*wtEG|Yt6GIDHVUf{u&O{)0(m1b>HCqT6d85N*fZEOxujaI%45Y{J3UDaB|H6Baddx_bw zCSfZPB}laSjE3?j?2y;8l4qo0(BTs@Q!XNQm8vp_(dBchIay9#^eL zggkvK7{kOr@-&`Rele=}Ysux?HyV1;#6iJb{(T9E{#OgNc)lIPPeyFN~@`64O^mg4X9zMsV`E52?H{O2}7u6 z!cY{fnlJ!`2}Awf<_5IkQF|*C@Lqh>{(#JZfkpQHvkbgW($k7JLS}il1vySBzIB$c zicf8np6*k?j1&v4N3hDSOE-VUzWc}39kI3>SUufmg=EM}B>ci?djoqY#akRnN{fcn z+v12fwu2ndH;wflF@}7E-NO3Z%x}D&SiKHOrz4y-8sSF50Nw0B)<}pl(;JCW#+eAW zZ>(xmxY&b@v6bIg6f@32ct8`8r&`y~Y9iKp##NBe7Gr~hO~(&3RW0RjHI<~%&4rz~ zaYb{8Qq3vf=7=%Af$;hks;+}8IMIR)?v0;8j4E$QInTnF+1?7P{Z>otpl*bqtu^J( z4vbOSwO;sBj9CcBSb-00EeIwc*tv~L@JJgbfFv!=Y=iB&Hf#jcAMflljDM;#)Kgt(ei*uAITRM=ZfX-+c2k>>p<#Os zvo-9hVUC8qHSDipUN^2n$Oy*#ZqO^J#`jciW+QzhJPzx7oP999)*TW;ccJbxv-<60 z#LxGjQqFVcVCOAI)fMJcN5Sz(cr;gS;j6jgB2v(eujOJxHkb0lQKni?OqpKl;D>5N z>e)+@yuD}}=bc6PPH%PaAK9+cD=B@%sf8YWu(RD)EmMjzPxVE;{V1mv$_(fS@pFKh z_b!(FLk3{WCy$CbZ|fkquFe+&R~G=ef{zR+)&jNXoCV^>hZQVx-^SrI0lLHrs$?}c zT}^ITk=$M@oULKk0$La8h}Y$SK*&ds+@$;csx@pF8sS(%P_WqGbalj|-zsnEcJr&%Lw_yYUo`Wb773%= zcr(C=kOjieg6UnRuU(xM@Ns}gs*B?WLVz2Bm*8JafLoj7SmTG4*I#S-?zAy{%8{<<@q#kjWLkk^_tSyjz8ER#{)1> zL+JV&CKFw5>BM2*Y4!kruq{h*^q_64@i}&!HNZjRR7W*`u+41EH+i3q&uRpDTMrLj zCR2VBM_`dKQ-JgcDfu7xpF?K05R~Ha7bMlxLh1noY`-8a4gYh<%o`zM?=*-%?j}NJ zX#_%N1ivv_$Slo7=)6dKRtuS>5`?a>&2o_Rk_a-xcM-xW2x;$WA$(gKA*^_iR<4E2 z($5HC{g1ReTF5N1mx+9l#_l3GWS000e>IWDC+#_8mfUU#ei;xfJlNCnj%ey=sb|ag zpZ*mbL*+x@fx}Z~?2jQ+ua(2Y8CzO879yI_+VM0;OXK9<=&ZE#J!3X<&%I|1r4el$ zqnYGr8&RS#!!d)S;@E^Y)4^vOglYk4Lbc$usHYMs{*w?UdyxG~2ZO9=l9;0&VG3(9zL@3+(9V*c`~a zY!ZH2X(*muGx1CGhn{VBHhtbuq8khjBl)2)t{Uk_LpaY*pO zN)wBDsXp&KMN{+6j$-D0rZaf6#U}G+i%sU80pz_ejx%rg6!O&8(&Mx^*Tt5ZP%wxs zxVD^62f8?JG22nwaet=mtX_?7bai+#vp|S^sUy$^%myZEac01A=o2J3rWSj6Ovem4 z9g>;U$-BLq!!A1Y)8394`l7pIb|>D@L!S6#Av49O7EF5pxd(Wo52_B44qb%A>CiZc z^mbZ0>kfK&-|FGGC76429fyi~f)2@W{H$8$js@~nj{|Zed54e7KLG3vgwqKRL`^|I z6o_LB!b&+0I7Uk!2keXZ3}AoY^BUcJAk!@b@{VH(%wVM<2y8?GZ#`}X^48#EXvk&Y6mRohj*^OA+FJAw@{ue}2ZjLW0;7TRfJwk5zy`pjz=lAk z`!1h4iyo8J`Jqj$;^7+CzpD*l5;56XV!0A9dHas(7oFqMu03l&Ea2b#* zdP3cqVzwz?XrLf20jS9>^PkJdin^dtfsVyPx>9{q6pa9b7eduI}_Il94Ly0J0YA zHJ}5C^BAJoE+7}%4U7Q30gMIi1oBAZ{AA9jr2`#1nQhK}m{#u~8L3hkklF45GFv(aav zhNw?CT9xmJRKB;++ZukN;q83K$3<;G580ZZ=Hec70`kKG&vbEBJ%QY;-oW}m7zTTw zzLW+6dAbe(_6LpzjsW7Ek1&>a5I7TY*x7rEflmP60zL`kcg4^6!v|o!eTO=h>qTcl zf)|}N6_}-{oyHxM83Ahvp z1(h&o84O&BIQQ;qAUC@h_%QHApa-}fh&*A?f>|yMTGsI~ppD4bf`m=L9YD-@&jBFP zJV$`rfgb~32Yv~B19%;{3-~K=H_(Wu_nW`~;NO5Q;5)zuz)~O{UG2e}&an5+m>7Z|kUf5k1zxfpLaftSGs z%7m$)N_{F`B%g_gN?KSDs*Y(sO;BwsteB@BItOwiPx2jg1n&>(z($Eu;P%GY0;%Wf zvg;H>Eldo2uYsN66vMfVu`fnmeiF@3aK;$NAl$h=ozVx!80TZ+EU&MouS0ldgGEUf zW0XS;7TvfQZ~P}7>T4TPJ}do?Hx$*K#q<4L)oYG$cylvZJ)U4rf$e09(1RMo(T*g| zb56%pobOOQ=a>yhAC!jIQJUB%FpNVuPu;%IV>ryktXSBHO6xddg3mX?-Qr1%Um)FF zU_?#9a$yid{dGG3>y%C1+eNQkH`UN`Bw>p6k%byj^HEaO{^LhkRWCME zg!)ifs`?&reTVUTFEwI6)hCIIbev!HxWW%Qp+;I%>1#jHDAb3fUZJLp4?V92_jP&&sr5q3v{i6wG|9YB|%Z3+?8J z$^5RphpQSq^Q7tg4)Kqf3IsiW_#c3^%V0m~17=)k* z!uDofm|Wctm*zhWlV5x%2s02k*a-56?n0bk=}|A}c|Y`%pEaIoG-;o%njhNbAL|l= zb%|ew=3Q<>;3sZ*pg#sFRAv!Nh6lqJiKfFu_h~*viu}-rd^*Vw$FU|&9Xf9GFyD!V zp;O0CdT{u#DU%zF`V)`n+JDCB6mKYa;aNnH{czR)D|c=xl&b-L=pblR@AJoF2+q0O z-hLU*61kI*a3m~fp@2My|2bq9-%}kV(%4j(LuQG^qkNIpR129|YosYTdr?MP=P>1@ z&=GEx4^rs~eFDvB=j_92$J#kx!cpRf+dIc`^vs*^;SrW5=PONRnw};{Qoq&?7rolS z*@CmLba2iE^^7d%i--z6BT|K)v7x4CBu&pq7H@G!XDgYDoy~SGiQ%?k)hIza5x?1b z$-{wpKvpMUXZ)AbA#U<^a!%$#Q61#1sa%K`@+`vgZ@E?oe(gk|VjxT9Yk|#yC3-r% zJs)9#R@G7n z{x0J$8Glav@y~{}ok8SEQcc7!;_vtQvZiriKA+tqUsYYJ-W4DVqsuEk*(rG^_Hi0y zv}S5w=YiFVKEm7jJ7+@0sdHi39~#!QY176&fi_48v~8j2h+=`Z7L5+j)i$q$toAc* z21U^3re;Wau;XVz_H#&>pZsRWuUMkk62_1i1<6iW@vEZgV7F=sHs6ir#ZdBYeU`Bp zEB@4&#qN-J-Le1JVYbCDhp1=SyaqYMX;Mlwsp}ltVU>5sW(2=^xoGDL-;K#k?er!T z!_76R>k(Y*y-ZF%(WI_O&C}xyMU{efBhKQ%EyP(0YKlYUEDkKusp7ydsxgXdB*wwL zmihnCq^cOrnB)n~nB;;%Sl_#%p-i}!^fXwY0#RTZ0#sKzHs zLsfioO%UQ$)l&>d0)($emqUnARi($tfvOS8F-`1(LlHjouJkag#xiqNqY~FYg?Lp} z3`wD#czAR{QB7uaJV7Tt4gH_nsG^?W>m6AH8OE2e;{t< zt41fvO3kPQ9;k$oiAyyuF|xSziiK<;x@N*YJfi+`Teh4toX@m=U>yN-& zlQEVfF1PMYc^Z|b%L(+0TQ?JFLcT$kkZ%rESM4ZLHTfph;!Spij98(p4EHX5BV?>% z6kjDsp%fgVsM#njIpw$W7opM`9CTg%K1>hP?VaAcLSoGu(d^TZh@Nz-2VGyr@)oOM zkxR2m!{ zZwSC%Pm;RVQ_ha*2gk#vKVEZVA;Wh4Q6%IhsJ81*Ca~?gaR$2SnFQf(!}BJ}DA)ih zsiTtotBx?BzflYi7$@ssFRhNsE9X_6-tZL?4vRe@a{mpDkm@lLGw;o{glx7niC5~K zb%&DFofIksk?t5`Vk>1WsvY518}d4DVYMz?yE{#)YjX@U>om*p0or1Jx3<`KX_n)8n&miLK(PaN z*J-i1uex||u33&R6N~$*i}s(j#eWmAsIR(cC(UyFdu{RGNG$HFT8>ZAEXQ|fmgCfy%l(a>COLebBS*|YXU8nv)2xy}2xhM~67UdsQvMBH5zr7Yd5}fnz zyXx|(8q*3VOniv8uQNRDhxhe=?aTl8=(fX!Js%?V5AVm0=ct#0l9;E16u?805gGo zf$f3)fZ4$QK=6`8r@T)>@|ozJPeOJS zy?{*IXki)29ls25EDeQaB(__m6^Pq_D}f=vRY2ZbSq;Q~g|r434J-!Y=16OSkc6ZX zAZ*)&1!W3w9pc=1>w(;Pr9gC^B9(b>ei|}tm4W3z^&mfGb-^d74hK1m-hfAIjM4uO D+VCw- delta 143405 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ᇪ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�nR@RDRHzPStKCXJQ!11<=BW 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

Th^o7tkxp9Cwf2& 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

NV^U= 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

gf?Rm!Z>b1N5JwXZi% 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� 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%0ACT+U1hj&^BW<|vOB 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