diff --git a/choreoobjects/wscript b/choreoobjects/wscript new file mode 100755 index 0000000000..c42029df70 --- /dev/null +++ b/choreoobjects/wscript @@ -0,0 +1,53 @@ +#! /usr/bin/env python +# encoding: utf-8 + +from waflib import Utils +import os + +top = '.' +PROJECT_NAME = 'choreoobjects' + +def options(opt): + # stub + return + +def configure(conf): + return + +def build(bld): + source = [ + '../game/shared/choreoactor.cpp', + '../game/shared/choreochannel.cpp', + '../game/shared/choreoevent.cpp', + '../game/shared/choreoscene.cpp', + '../game/shared/sceneimage.cpp' + ] + + includes = [ + '.', + '../game/shared', + '../utils/common', + '../public/tier0', + '../public/tier1', + '../public', + '../common' + ] + + defines = [] + + libs = [] + + install_path = bld.env.PREFIX + + bld.stlib( + source = source, + target = PROJECT_NAME, + name = PROJECT_NAME, + features = 'c cxx', + includes = includes, + defines = defines, + use = libs, + subsystem = bld.env.MSVC_SUBSYSTEM, + idx = bld.get_taskgen_count() + ) + diff --git a/game/client/cbase.h b/game/client/cbase.h index 57e3260bd3..b38989cb21 100644 --- a/game/client/cbase.h +++ b/game/client/cbase.h @@ -20,6 +20,7 @@ struct studiohdr_t; #include #include +#include #include #include diff --git a/game/client/wscript b/game/client/wscript new file mode 100755 index 0000000000..24a26677f0 --- /dev/null +++ b/game/client/wscript @@ -0,0 +1,576 @@ +#! /usr/bin/env python +# encoding: utf-8 + +from waflib import Utils +import os + +top = '.' +PROJECT_NAME = 'client' + +def options(opt): + # stub + return + +def configure(conf): + conf.env.append_unique('DEFINES',[ + 'NO_STRING_T', + 'CLIENT_DLL', + 'VECTOR', + 'VERSION_SAFE_STEAM_API_INTERFACES', + 'strncpy=use_Q_strncpy_instead', + 'strncpy=use_Q_strncpy_instead', + 'USE_WEBM_FOR_REPLAY', # LINUXALL + 'HL2_CLIENT_DLL' + ]) + +def build(bld): + source = [ + #'replay/replayyoutubeapi_key_sdk.cpp', [$SOURCESDK] + 'game_controls/slideshowpanel.cpp', + '../../common/movieobjects/timeutils.cpp', + 'hl2/C_Func_Monitor.cpp', + 'geiger.cpp', + 'history_resource.cpp', + 'hud_weapon.cpp', + 'train.cpp', + '../shared/weapon_parse_default.cpp', + '../shared/achievement_saverestore.cpp', + '../shared/achievementmgr.cpp', + '../shared/achievements_hlx.cpp', + 'achievement_notification_panel.cpp', + '../shared/activitylist.cpp', + 'alphamaterialproxy.cpp', + '../shared/ammodef.cpp', + 'animatedentitytextureproxy.cpp', + 'animatedoffsettextureproxy.cpp', + 'animatedtextureproxy.cpp', + 'AnimateSpecificTextureProxy.cpp', + '../shared/animation.cpp', + '../shared/base_playeranimstate.cpp', + '../shared/baseachievement.cpp', + 'baseanimatedtextureproxy.cpp', + 'baseclientrendertargets.cpp', + '../shared/basecombatcharacter_shared.cpp', + '../shared/basecombatweapon_shared.cpp', + '../shared/baseentity_shared.cpp', + '../shared/basegrenade_shared.cpp', + '../shared/baseparticleentity.cpp', + '../shared/baseplayer_shared.cpp', + '../shared/baseprojectile.cpp', + '../shared/baseviewmodel_shared.cpp', + 'beamdraw.cpp', + '../shared/beam_shared.cpp', + '../../public/bone_accessor.cpp', + 'bone_merge_cache.cpp', + 'c_ai_basehumanoid.cpp', + 'c_ai_basenpc.cpp', + 'c_baseanimating.cpp', + 'c_baseanimatingoverlay.cpp', + 'c_basecombatcharacter.cpp', + 'c_basecombatweapon.cpp', + 'c_basedoor.cpp', + 'c_baseentity.cpp', + 'c_baseflex.cpp', + 'c_baseplayer.cpp', + 'c_baseviewmodel.cpp', + 'c_breakableprop.cpp', + 'c_colorcorrection.cpp', + 'c_colorcorrectionvolume.cpp', + 'c_dynamiclight.cpp', + 'c_entitydissolve.cpp', + 'c_entityparticletrail.cpp', + 'c_env_fog_controller.cpp', + 'c_env_particlescript.cpp', + 'c_env_projectedtexture.cpp', + 'c_env_screenoverlay.cpp', + 'c_env_tonemap_controller.cpp', + 'c_fire_smoke.cpp', + 'c_fish.cpp', + 'c_func_areaportalwindow.cpp', + 'c_func_breakablesurf.cpp', + 'c_func_conveyor.cpp', + 'c_func_dust.cpp', + 'c_func_lod.cpp', + 'c_func_occluder.cpp', + 'c_func_reflective_glass.cpp', + 'c_func_rotating.cpp', + 'c_func_smokevolume.cpp', + 'c_func_tracktrain.cpp', + 'c_gib.cpp', + 'c_hairball.cpp', + 'c_info_overlay_accessor.cpp', + 'c_lightglow.cpp', + 'C_MaterialModifyControl.cpp', + 'c_particle_system.cpp', + 'c_physbox.cpp', + 'c_physicsprop.cpp', + 'c_physmagnet.cpp', + 'c_pixel_visibility.cpp', + 'c_plasma.cpp', + 'c_playerresource.cpp', + 'c_point_camera.cpp', + 'c_point_commentary_node.cpp', + 'c_props.cpp', + 'c_ragdoll_manager.cpp', + 'c_rope.cpp', + 'c_rumble.cpp', + 'c_sceneentity.cpp', + 'c_shadowcontrol.cpp', + 'c_slideshow_display.cpp', + 'c_soundscape.cpp', + 'c_spotlight_end.cpp', + 'c_sprite.cpp', + 'c_sprite_perfmonitor.cpp', + 'c_sun.cpp', + 'c_team.cpp', + 'c_tesla.cpp', + 'c_test_proxytoggle.cpp', + 'c_user_message_register.cpp', + 'c_vehicle_choreo_generic.cpp', + 'c_vehicle_jeep.cpp', + 'c_vguiscreen.cpp', + 'hl2/c_waterbullet.cpp', + 'hl2/hud_autoaim.cpp', + 'C_WaterLODControl.cpp', + 'c_world.cpp', + '../shared/cam_thirdperson.cpp', + 'camomaterialproxy.cpp', + 'cdll_client_int.cpp', + 'cdll_bounded_cvars.cpp', + 'cdll_util.cpp', + 'cl_mat_stub.cpp', + 'classmap.cpp', + 'client_factorylist.cpp', + 'client_thinklist.cpp', + 'client_virtualreality.cpp', + 'clienteffectprecachesystem.cpp', + 'cliententitylist.cpp', + 'clientleafsystem.cpp', + 'clientmode_shared.cpp', + 'clientshadowmgr.cpp', + 'clientsideeffects.cpp', + 'clientsideeffects_test.cpp', + 'clientsteamcontext.cpp', + 'colorcorrectionmgr.cpp', + 'commentary_modelviewer.cpp', + '../shared/collisionproperty.cpp', + '../shared/death_pose.cpp', + '../shared/debugoverlay_shared.cpp', + '../shared/decals.cpp', + 'detailobjectsystem.cpp', + 'dummyproxy.cpp', + '../shared/effect_dispatch_data.cpp', + 'EffectsClient.cpp', + '../shared/ehandle.cpp', + '../shared/entitylist_base.cpp', + 'entityoriginmaterialproxy.cpp', + '../shared/EntityParticleTrail_Shared.cpp', + '../shared/env_detail_controller.cpp', + '../shared/env_wind_shared.cpp', + '../shared/eventlist.cpp', + 'flashlighteffect.cpp', + '../shared/func_ladder.cpp', + 'functionproxy.cpp', + 'fx_blood.cpp', + 'fx_cube.cpp', + 'fx_explosion.cpp', + 'fx_fleck.cpp', + 'fx_impact.cpp', + 'fx_interpvalue.cpp', + 'fx_quad.cpp', + 'fx_shelleject.cpp', + 'fx_staticline.cpp', + 'fx_tracer.cpp', + 'fx_trail.cpp', + 'fx_water.cpp', + '../shared/gamemovement.cpp', + '../shared/gamerules.cpp', + '../shared/gamerules_register.cpp', + '../shared/GameStats.cpp', + '../shared/gamestringpool.cpp', + 'gametrace_client.cpp', + '../shared/gamevars_shared.cpp', + 'glow_outline_effect.cpp', + 'glow_overlay.cpp', + '../shared/hintmessage.cpp', + '../shared/hintsystem.cpp', + 'hltvcamera.cpp', + 'hud.cpp', + 'hud_animationinfo.cpp', + 'hud_basechat.cpp', + 'hud_basetimer.cpp', + 'hud_bitmapnumericdisplay.cpp', + 'hud_closecaption.cpp', + 'hud_crosshair.cpp', + 'hud_element_helper.cpp', + 'hl2/hud_filmdemo.cpp', + 'hl2/hud_hdrdemo.cpp', + 'hud_hintdisplay.cpp', + 'hud_msg.cpp', + 'hud_numericdisplay.cpp', + 'hud_pdump.cpp', + 'hud_redraw.cpp', + 'hud_vehicle.cpp', + '../shared/igamesystem.cpp', + 'in_camera.cpp', + 'in_joystick.cpp', + 'in_main.cpp', + 'in_steamcontroller.cpp', + 'initializer.cpp', + 'interpolatedvar.cpp', + 'IsNPCProxy.cpp', + 'lampbeamproxy.cpp', + 'lamphaloproxy.cpp', + '../shared/mapentities_shared.cpp', + 'mathproxy.cpp', + 'matrixproxy.cpp', + 'menu.cpp', + 'message.cpp', + 'movehelper_client.cpp', + '../shared/movevars_shared.cpp', + '../shared/multiplay_gamerules.cpp', + '../shared/obstacle_pushaway.cpp', + 'panelmetaclassmgr.cpp', + 'particle_collision.cpp', + 'particle_litsmokeemitter.cpp', + '../shared/particle_parse.cpp', + '../shared/particle_property.cpp', + 'particle_proxies.cpp', + 'particle_simple3d.cpp', + 'particlemgr.cpp', + 'particles_attractor.cpp', + 'particles_ez.cpp', + 'particles_localspace.cpp', + 'particles_new.cpp', + 'particles_simple.cpp', + '../shared/particlesystemquery.cpp', + 'perfvisualbenchmark.cpp', + 'physics.cpp', + 'physics_main_client.cpp', + '../shared/physics_main_shared.cpp', + '../shared/physics_saverestore.cpp', + '../shared/physics_shared.cpp', + 'physpropclientside.cpp', + 'playerandobjectenumerator.cpp', + 'playerspawncache.cpp', + '../shared/point_bonusmaps_accessor.cpp', + '../shared/point_posecontroller.cpp', + '../shared/precache_register.cpp', + '../shared/predictableid.cpp', + 'prediction.cpp', + '../shared/predictioncopy.cpp', + '../shared/props_shared.cpp', + 'proxyentity.cpp', + 'ProxyHealth.cpp', + 'proxyplayer.cpp', + 'proxypupil.cpp', + 'ragdoll.cpp', + '../shared/ragdoll_shared.cpp', + 'recvproxy.cpp', + 'basepresence.cpp', #[$WIN32||$POSIX] + #'basepresence_xbox.cpp', [$X360] + '../shared/rope_helpers.cpp', + '../shared/saverestore.cpp', + '../shared/sceneentity_shared.cpp', + 'ScreenSpaceEffects.cpp', + '../shared/sequence_Transitioner.cpp', + 'simple_keys.cpp', + '../shared/simtimer.cpp', + '../shared/singleplay_gamerules.cpp', + '../shared/SoundEmitterSystem.cpp', + '../shared/soundenvelope.cpp', + '../../public/SoundParametersInternal.cpp', + 'splinepatch.cpp', + '../shared/Sprite.cpp', + 'spritemodel.cpp', + '../shared/SpriteTrail.cpp', + '../shared/studio_shared.cpp', + 'studio_stats.cpp', + '../shared/takedamageinfo.cpp', + '../shared/teamplay_gamerules.cpp', + '../shared/teamplayroundbased_gamerules.cpp', + '../shared/test_ehandle.cpp', + 'text_message.cpp', + 'texturescrollmaterialproxy.cpp', + 'timematerialproxy.cpp', + 'toggletextureproxy.cpp', + '../shared/usercmd.cpp', + '../shared/usermessages.cpp', + '../shared/util_shared.cpp', + '../shared/vehicle_viewblend_shared.cpp', + 'vgui_avatarimage.cpp', + 'vgui_basepanel.cpp', + 'vgui_bitmapbutton.cpp', + 'vgui_bitmapimage.cpp', + 'vgui_bitmappanel.cpp', + 'vgui_schemevisualizer.cpp', + 'vgui_centerstringpanel.cpp', + 'vgui_consolepanel.cpp', + 'vgui_debugoverlaypanel.cpp', + 'vgui_fpspanel.cpp', + 'vgui_game_viewport.cpp', + 'vgui_grid.cpp', + 'vgui_int.cpp', + 'vgui_loadingdiscpanel.cpp', + 'vgui_messagechars.cpp', + 'vgui_netgraphpanel.cpp', + 'vgui_slideshow_display_screen.cpp', + 'view.cpp', + 'view_beams.cpp', + 'view_effects.cpp', + 'view_scene.cpp', + 'viewangleanim.cpp', + 'ViewConeImage.cpp', + 'viewdebug.cpp', + 'viewpostprocess.cpp', + 'viewrender.cpp', + '../shared/voice_banmgr.cpp', + '../shared/voice_status.cpp', + 'warp_overlay.cpp', + 'WaterLODMaterialProxy.cpp', + '../shared/weapon_parse.cpp', + 'weapon_selection.cpp', + 'weapons_resource.cpp', + 'WorldDimsProxy.cpp', + 'vgui_video.cpp', + 'vgui_video_player.cpp', + '../shared/mp_shareddefs.cpp', + '../client/c_vote_controller.cpp', + '../../public/haptics/haptic_msgs.cpp', #[!$X360] + #'../../public/haptics/haptic_utils.cpp', [$WIN32&&!$X360] + 'sixense/in_sixense.cpp', + 'sixense/in_sixense_gesture_bindings.cpp', + '../shared/sixense/sixense_convars.cpp', + '../../public/bone_setup.cpp', + '../../public/posedebugger.cpp', + '../../public/client_class.cpp', + '../../common/compiledcaptionswap.cpp', + '../../public/collisionutils.cpp', + '../../public/crtmemdebug.cpp', + '../../public/dt_recv.cpp', + '../../public/dt_utlvector_common.cpp', + '../../public/dt_utlvector_recv.cpp', + '../../public/filesystem_helpers.cpp', + '../../public/interpolatortypes.cpp', + '../shared/interval.cpp', + '../../common/language.cpp', + '../../public/networkvar.cpp', + '../../common/randoverride.cpp', + '../../common/steamid.cpp', + '../../public/rope_physics.cpp', + '../../public/scratchpad3d.cpp', + '../../public/ScratchPadUtils.cpp', + '../../public/sentence.cpp', + '../shared/sheetsimulator.cpp', + '../../public/simple_physics.cpp', + '../../public/stringregistry.cpp', + '../../public/studio.cpp', + '../../public/vallocator.cpp', + '../../public/vgui_controls/vgui_controls.cpp', + '../../public/jigglebones.cpp', + 'hud_lcd.cpp', + 'in_mouse.cpp', + 'mumble.cpp', + '../../public/renamed_recvtable_compat.cpp', + 'rendertexture.cpp', + 'c_basetempentity.cpp', + 'c_effects.cpp', + 'c_impact_effects.cpp', + 'c_movie_explosion.cpp', + 'c_particle_fire.cpp', + 'c_particle_smokegrenade.cpp', + 'c_prop_vehicle.cpp', + 'c_recipientfilter.cpp', + 'c_smoke_trail.cpp', + 'c_smokestack.cpp', + 'c_steamjet.cpp', + 'c_stickybolt.cpp', + 'c_te.cpp', + 'c_te_armorricochet.cpp', + 'c_te_basebeam.cpp', + 'c_te_beamentpoint.cpp', + 'c_te_beaments.cpp', + 'c_te_beamfollow.cpp', + 'c_te_beamlaser.cpp', + 'c_te_beampoints.cpp', + 'c_te_beamring.cpp', + 'c_te_beamringpoint.cpp', + 'c_te_beamspline.cpp', + 'c_te_bloodsprite.cpp', + 'c_te_bloodstream.cpp', + 'c_te_breakmodel.cpp', + 'c_te_bspdecal.cpp', + 'c_te_bubbles.cpp', + 'c_te_bubbletrail.cpp', + 'c_te_clientprojectile.cpp', + 'c_te_decal.cpp', + 'c_te_dynamiclight.cpp', + 'c_te_effect_dispatch.cpp', + 'c_te_energysplash.cpp', + 'c_te_explosion.cpp', + 'c_te_fizz.cpp', + 'c_te_footprint.cpp', + 'c_te_glassshatter.cpp', + 'c_te_glowsprite.cpp', + 'c_te_impact.cpp', + 'c_te_killplayerattachments.cpp', + 'c_te_largefunnel.cpp', + 'c_te_legacytempents.cpp', + 'c_te_muzzleflash.cpp', + 'c_te_particlesystem.cpp', + 'c_te_physicsprop.cpp', + 'c_te_playerdecal.cpp', + 'c_te_projecteddecal.cpp', + 'c_te_showline.cpp', + 'c_te_smoke.cpp', + 'c_te_sparks.cpp', + 'c_te_sprite.cpp', + 'c_te_spritespray.cpp', + 'c_te_worlddecal.cpp', + 'c_testtraceline.cpp', + 'c_tracer.cpp', + 'fx.cpp', + 'fx_discreetline.cpp', + 'fx_envelope.cpp', + 'fx_line.cpp', + 'fx_sparks.cpp', + 'particlesphererenderer.cpp', + 'smoke_fog_overlay.cpp', + 'game_controls/baseviewport.cpp', + 'game_controls/basemodelpanel.cpp', + 'game_controls/basemodel_panel.cpp', + 'game_controls/ClientScoreBoardDialog.cpp', + 'game_controls/commandmenu.cpp', + 'game_controls/intromenu.cpp', + 'game_controls/MapOverview.cpp', + 'game_controls/NavProgress.cpp', + 'game_controls/SpectatorGUI.cpp', + 'game_controls/teammenu.cpp', + 'game_controls/vguitextwindow.cpp', + 'game_controls/IconPanel.cpp', + 'mp3player.cpp', + '../../public/tools/bonelist.cpp', + 'entity_client_tools.cpp', + 'toolframework_client.cpp', + 'hud_chat.cpp', + 'c_team_objectiveresource.cpp', + '../shared/hl2/basehlcombatweapon_shared.cpp', + '../shared/hl2/achievements_hl2.cpp', + 'hl2/c_antlion_dust.cpp', + 'hl2/c_ar2_explosion.cpp', + 'hl2/c_barnacle.cpp', + 'hl2/c_barney.cpp', + 'hl2/c_basehelicopter.cpp', + 'hl2/c_basehlcombatweapon.cpp', + 'hl2/c_basehlplayer.cpp', + 'hl2/c_citadel_effects.cpp', + 'hl2/c_corpse.cpp', + 'hl2/c_env_alyxtemp.cpp', + 'hl2/c_env_headcrabcanister.cpp', + 'hl2/c_env_starfield.cpp', + 'hl2/c_func_tankmortar.cpp', + 'hl2/c_hl2_playerlocaldata.cpp', + 'hl2/c_info_teleporter_countdown.cpp', + 'hl2/c_npc_antlionguard.cpp', + 'hl2/c_npc_combinegunship.cpp', + 'hl2/c_npc_manhack.cpp', + 'hl2/c_npc_rollermine.cpp', + 'hl2/c_plasma_beam_node.cpp', + 'hl2/c_prop_combine_ball.cpp', + 'hl2/c_rotorwash.cpp', + 'hl2/c_script_intro.cpp', + '../shared/script_intro_shared.cpp', + 'hl2/c_strider.cpp', + 'hl2/c_te_concussiveexplosion.cpp', + 'hl2/c_te_flare.cpp', + 'hl2/c_thumper_dust.cpp', + 'hl2/c_vehicle_airboat.cpp', + 'hl2/c_vehicle_cannon.cpp', + 'hl2/c_vehicle_crane.cpp', + 'hl2/c_vehicle_prisoner_pod.cpp', + 'hl2/c_weapon__stubs_hl2.cpp', + 'hl2/c_weapon_crossbow.cpp', + 'hl2/c_weapon_physcannon.cpp', + 'hl2/c_weapon_stunstick.cpp', + 'hl2/clientmode_hlnormal.cpp', + 'death.cpp', + '../shared/hl2/env_headcrabcanister_shared.cpp', + 'hl2/fx_antlion.cpp', + 'hl2/fx_bugbait.cpp', + 'hl2/fx_hl2_impacts.cpp', + 'hl2/fx_hl2_tracers.cpp', + 'hl2/hl2_clientmode.cpp', + '../shared/hl2/hl2_gamerules.cpp', + '../shared/hl2/hl2_usermessages.cpp', + '../shared/hl2/hl_gamemovement.cpp', + 'hl2/hl_in_main.cpp', + 'hl2/hl_prediction.cpp', + 'hl2/hud_ammo.cpp', + 'hl2/hud_battery.cpp', + 'hl2/hud_blood.cpp', + 'hl2/hud_credits.cpp', + 'hl2/hud_damageindicator.cpp', + 'hl2/hud_flashlight.cpp', + 'hl2/hud_health.cpp', + 'hl2/hud_poisondamageindicator.cpp', + 'hud_posture.cpp', + 'hl2/hud_quickinfo.cpp', + 'hud_squadstatus.cpp', + 'hl2/hud_suitpower.cpp', + 'hl2/hud_weaponselection.cpp', + 'hl2/hud_zoom.cpp', + 'hl2/shieldproxy.cpp', + 'hl2/vgui_rootpanel_hl2.cpp', + 'episodic/c_vort_charge_token.cpp' + ] + + includes = [ + '.', + 'game_controls', + 'hl2', + 'hl2/elements', + '../shared/hl2', + '../../common', + '../../public', + '../../public/tier0', + '../../public/tier1', + '../../vgui2/include', + '../../vgui2/controls', + '../shared' + ] + + defines = [] + + libs = [ + 'tier0', + 'particles', + 'dmxloader', + 'vgui_controls', + 'matsys_controls', + 'tier1', + 'tier2', + 'tier3', + 'mathlib', + 'vstdlib', + 'choreoobjects', + 'steam_api', + 'bitmap', + 'vtf', + 'RT' + ] + + install_path = bld.env.PREFIX + + bld.shlib( + source = source, + target = PROJECT_NAME, + name = PROJECT_NAME, + features = 'c cxx', + includes = includes, + defines = defines, + use = libs, + install_path = install_path, + subsystem = bld.env.MSVC_SUBSYSTEM, + idx = bld.get_taskgen_count() + ) + diff --git a/game/server/wscript b/game/server/wscript new file mode 100755 index 0000000000..52721b72a2 --- /dev/null +++ b/game/server/wscript @@ -0,0 +1,618 @@ +#! /usr/bin/env python +# encoding: utf-8 + +from waflib import Utils +import os + +top = '.' +PROJECT_NAME = 'server' + +def options(opt): + # stub + return + +def configure(conf): + conf.env.append_unique('DEFINES', [ + 'GAME_DLL', + 'VECTOR', + 'VERSION_SAFE_STEAM_API_INTERFACES', + 'PROTECTED_THINGS_ENABLE' + 'sprintf=use_Q_snprintf_instead_of_sprintf', + 'strncpy=use_Q_strncpy_instead', + '_snprintf=use_Q_snprintf_instead', + 'HL2_DLL', + 'USES_SAVERESTORE' + ]) + +def build(bld): + print(bld) + source = [ + '../shared/achievement_saverestore.cpp', + '../shared/achievementmgr.cpp', + '../shared/achievements_hlx.cpp', + '../shared/activitylist.cpp', + 'ai_activity.cpp', + 'ai_baseactor.cpp', + 'ai_basehumanoid.cpp', + 'ai_basenpc.cpp', + 'ai_basenpc_flyer.cpp', + 'ai_basenpc_flyer_new.cpp', + 'ai_basenpc_movement.cpp', + 'ai_basenpc_physicsflyer.cpp', + 'ai_basenpc_schedule.cpp', + 'ai_basenpc_squad.cpp', + 'ai_behavior.cpp', + 'ai_behavior_assault.cpp', + 'ai_behavior_fear.cpp', + 'ai_behavior_follow.cpp', + 'ai_behavior_lead.cpp', + 'ai_behavior_rappel.cpp', + 'ai_behavior_standoff.cpp', + 'ai_blended_movement.cpp', + 'ai_concommands.cpp', + 'ai_condition.cpp', + 'AI_Criteria.cpp', + 'ai_default.cpp', + 'ai_dynamiclink.cpp', + 'ai_event.cpp', + 'ai_goalentity.cpp', + 'ai_hint.cpp', + 'ai_hull.cpp', + 'ai_initutils.cpp', + 'AI_Interest_Target.cpp', + 'ai_link.cpp', + 'ai_localnavigator.cpp', + 'ai_looktarget.cpp', + 'ai_memory.cpp', + 'ai_motor.cpp', + 'ai_moveprobe.cpp', + 'ai_moveshoot.cpp', + 'ai_movesolver.cpp', + 'ai_namespaces.cpp', + 'ai_navigator.cpp', + 'ai_network.cpp', + 'ai_networkmanager.cpp', + 'ai_node.cpp', + 'ai_pathfinder.cpp', + 'ai_planesolver.cpp', + 'ai_playerally.cpp', + 'AI_ResponseSystem.cpp', + 'ai_route.cpp', + 'ai_saverestore.cpp', + 'ai_schedule.cpp', + 'ai_scriptconditions.cpp', + 'ai_senses.cpp', + 'ai_sentence.cpp', + 'ai_speech.cpp', + 'ai_speechfilter.cpp', + 'ai_squad.cpp', + 'ai_squadslot.cpp', + 'ai_tacticalservices.cpp', + 'ai_task.cpp', + 'ai_trackpather.cpp', + 'ai_utils.cpp', + 'ai_waypoint.cpp', + '../shared/ammodef.cpp', + '../shared/animation.cpp', + '../shared/base_playeranimstate.cpp', + 'base_transmit_proxy.cpp', + '../shared/baseachievement.cpp', + 'baseanimating.cpp', + 'BaseAnimatingOverlay.cpp', + 'basecombatcharacter.cpp', + '../shared/basecombatcharacter_shared.cpp', + 'basecombatweapon.cpp', + '../shared/basecombatweapon_shared.cpp', + 'baseentity.cpp', + '../shared/baseentity_shared.cpp', + 'baseflex.cpp', + '../shared/basegrenade_shared.cpp', + 'basemultiplayerplayer.cpp', + '../shared/baseparticleentity.cpp', + '../shared/baseplayer_shared.cpp', + '../shared/baseprojectile.cpp', + 'baseviewmodel.cpp', + '../shared/baseviewmodel_shared.cpp', + '../shared/beam_shared.cpp', + 'bitstring.cpp', + 'bmodels.cpp', + 'buttons.cpp', + 'cbase.cpp', + 'client.cpp', + '../shared/collisionproperty.cpp', + 'colorcorrection.cpp', + 'colorcorrectionvolume.cpp', + 'CommentarySystem.cpp', + 'controlentities.cpp', + 'cplane.cpp', + 'CRagdollMagnet.cpp', + 'damagemodifier.cpp', + '../shared/death_pose.cpp', + '../shared/debugoverlay_shared.cpp', + '../shared/decals.cpp', + 'doors.cpp', + 'dynamiclight.cpp', + '../shared/effect_dispatch_data.cpp', + 'effects.cpp', + 'EffectsServer.cpp', + '../shared/ehandle.cpp', + 'entityblocker.cpp', + 'EntityDissolve.cpp', + 'EntityFlame.cpp', + 'entitylist.cpp', + '../shared/entitylist_base.cpp', + 'EntityParticleTrail.cpp', + '../shared/EntityParticleTrail_Shared.cpp', + 'env_debughistory.cpp', + '../shared/env_detail_controller.cpp', + 'env_effectsscript.cpp', + 'env_entity_maker.cpp', + 'env_particlescript.cpp', + 'env_player_surface_trigger.cpp', + 'env_projectedtexture.cpp', + 'env_screenoverlay.cpp', + 'env_texturetoggle.cpp', + 'env_tonemap_controller.cpp', + '../shared/env_wind_shared.cpp', + 'env_zoom.cpp', + 'EnvBeam.cpp', + 'EnvFade.cpp', + 'EnvHudHint.cpp', + 'EnvLaser.cpp', + 'EnvMessage.cpp', + 'envmicrophone.cpp', + 'EnvShake.cpp', + 'EnvSpark.cpp', + '../shared/eventlist.cpp', + 'EventLog.cpp', + 'explode.cpp', + 'filters.cpp', + 'fire.cpp', + 'fire_smoke.cpp', + 'fish.cpp', + 'fogcontroller.cpp', + 'fourwheelvehiclephysics.cpp', + 'func_areaportal.cpp', + 'func_areaportalbase.cpp', + 'func_areaportalwindow.cpp', + 'func_break.cpp', + 'func_breakablesurf.cpp', + 'func_dust.cpp', + '../shared/func_ladder.cpp', + 'func_ladder_endpoint.cpp', + 'func_lod.cpp', + 'func_movelinear.cpp', + 'func_occluder.cpp', + 'func_reflective_glass.cpp', + 'func_smokevolume.cpp', + 'game.cpp', + 'game_ui.cpp', + 'gameinterface.cpp', + '../shared/gamemovement.cpp', + '../shared/gamerules.cpp', + '../shared/gamerules_register.cpp', + '../shared/GameStats.cpp', + '../shared/gamestringpool.cpp', + 'gametrace_dll.cpp', + '../shared/gamevars_shared.cpp', + 'gameweaponmanager.cpp', + 'genericactor.cpp', + 'genericmonster.cpp', + 'gib.cpp', + 'globals.cpp', + 'globalstate.cpp', + 'guntarget.cpp', + 'h_ai.cpp', + 'hierarchy.cpp', + 'hltvdirector.cpp', + '../shared/hintmessage.cpp', + '../shared/hintsystem.cpp', + '../shared/igamesystem.cpp', + 'info_camera_link.cpp', + 'info_overlay_accessor.cpp', + 'intermission.cpp', + 'item_world.cpp', + 'lightglow.cpp', + 'lights.cpp', + 'logic_measure_movement.cpp', + 'logic_navigation.cpp', + 'logicauto.cpp', + 'logicentities.cpp', + 'logicrelay.cpp', + 'mapentities.cpp', + '../shared/mapentities_shared.cpp', + 'maprules.cpp', + 'MaterialModifyControl.cpp', + 'message_entity.cpp', + 'modelentities.cpp', + '../shared/ModelSoundsCache.cpp', + 'movehelper_server.cpp', + 'movement.cpp', + '../shared/movevars_shared.cpp', + '../shared/multiplay_gamerules.cpp', + 'ndebugoverlay.cpp', + 'npc_vehicledriver.cpp', + '../shared/obstacle_pushaway.cpp', + 'particle_light.cpp', + '../shared/particle_parse.cpp', + 'particle_system.cpp', + '../shared/particlesystemquery.cpp', + 'pathcorner.cpp', + 'pathtrack.cpp', + 'phys_controller.cpp', + 'physconstraint.cpp', + 'physics.cpp', + 'physics_bone_follower.cpp', + 'physics_cannister.cpp', + 'physics_fx.cpp', + 'physics_impact_damage.cpp', + 'physics_main.cpp', + '../shared/physics_main_shared.cpp', + 'physics_npc_solver.cpp', + 'physics_prop_ragdoll.cpp', + '../shared/physics_saverestore.cpp', + '../shared/physics_shared.cpp', + 'physobj.cpp', + 'player.cpp', + 'player_command.cpp', + 'player_lagcompensation.cpp', + 'player_pickup.cpp', + 'player_resource.cpp', + 'playerinfomanager.cpp', + 'playerlocaldata.cpp', + 'plugin_check.cpp', + '../shared/point_bonusmaps_accessor.cpp', + 'point_camera.cpp', + 'point_devshot_camera.cpp', + 'point_playermoveconstraint.cpp', + '../shared/point_posecontroller.cpp', + 'point_spotlight.cpp', + 'point_template.cpp', + 'pointanglesensor.cpp', + 'PointAngularVelocitySensor.cpp', + 'pointhurt.cpp', + 'pointteleport.cpp', + '../shared/precache_register.cpp', + '../shared/predictableid.cpp', + 'props.cpp', + '../shared/props_shared.cpp', + '../shared/querycache.cpp', + 'ragdoll_manager.cpp', + '../shared/ragdoll_shared.cpp', + 'RagdollBoogie.cpp', + 'recipientfilter.cpp', + 'rope.cpp', + '../shared/rope_helpers.cpp', + '../shared/saverestore.cpp', + 'saverestore_gamedll.cpp', + '../shared/SceneCache.cpp', + 'sceneentity.cpp', + '../shared/sceneentity_shared.cpp', + 'scratchpad_gamedll_helpers.cpp', + 'scripted.cpp', + 'scriptedtarget.cpp', + 'sendproxy.cpp', + '../shared/sequence_Transitioner.cpp', + '../server/serverbenchmark_base.cpp', + 'ServerNetworkProperty.cpp', + 'shadowcontrol.cpp', + '../shared/simtimer.cpp', + '../shared/singleplay_gamerules.cpp', + 'SkyCamera.cpp', + 'slideshow_display.cpp', + 'sound.cpp', + '../shared/SoundEmitterSystem.cpp', + 'soundent.cpp', + '../shared/soundenvelope.cpp', + '../../public/SoundParametersInternal.cpp', + 'soundscape.cpp', + 'soundscape_system.cpp', + 'spotlightend.cpp', + '../shared/Sprite.cpp', + 'sprite_perfmonitor.cpp', + '../shared/studio_shared.cpp', + 'subs.cpp', + 'sun.cpp', + 'tactical_mission.cpp', + '../shared/takedamageinfo.cpp', + 'tanktrain.cpp', + 'team.cpp', + '../shared/teamplay_gamerules.cpp', + 'TemplateEntities.cpp', + 'tempmonster.cpp', + 'tesla.cpp', + '../shared/test_ehandle.cpp', + 'test_proxytoggle.cpp', + 'test_stressentities.cpp', + 'testfunctions.cpp', + 'testtraceline.cpp', + 'textstatsmgr.cpp', + 'timedeventmgr.cpp', + 'trains.cpp', + 'triggers.cpp', + '../shared/usercmd.cpp', + 'util.cpp', + '../shared/util_shared.cpp', + 'variant_t.cpp', + 'vehicle_base.cpp', + 'vehicle_baseserver.cpp', + '../shared/vehicle_viewblend_shared.cpp', + 'vguiscreen.cpp', + '../shared/voice_gamemgr.cpp', + 'waterbullet.cpp', + 'WaterLODControl.cpp', + 'wcedit.cpp', + '../shared/weapon_parse.cpp', + '../shared/weapon_proficiency.cpp', + 'weight_button.cpp', + 'world.cpp', + '../shared/mp_shareddefs.cpp', + '../server/vote_controller.cpp', + '../../public/haptics/haptic_msgs.cpp', +# '../../public/haptics/haptic_utils.cpp', [$WIN32] + '../../public/bone_setup.cpp', + '../../public/collisionutils.cpp', + '../../public/dt_send.cpp', + '../../public/dt_utlvector_common.cpp', + '../../public/dt_utlvector_send.cpp', + '../../public/editor_sendcommand.cpp', + '../../public/filesystem_helpers.cpp', + 'gamehandle.cpp', + 'h_export.cpp', + 'init_factory.cpp', + '../../public/interpolatortypes.cpp', + '../../game/shared/interval.cpp', + '../../public/keyframe/keyframe.cpp', + '../../common/language.cpp', + '../../common/steamid.cpp', + '../../public/map_utils.cpp', + '../../public/networkvar.cpp', + '../../common/randoverride.cpp', + '../../public/registry.cpp', + '../../public/rope_physics.cpp', + '../../public/scratchpad3d.cpp', + '../../public/ScratchPadUtils.cpp', + '../../public/server_class.cpp', + '../../game/shared/sheetsimulator.cpp', + '../../public/simple_physics.cpp', + '../../public/stringregistry.cpp', + '../../public/studio.cpp', + 'GameStats_BasicStatsFunctions.cpp', + 'basetempentity.cpp', + 'event_tempentity_tester.cpp', + 'movie_explosion.cpp', + 'particle_fire.cpp', + 'particle_smokegrenade.cpp', + 'plasma.cpp', + 'smokestack.cpp', + 'smoke_trail.cpp', + '../shared/SpriteTrail.cpp', + 'steamjet.cpp', + 'te.cpp', + 'te_armorricochet.cpp', + 'te_basebeam.cpp', + 'te_beamentpoint.cpp', + 'te_beaments.cpp', + 'te_beamfollow.cpp', + 'te_beamlaser.cpp', + 'te_beampoints.cpp', + 'te_beamring.cpp', + 'te_beamringpoint.cpp', + 'te_beamspline.cpp', + 'te_bloodsprite.cpp', + 'te_bloodstream.cpp', + 'te_breakmodel.cpp', + 'te_bspdecal.cpp', + 'te_bubbles.cpp', + 'te_bubbletrail.cpp', + 'te_clientprojectile.cpp', + 'te_decal.cpp', + 'te_dynamiclight.cpp', + 'te_effect_dispatch.cpp', + 'te_energysplash.cpp', + 'te_explosion.cpp', + 'te_fizz.cpp', + 'te_footprintdecal.cpp', + 'hl2/te_gaussexplosion.cpp', + 'te_glassshatter.cpp', + 'te_glowsprite.cpp', + 'te_impact.cpp', + 'te_killplayerattachments.cpp', + 'te_largefunnel.cpp', + 'te_muzzleflash.cpp', + 'te_particlesystem.cpp', + 'te_physicsprop.cpp', + 'te_playerdecal.cpp', + 'te_projecteddecal.cpp', + 'te_showline.cpp', + 'te_smoke.cpp', + 'te_sparks.cpp', + 'te_sprite.cpp', + 'te_spritespray.cpp', + 'te_worlddecal.cpp', + '../shared/usermessages.cpp', + 'entity_tools_server.cpp', + 'toolframework_server.cpp' + ] + [ + 'ai_eventresponse.cpp', + 'ai_relationship.cpp', + 'base_gameinterface.cpp', + 'basegrenade_concussion.cpp', + 'basegrenade_contact.cpp', + 'basegrenade_timed.cpp', + 'hl2/Func_Monitor.cpp', + 'grenadethrown.cpp', + 'h_cycler.cpp', + 'logic_achievement.cpp', + 'monstermaker.cpp', + '../shared/hl2/survival_gamerules.cpp', + 'team_spawnpoint.cpp', + 'vehicle_choreo_generic.cpp', + '../shared/weapon_parse_default.cpp', + '../shared/hl2/achievements_hl2.cpp', + 'hl2/ai_allymanager.cpp', + 'hl2/ai_behavior_actbusy.cpp', + 'hl2/ai_behavior_functank.cpp', + 'hl2/ai_behavior_holster.cpp', + 'hl2/ai_behavior_operator.cpp', + 'hl2/ai_behavior_police.cpp', + 'hl2/ai_goal_police.cpp', + 'hl2/ai_spotlight.cpp', + 'hl2/antlion_dust.cpp', + 'hl2/antlion_maker.cpp', + 'hl2/ar2_explosion.cpp', + 'basebludgeonweapon.cpp', + 'hl2/basehlcombatweapon.cpp', + '../shared/hl2/basehlcombatweapon_shared.cpp', + 'hl2/cbasehelicopter.cpp', + 'hl2/cbasespriteprojectile.cpp', + 'hl2/citadel_effects.cpp', + 'hl2/combine_mine.cpp', + 'hl2/env_alyxemp.cpp', + 'hl2/env_headcrabcanister.cpp', + '../shared/hl2/env_headcrabcanister_shared.cpp', + 'hl2/env_speaker.cpp', + 'hl2/env_starfield.cpp', + 'hl2/func_recharge.cpp', + 'hl2/func_tank.cpp', + 'hl2/grenade_ar2.cpp', + 'hl2/grenade_bugbait.cpp', + 'hl2/grenade_frag.cpp', + 'hl2/hl2_ai_network.cpp', + 'hl2/hl2_client.cpp', + 'hl2/hl2_eventlog.cpp', + '../shared/hl2/hl2_gamerules.cpp', + 'hl2/hl2_gamestats.cpp', + 'hl2/hl2_player.cpp', + 'hl2/hl2_playerlocaldata.cpp', + 'hl2/hl2_triggers.cpp', + '../shared/hl2/hl2_usermessages.cpp', + '../shared/hl2/hl_gamemovement.cpp', + 'hl2/hl_playermove.cpp', + 'hl2/info_darknessmode_lightsource.cpp', + 'hl2/info_teleporter_countdown.cpp', + 'hl2/item_ammo.cpp', + 'hl2/item_battery.cpp', + 'hl2/item_dynamic_resupply.cpp', + 'hl2/item_healthkit.cpp', + 'hl2/item_itemcrate.cpp', + 'hl2/item_suit.cpp', + 'hl2/look_door.cpp', + 'hl2/monster_dummy.cpp', + 'hl2/npc_alyx.cpp', + 'hl2/npc_antlion.cpp', + 'hl2/npc_antlionguard.cpp', + 'hl2/npc_apcdriver.cpp', + 'hl2/npc_attackchopper.cpp', + 'hl2/npc_barnacle.cpp', + 'hl2/npc_barney.cpp', + 'hl2/npc_basescanner.cpp', + 'hl2/npc_BaseZombie.cpp', + 'hl2/npc_blob.cpp', + 'hl2/npc_breen.cpp', + 'hl2/npc_bullseye.cpp', + 'hl2/npc_citizen17.cpp', + 'hl2/npc_combine.cpp', + 'hl2/npc_combinecamera.cpp', + 'hl2/npc_combinedropship.cpp', + 'hl2/npc_combinegunship.cpp', + 'hl2/npc_combines.cpp', + 'hl2/npc_cranedriver.cpp', + 'hl2/npc_crow.cpp', + 'hl2/npc_dog.cpp', + 'hl2/npc_eli.cpp', + 'hl2/npc_enemyfinder.cpp', + 'hl2/npc_fastzombie.cpp', + 'hl2/npc_fisherman.cpp', + 'hl2/npc_gman.cpp', + 'hl2/npc_headcrab.cpp', + 'hl2/npc_ichthyosaur.cpp', + 'hl2/npc_kleiner.cpp', + 'hl2/npc_launcher.cpp', + 'hl2/npc_manhack.cpp', + 'hl2/npc_metropolice.cpp', + 'hl2/npc_monk.cpp', + 'hl2/npc_mossman.cpp', + 'hl2/npc_playercompanion.cpp', + 'hl2/npc_PoisonZombie.cpp', + 'hl2/npc_rollermine.cpp', + 'hl2/npc_scanner.cpp', + 'hl2/npc_stalker.cpp', + 'hl2/npc_strider.cpp', + 'npc_talker.cpp', + 'hl2/npc_turret_ceiling.cpp', + 'hl2/npc_turret_floor.cpp', + 'hl2/npc_turret_ground.cpp', + 'hl2/npc_vortigaunt_episodic.cpp', + 'hl2/npc_zombie.cpp', + 'hl2/point_apc_controller.cpp', + 'hl2/prop_combine_ball.cpp', + 'hl2/prop_thumper.cpp', + 'hl2/proto_sniper.cpp', + 'hl2/rotorwash.cpp', + 'hl2/script_intro.cpp', + '../shared/script_intro_shared.cpp', + 'hl2/vehicle_airboat.cpp', + 'hl2/vehicle_cannon.cpp', + 'hl2/vehicle_crane.cpp', + 'hl2/vehicle_jeep.cpp', + 'hl2/vehicle_prisoner_pod.cpp', + 'hl2/vehicle_viewcontroller.cpp', + 'hl2/weapon_357.cpp', + 'hl2/weapon_alyxgun.cpp', + 'hl2/weapon_annabelle.cpp', + 'hl2/weapon_ar2.cpp', + 'hl2/weapon_bugbait.cpp', + 'hl2/weapon_citizenpackage.cpp', + 'hl2/weapon_crossbow.cpp', + 'hl2/weapon_crowbar.cpp', + 'weapon_cubemap.cpp', + 'hl2/weapon_frag.cpp', + 'hl2/weapon_physcannon.cpp', + 'hl2/weapon_pistol.cpp', + 'hl2/weapon_rpg.cpp', + 'hl2/weapon_shotgun.cpp', + 'hl2/weapon_smg1.cpp', + 'hl2/weapon_stunstick.cpp', + 'hl2/grenade_beam.cpp', + 'hl2/grenade_homer.cpp', + 'hl2/grenade_pathfollower.cpp', + 'hl2/npc_missiledefense.cpp', + 'hl2/vehicle_apc.cpp', + 'hl2/weapon_cguard.cpp', + 'hl2/weapon_flaregun.cpp' + ] + + includes = [ + '.', + '../shared', + '../../utils/common', + '../shared/econ', + 'NextBot', + '../../common', + '../../public/tier0', + '../../public/tier1', + '../../public' + ] + [ + '../shared/hl2', + 'hl2' + ] + + defines = [] + + libs = ['tier0','particles','dmxloader','tier1','tier2','tier3','mathlib','vstdlib','choreoobjects','steam_api'] + + install_path = bld.env.PREFIX + + bld.shlib( + source = source, + target = PROJECT_NAME, + name = PROJECT_NAME, + features = 'c cxx', + includes = includes, + defines = defines, + use = libs, + subsystem = bld.env.MSVC_SUBSYSTEM, + idx = bld.get_taskgen_count() + ) + diff --git a/ivp b/ivp index 5f07fcf8d3..72b80536ba 160000 --- a/ivp +++ b/ivp @@ -1 +1 @@ -Subproject commit 5f07fcf8d385ef90336329d0ba419691c104a27e +Subproject commit 72b80536ba0aceabc012224970488893c166a0a2 diff --git a/particles/wscript b/particles/wscript new file mode 100755 index 0000000000..8895f76559 --- /dev/null +++ b/particles/wscript @@ -0,0 +1,56 @@ +#! /usr/bin/env python +# encoding: utf-8 + +from waflib import Utils +import os + +top = '.' +PROJECT_NAME = 'particles' + +def options(opt): + # stub + return + +def configure(conf): + return + +def build(bld): + print(bld) + source = [ + 'builtin_constraints.cpp', + 'builtin_initializers.cpp', + 'builtin_particle_emitters.cpp', + 'builtin_particle_forces.cpp', + 'addbuiltin_ops.cpp', + 'builtin_particle_ops.cpp', + 'builtin_particle_render_ops.cpp', + 'particle_sort.cpp', + 'particles.cpp', + 'psheet.cpp' + ] + + includes = [ + '.', + '../public', + '../public/tier1', + '../public/tier0' + ] + + defines = [] + + libs = [] + + install_path = bld.env.PREFIX + + bld.stlib( + source = source, + target = PROJECT_NAME, + name = PROJECT_NAME, + features = 'c cxx', + includes = includes, + defines = defines, + use = libs, + subsystem = bld.env.MSVC_SUBSYSTEM, + idx = bld.get_taskgen_count() + ) + diff --git a/studiorender/r_studiodraw.cpp b/studiorender/r_studiodraw.cpp index 5f3565e18b..4d111ef596 100644 --- a/studiorender/r_studiodraw.cpp +++ b/studiorender/r_studiodraw.cpp @@ -1235,11 +1235,13 @@ public: { #if !defined( _X360 ) Assert( dstVertex.m_vecUserData.w == -1.0f || dstVertex.m_vecUserData.w == 1.0f ); - if ( nHasSIMD ) - { - meshBuilder.FastVertexSSE( dstVertex ); - } - else + + // TODO(nillerusr): uncomment when i remove -mfpmath=387 from compiler options + //if ( nHasSIMD ) + //{ + // meshBuilder.FastVertexSSE( dstVertex ); + //} + //else { meshBuilder.FastVertex( dstVertex ); } diff --git a/tier1/wscript b/tier1/wscript index 4063a3bf27..61b4810c1c 100755 --- a/tier1/wscript +++ b/tier1/wscript @@ -85,7 +85,6 @@ def build(bld): includes = includes, defines = defines, use = libs, - install_path = install_path, subsystem = bld.env.MSVC_SUBSYSTEM, idx = bld.get_taskgen_count() ) diff --git a/vphysics/wscript b/vphysics/wscript new file mode 100755 index 0000000000..d2c5d994dd --- /dev/null +++ b/vphysics/wscript @@ -0,0 +1,80 @@ +#! /usr/bin/env python +# encoding: utf-8 + +from waflib import Utils +import os + +top = '.' +PROJECT_NAME = 'vphysics' + +def options(opt): + # stub + return + +def configure(conf): + conf.env.append_unique('DEFINES',[ + 'VPHYSICS_EXPORTS', + 'HAVANA_CONSTRAINTS', + 'HAVOK_MOPP' + ]) +def build(bld): + source = [ + 'convert.cpp', + '../public/filesystem_helpers.cpp', + 'ledgewriter.cpp', + 'main.cpp', + 'physics_airboat.cpp', + 'physics_collide.cpp', + 'physics_constraint.cpp', + 'physics_controller_raycast_vehicle.cpp', + 'physics_environment.cpp', + 'physics_fluid.cpp', + 'physics_friction.cpp', + 'physics_material.cpp', + 'physics_motioncontroller.cpp', + 'physics_object.cpp', + 'physics_shadow.cpp', + 'physics_spring.cpp', + 'physics_vehicle.cpp', + 'physics_virtualmesh.cpp', + 'trace.cpp', + 'vcollide_parse.cpp', + 'vphysics_saverestore.cpp' + + ] + + includes = [ + '.', + '../public', + '../public/tier0', + '../public/tier1', + '../ivp/ivp_intern', + '../ivp/ivp_collision', + '../ivp/ivp_physics', + '../ivp/ivp_surface_manager', + '../ivp/ivp_utility', + '../ivp/ivp_controller', + '../ivp/ivp_compact_builder', + '../ivp/havana/havok', + '../ivp/havana' + ] + + defines = [] + + libs = ['tier0','havana_constraints','hk_math','hk_base','ivp_compactbuilder','ivp_physics','tier1','tier2','vstdlib','mathlib'] + + install_path = bld.env.PREFIX + + bld.shlib( + source = source, + target = PROJECT_NAME, + name = PROJECT_NAME, + features = 'c cxx', + includes = includes, + defines = defines, + use = libs, + install_path = install_path, + subsystem = bld.env.MSVC_SUBSYSTEM, + idx = bld.get_taskgen_count() + ) + diff --git a/wscript b/wscript index d9411e2fac..ee042686c7 100644 --- a/wscript +++ b/wscript @@ -39,7 +39,10 @@ projects=[ 'materialsystem','studiorender','materialsystem/stdshaders', 'video','inputsystem','appframework', 'launcher','engine/voice_codecs/minimp3','materialsystem/shaderapidx9', - 'gameui','dmxloader','datamodel','engine' + 'gameui','dmxloader','datamodel','engine','ivp/havana', + 'ivp/havana/havok/hk_math','ivp/havana/havok/hk_base', + 'ivp/ivp_compact_builder','ivp/ivp_physics','vphysics','game/server', + 'particles','choreoobjects','game/client' ] projects += ['thirdparty/StubSteamAPI'] # ,'thirdparty/libjpeg','thirdparty/SDL2-src'] # thirdparty projects @@ -91,9 +94,6 @@ def options(opt): grp.add_option('-8', '--64bits', action = 'store_true', dest = 'ALLOW64', default = False, help = 'allow targetting 64-bit engine(Linux/Windows/OSX x86 only) [default: %default]') - grp.add_option('-W', '--win-style-install', action = 'store_true', dest = 'WIN_INSTALL', default = False, - help = 'install like Windows build, ignore prefix, useful for development [default: %default]') - opt.load('compiler_optimizations subproject') opt.add_subproject(projects) @@ -104,7 +104,7 @@ def options(opt): opt.load('reconfigure') def configure(conf): - conf.env.PREFIX = '' + conf.env.PREFIX = '.' conf.load('fwgslib reconfigure') @@ -127,16 +127,6 @@ def configure(conf): conf.check_pkg('freetype2', 'FT2', FT2_CHECK) conf.check_pkg('fontconfig', 'FC', FC_CHECK) -# enforce_pic = True # modern defaults - - # modify options dictionary early -# if conf.env.DEST_OS == 'android': - -# if conf.env.STATIC_LINKING: -# enforce_pic = False # PIC may break full static builds - -# conf.check_pic(enforce_pic) - # We restrict 64-bit builds ONLY for Win/Linux/OSX running on Intel architecture # Because compatibility with original GoldSrc if conf.env.DEST_OS in ['win32', 'linux', 'darwin'] and conf.env.DEST_CPU == 'x86_64': @@ -149,38 +139,16 @@ def configure(conf): conf.load('force_32bit') compiler_optional_flags = [ -# '-Wall', '-Wextra', '-Wpedantic', + '-Wall', '-fdiagnostics-color=always', -# '-Werror=return-type', -# '-Werror=parentheses', -# '-Werror=vla', -# '-Werror=tautological-compare', -# '-Werror=duplicated-cond', -# '-Werror=duplicated-branches', # BEWARE: buggy -# '-Werror=bool-compare', -# '-Werror=bool-operation', '-Wcast-align', -# '-Werror=cast-align=strict', # =strict is for GCC >=8 -# '-Werror=packed', -# '-Werror=packed-not-aligned', - '-Wuninitialized', # older GCC versions have -Wmaybe-uninitialized enabled by this switch, which is not accurate - # so just warn, not error + '-Wuninitialized', '-Winit-self', -# '-Werror=implicit-fallthrough=2', # clang incompatible without "=2" -# '-Wdouble-promotion', # disable warning flood '-Wstrict-aliasing' ] c_compiler_optional_flags = [ -# '-Werror=incompatible-pointer-types', -# '-Werror=implicit-function-declaration', -# '-Werror=int-conversion', -# '-Werror=implicit-int', -# '-Werror=strict-prototypes', -# '-Werror=old-style-declaration', -# '-Werror=old-style-definition', -# '-Werror=declaration-after-statement', - '-fnonconst-initializers', # owcc + '-fnonconst-initializers' # owcc ] cflags, linkflags = conf.get_optimization_flags() @@ -190,7 +158,7 @@ def configure(conf): cxxflags = list(cflags) + ['-std=c++11','-fpermissive'] if conf.env.COMPILER_CC == 'gcc': - wrapfunctions = ['fopen','freopen','open','creat','access','__xstat','stat','lstat','fopen64','open64', + wrapfunctions = ['freopen','fopen','open','creat','access','__xstat','stat','lstat','fopen64','open64', 'opendir','__lxstat','chmod','chown','lchown','symlink','link','__lxstat64','mknod', 'utimes','unlink','rename','utime','__xstat64','mount','mkfifo','mkdir','rmdir','scandir','realpath'] @@ -217,6 +185,7 @@ def configure(conf): if conf.env.DEST_OS != 'win32': conf.check_cc(lib='dl', mandatory=False) + conf.check_cc(lib='rt', mandatory=False) if not conf.env.LIB_M: # HACK: already added in xcompile! conf.check_cc(lib='m') @@ -247,13 +216,13 @@ def configure(conf): # conf.multicheck(*a, run_all_tests = True, mandatory = True) # indicate if we are packaging for Linux/BSD - if not conf.options.WIN_INSTALL and conf.env.DEST_OS not in ['win32', 'darwin', 'android']: - conf.env.LIBDIR = conf.env.BINDIR = '${PREFIX}/lib/' - else: - conf.env.LIBDIR = conf.env.BINDIR = conf.env.PREFIX + if conf.env.DEST_OS != 'android': + conf.env.LIBDIR = conf.env.PREFIX+'/bin/' + conf.env.BINDIR = conf.env.PREFIX + + conf.env.LIBDIR = conf.env.BINDIR = conf.env.PREFIX define_platform(conf) - conf.add_subproject(projects) def build(bld):