├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── common ├── GameUI │ └── IGameUI.h ├── SteamCommon.h ├── compiledcaptionswap.cpp ├── engine_launcher_api.h ├── hl2orange.spa.h ├── language.cpp ├── language.h ├── lzma │ └── lzma.h ├── networksystem │ ├── inetworkmessage.h │ └── inetworksystem.h ├── proto_version.h ├── qlimits.h ├── randoverride.cpp ├── replay │ ├── basereplayserializeable.h │ ├── iclientreplay.h │ ├── iclientreplaycontext.h │ ├── iclientreplayhistorymanager.h │ ├── ienginereplay.h │ ├── iqueryablereplayitem.h │ ├── irecordingsession.h │ ├── irecordingsessionblockmanager.h │ ├── irecordingsessionmanager.h │ ├── ireplaycamera.h │ ├── ireplaycontext.h │ ├── ireplaydemoplayer.h │ ├── ireplayerrorsystem.h │ ├── ireplayfactory.h │ ├── ireplaymanager.h │ ├── ireplaymovie.h │ ├── ireplaymoviemanager.h │ ├── ireplaymovierenderer.h │ ├── ireplayperformancecontroller.h │ ├── ireplayperformanceeditor.h │ ├── ireplayperformancemanager.h │ ├── ireplayperformanceplaybackhandler.h │ ├── ireplayperformanceplayer.h │ ├── ireplayperformancerecorder.h │ ├── ireplayplayercache.h │ ├── ireplayrenderqueue.h │ ├── ireplayscreenshotmanager.h │ ├── ireplayscreenshotsystem.h │ ├── ireplayserializeable.h │ ├── ireplayserver.h │ ├── ireplaysessionrecorder.h │ ├── ireplaysystem.h │ ├── iserverengine.h │ ├── iserverreplay.h │ ├── iserverreplaycontext.h │ ├── performance.h │ ├── rendermovieparams.h │ ├── replay.h │ ├── replayhandle.h │ ├── replaylib.h │ ├── replaytime.h │ ├── replayutils.h │ ├── screenshot.h │ └── shared_defs.h ├── studiobyteswap.cpp ├── studiobyteswap.h ├── userid.h └── xbox │ └── xboxstubs.h ├── engine └── cso2 │ ├── clanbattle.h │ ├── claninfo.h │ ├── cso2automatchmodinfo.cpp │ ├── cso2automatchmodinfo.h │ ├── cso2gamemanager.cpp │ ├── cso2gamemanager.h │ ├── cso2gameroom.cpp │ ├── cso2gameroom.h │ ├── cso2mapinfo.cpp │ ├── cso2mapinfo.h │ ├── cso2modinfo.cpp │ ├── cso2modinfo.h │ ├── cso2modmapinfo.cpp │ ├── cso2modmapinfo.h │ ├── itemoptioninfo.h │ ├── optionlist.cpp │ └── optionlist.h ├── game └── shared │ ├── choreoactor.cpp │ ├── choreoactor.h │ ├── choreochannel.cpp │ ├── choreochannel.h │ ├── choreoevent.cpp │ ├── choreoevent.h │ ├── choreoscene.cpp │ ├── choreoscene.h │ ├── expressionsample.h │ └── iscenetokenprocessor.h ├── lib └── public │ ├── tier0.def │ ├── tier0.exp │ ├── tier0.lib │ └── vstdlib.lib ├── mathlib ├── 3dnow.cpp ├── 3dnow.h ├── IceKey.cpp ├── almostequal.cpp ├── anorms.cpp ├── bumpvects.cpp ├── color_conversion.cpp ├── datagen.pl ├── halton.cpp ├── imagequant.cpp ├── lightdesc.cpp ├── mathlib.vpc ├── mathlib.vpc.sentinel ├── mathlib_base.cpp ├── noisedata.h ├── polyhedron.cpp ├── powsse.cpp ├── quantize.cpp ├── randsse.cpp ├── simdvectormatrix.cpp ├── sparse_convolution_noise.cpp ├── spherical.cpp ├── sse.cpp ├── sse.h ├── sseconst.cpp ├── ssenoise.cpp ├── vector.cpp └── vmatrix.cpp ├── public ├── BitmapFontFile.h ├── Color.h ├── Friends │ ├── AddOns │ │ ├── AddOnMessages.h │ │ ├── AddOnTypes.h │ │ └── ISteamAddOn.h │ ├── IFriendsNET.h │ └── IFriendsUser.h ├── IGameUIFuncs.h ├── IHammer.h ├── OfflineMode.h ├── PlayerState.h ├── ScratchPadUtils.cpp ├── ScratchPadUtils.h ├── SoundEmitterSystem │ └── isoundemittersystembase.h ├── SoundParametersInternal.cpp ├── UnicodeFileHelpers.cpp ├── UnicodeFileHelpers.h ├── UtlCachedFileData.h ├── VGuiMatSurface │ ├── IMatSystemSurface.h │ └── IMatSystemSurfaceV5.h ├── XUnzip.cpp ├── XZip.cpp ├── appframework │ ├── AppFramework.h │ ├── IAppSystem.h │ ├── IAppSystemGroup.h │ ├── VguiMatSysApp.h │ ├── ilaunchermgr.h │ ├── tier2app.h │ └── tier3app.h ├── arraystack.h ├── avi │ ├── iavi.h │ ├── ibik.h │ └── iquicktime.h ├── basehandle.h ├── bitmap │ ├── bitmap.h │ ├── cubemap.h │ ├── float_bm.h │ ├── imageformat.h │ ├── psd.h │ ├── tgaloader.h │ └── tgawriter.h ├── bitvec.h ├── blockingudpsocket.cpp ├── blockingudpsocket.h ├── bone_accessor.cpp ├── bone_accessor.h ├── bone_setup.cpp ├── bone_setup.h ├── bspfile.h ├── bspflags.h ├── bsptreedata.cpp ├── bsptreedata.h ├── builddisp.cpp ├── builddisp.h ├── captioncompiler.h ├── cdll_int.h ├── chunkfile.cpp ├── chunkfile.h ├── client │ └── cso2 │ │ ├── icso2msghandlerclient.cpp │ │ └── icso2msghandlerclient.h ├── client_class.cpp ├── client_class.h ├── client_render_handle.h ├── client_textmessage.h ├── clientstats.h ├── cmodel.h ├── collisionutils.cpp ├── collisionutils.h ├── con_nprint.h ├── const.h ├── coordsize.h ├── crtmemdebug.cpp ├── crtmemdebug.h ├── datacache │ ├── idatacache.h │ └── imdlcache.h ├── datamap.h ├── datamodel │ ├── attributeflags.h │ ├── dmattribute.h │ ├── dmattributetypes.h │ ├── dmattributevar.h │ ├── dmehandle.h │ ├── dmelement.h │ ├── dmelementfactoryhelper.h │ ├── dmelementhandle.h │ ├── dmvar.h │ └── idatamodel.h ├── demofile │ └── demoformat.h ├── disp_common.cpp ├── disp_common.h ├── disp_powerinfo.cpp ├── disp_powerinfo.h ├── disp_tesselate.h ├── disp_vertindex.h ├── dispcoll.cpp ├── dispcoll.h ├── dispcoll_common.cpp ├── dispcoll_common.h ├── dlight.h ├── dmserializers │ └── idmserializers.h ├── dmxloader │ ├── dmxattribute.h │ ├── dmxelement.h │ └── dmxloader.h ├── dt_common.h ├── dt_recv.cpp ├── dt_recv.h ├── dt_send.cpp ├── dt_send.h ├── dt_shared.cpp ├── dt_shared.h ├── dt_utlvector_common.cpp ├── dt_utlvector_common.h ├── dt_utlvector_recv.cpp ├── dt_utlvector_recv.h ├── dt_utlvector_send.cpp ├── dt_utlvector_send.h ├── edict.h ├── editor_sendcommand.cpp ├── editor_sendcommand.h ├── eiface.h ├── eifacev21.h ├── engine │ ├── IClientLeafSystem.h │ ├── ICollideable.h │ ├── IEngineSound.h │ ├── IEngineTrace.h │ ├── IStaticPropMgr.h │ ├── SndInfo.h │ ├── cso2 │ │ ├── icso2gamemanager.h │ │ ├── icso2gameroom.h │ │ ├── icso2lobbystatemanager.h │ │ └── icso2msgmanager.h │ ├── http.h │ ├── ienginevoice.h │ ├── imatchmaking.h │ ├── iserverplugin.h │ ├── ishadowmgr.h │ ├── ivdebugoverlay.h │ ├── ivmodelinfo.h │ ├── ivmodelrender.h │ └── view_sharedv1.h ├── engine_hlds_api.h ├── event_flags.h ├── fgdlib │ ├── entitydefs.h │ ├── fgdlib.h │ ├── gamedata.h │ ├── gdclass.h │ ├── gdvar.h │ ├── helperinfo.h │ ├── ieditortexture.h │ ├── inputoutput.h │ └── wckeyvalues.h ├── filesystem.h ├── filesystem │ └── IQueuedLoader.h ├── filesystem_helpers.cpp ├── filesystem_helpers.h ├── filesystem_init.cpp ├── filesystem_init.h ├── filesystem_passthru.h ├── g15 │ └── ig15.h ├── game │ ├── client │ │ ├── IGameClientExports.h │ │ ├── iclientrendertargets.h │ │ └── iviewport.h │ └── server │ │ ├── ientityinfo.h │ │ ├── igameinfo.h │ │ ├── iplayerinfo.h │ │ └── pluginvariant.h ├── gamebspfile.h ├── gametrace.h ├── globalvars_base.h ├── haptics │ ├── haptic_msgs.cpp │ ├── haptic_msgs.h │ ├── haptic_utils.cpp │ ├── haptic_utils.h │ └── ihaptics.h ├── iachievementmgr.h ├── ibsppack.h ├── iclient.h ├── icliententity.h ├── icliententitylist.h ├── iclientnetworkable.h ├── iclientrenderable.h ├── iclientthinkable.h ├── iclientunknown.h ├── iclientvirtualreality.h ├── icvar.h ├── idedicatedexports.h ├── iefx.h ├── ienginevgui.h ├── iexternaltest.h ├── ifilelist.h ├── igameevents.h ├── igameresources.h ├── ihandleentity.h ├── ihltv.h ├── ihltvdirector.h ├── ilaunchabledll.h ├── imapoverview.h ├── inetchannel.h ├── inetchannelinfo.h ├── inetmessage.h ├── inetmsghandler.h ├── inetwork.h ├── inputsystem │ ├── AnalogCode.h │ ├── ButtonCode.h │ ├── InputEnums.h │ └── iinputsystem.h ├── interpolatortypes.cpp ├── interpolatortypes.h ├── iprediction.h ├── irecipientfilter.h ├── iregistry.h ├── isaverestore.h ├── iscratchpad3d.h ├── iserver.h ├── iserverentity.h ├── iservernetworkable.h ├── iserverunknown.h ├── ishadercompiledll.h ├── isoundcombiner.h ├── ispatialpartition.h ├── isqlwrapper.h ├── istudiorender.h ├── ivguicenterprint.h ├── ivoiceserver.h ├── ivoicetweak.h ├── ivraddll.h ├── ivrenderview.h ├── ivtex.h ├── ixboxsystem.h ├── jigglebones.cpp ├── jigglebones.h ├── jpeglib │ ├── jconfig.h │ ├── jmorecfg.h │ └── jpeglib.h ├── kevvaluescompiler.cpp ├── keyframe │ ├── keyframe.cpp │ └── keyframe.h ├── keyvaluescompiler.h ├── list.h ├── loadcmdline.cpp ├── loadcmdline.h ├── localflexcontroller.h ├── lumpfiles.cpp ├── lumpfiles.h ├── map_utils.cpp ├── map_utils.h ├── materialsystem │ ├── IColorCorrection.h │ ├── IShader.h │ ├── MaterialSystemUtil.cpp │ ├── MaterialSystemUtil.h │ ├── combineoperations.h │ ├── deformations.h │ ├── hardwaretexels.h │ ├── hardwareverts.h │ ├── idebugtextureinfo.h │ ├── imaterial.h │ ├── imaterialproxy.h │ ├── imaterialproxyfactory.h │ ├── imaterialsystem.h │ ├── imaterialsystemhardwareconfig.h │ ├── imaterialsystemstub.h │ ├── imaterialvar.h │ ├── imesh.h │ ├── imorph.h │ ├── ishaderapi.h │ ├── ishadersystem_declarations.h │ ├── itexture.h │ ├── itexturecompositor.h │ ├── ivballoctracker.h │ ├── materialsystem_config.h │ ├── meshreader.h │ └── shader_vcs_version.h ├── mathlib │ ├── IceKey.H │ ├── amd3dx.h │ ├── anorms.h │ ├── bumpvects.h │ ├── compressed_3d_unitvec.h │ ├── compressed_light_cube.h │ ├── compressed_vector.h │ ├── halton.h │ ├── lightdesc.h │ ├── math_pfns.h │ ├── mathlib.h │ ├── matrixmath.h │ ├── noise.h │ ├── polyhedron.h │ ├── quantize.h │ ├── simdvectormatrix.h │ ├── spherical_geometry.h │ ├── ssemath.h │ ├── ssequaternion.h │ ├── vector.h │ ├── vector2d.h │ ├── vector4d.h │ ├── vmatrix.h │ └── vplane.h ├── matsys_controls │ ├── QCGenerator.h │ ├── assetpicker.h │ ├── baseassetpicker.h │ ├── colorpickerpanel.h │ ├── curveeditorpanel.h │ ├── gamefiletreeview.h │ ├── manipulator.h │ ├── matsyscontrols.h │ ├── mdlpanel.h │ ├── mdlpicker.h │ ├── mdlsequencepicker.h │ ├── picker.h │ ├── potterywheelpanel.h │ ├── proceduraltexturepanel.h │ ├── sequencepicker.h │ ├── tgapreviewpanel.h │ ├── vmtpanel.h │ ├── vmtpicker.h │ ├── vmtpreviewpanel.h │ ├── vtfpicker.h │ └── vtfpreviewpanel.h ├── maya │ ├── IMayaVGui.h │ ├── VsMayaDmx.h │ ├── VsMayaMPxFactory.h │ ├── VsVGuiWindow.h │ └── valveMaya.h ├── mdllib │ └── mdllib.h ├── measure_section.cpp ├── measure_section.h ├── minmax.h ├── model_types.h ├── modes.h ├── mouthinfo.h ├── movieobjects │ ├── dmeanimationlist.h │ ├── dmeanimationset.h │ ├── dmeattachment.h │ ├── dmebalancetostereocalculatoroperator.h │ ├── dmebookmark.h │ ├── dmecamera.h │ ├── dmechannel.h │ ├── dmeclip.h │ ├── dmecombinationoperator.h │ ├── dmedag.h │ ├── dmedccmakefile.h │ ├── dmedrawsettings.h │ ├── dmeeditortypedictionary.h │ ├── dmeexpressionoperator.h │ ├── dmeeyeball.h │ ├── dmeeyeposition.h │ ├── dmefaceset.h │ ├── dmegamemodel.h │ ├── dmegamemodelinput.h │ ├── dmeimage.h │ ├── dmeinput.h │ ├── dmejoint.h │ ├── dmekeyboardinput.h │ ├── dmelight.h │ ├── dmelog.h │ ├── dmemakefile.h │ ├── dmemakefileutils.h │ ├── dmematerial.h │ ├── dmematerialoverlayfxclip.h │ ├── dmemdl.h │ ├── dmemdlmakefile.h │ ├── dmemesh.h │ ├── dmemodel.h │ ├── dmemorphoperator.h │ ├── dmemouseinput.h │ ├── dmeoperator.h │ ├── dmepackoperators.h │ ├── dmeparticlesystemdefinition.h │ ├── dmephonememapping.h │ ├── dmeselection.h │ ├── dmeshader.h │ ├── dmeshape.h │ ├── dmesound.h │ ├── dmetestmesh.h │ ├── dmetexture.h │ ├── dmetimeframe.h │ ├── dmetimeselection.h │ ├── dmetimeselectiontimes.h │ ├── dmetrack.h │ ├── dmetrackgroup.h │ ├── dmetransform.h │ ├── dmetransforminput.h │ ├── dmetransformlist.h │ ├── dmetransformoperator.h │ ├── dmeunpackoperators.h │ ├── dmevertexdata.h │ ├── dmmeshcomp.h │ ├── dmmeshutils.h │ ├── dmobjserializer.h │ ├── dmx_to_vcd.h │ ├── idmemakefileutils.h │ ├── importintovcd.h │ ├── movieobjects.cpp │ ├── movieobjects.h │ ├── movieobjects_compiletools.cpp │ ├── proceduralpresets.h │ └── timeutils.h ├── networkstringtabledefs.h ├── networkvar.cpp ├── networkvar.h ├── nmatrix.h ├── ntree.h ├── nvector.h ├── nvtc.h ├── optimize.h ├── overlaytext.h ├── p4lib │ └── ip4.h ├── particles │ └── particles.h ├── phonemeconverter.cpp ├── phonemeconverter.h ├── phonemeextractor │ └── phonemeextractor.h ├── phyfile.h ├── pixelwriter.h ├── posedebugger.cpp ├── posedebugger.h ├── r_efx.h ├── raytrace.h ├── registry.cpp ├── renamed_recvtable_compat.cpp ├── renamed_recvtable_compat.h ├── renderparm.h ├── rope_physics.cpp ├── rope_physics.h ├── rope_shared.h ├── savegame_version.h ├── saverestoretypes.h ├── scenefilecache │ ├── ISceneFileCache.h │ └── SceneImageFile.h ├── scratchpad3d.cpp ├── scratchpad3d.h ├── sentence.cpp ├── sentence.h ├── server_class.cpp ├── server_class.h ├── shaderapi │ ├── IShaderDevice.h │ ├── commandbuffer.h │ ├── ishaderapi.h │ ├── ishaderdynamic.h │ ├── ishadershadow.h │ ├── ishaderutil.h │ └── shareddefs.h ├── shaderlib │ ├── BaseShader.h │ ├── ShaderDLL.h │ └── cshader.h ├── shake.h ├── shattersurfacetypes.h ├── simple_physics.cpp ├── simple_physics.h ├── smooth_average.h ├── soundchars.h ├── soundcombiner.cpp ├── soundflags.h ├── soundinfo.h ├── soundsystem │ ├── isoundsystem.h │ ├── snd_audio_source.h │ └── snd_device.h ├── sourcevr │ └── isourcevirtualreality.h ├── stdstring.h ├── steam │ ├── isteamapplist.h │ ├── isteamapps.h │ ├── isteamclient.h │ ├── isteamcontroller.h │ ├── isteamfriends.h │ ├── isteamgameserver.h │ ├── isteamgameserverstats.h │ ├── isteamhtmlsurface.h │ ├── isteamhttp.h │ ├── isteammatchmaking.h │ ├── isteammusic.h │ ├── isteammusicremote.h │ ├── isteamnetworking.h │ ├── isteamremotestorage.h │ ├── isteamscreenshots.h │ ├── isteamugc.h │ ├── isteamunifiedmessages.h │ ├── isteamuser.h │ ├── isteamuserstats.h │ ├── isteamutils.h │ ├── matchmakingtypes.h │ ├── steam_api.h │ ├── steam_gameserver.h │ ├── steamclientpublic.h │ ├── steamhttpenums.h │ ├── steamtypes.h │ └── steamuniverse.h ├── string_t.h ├── stringregistry.cpp ├── stringregistry.h ├── studio.cpp ├── studio.h ├── studio_generic_io.cpp ├── studio_virtualmodel.cpp ├── surfinfo.h ├── texture_group_names.h ├── tier0 │ ├── EventMasks.h │ ├── EventModes.h │ ├── ICommandLine.h │ ├── IOCTLCodes.h │ ├── K8PerformanceCounters.h │ ├── P4PerformanceCounters.h │ ├── P5P6PerformanceCounters.h │ ├── PMELib.h │ ├── afxmem_override.cpp │ ├── annotations.h │ ├── basetypes.h │ ├── commonmacros.h │ ├── cpumonitoring.h │ ├── cso2 │ │ ├── iloadingsplash.h │ │ ├── iprecommandlineparser.h │ │ ├── log.h │ │ └── messagebox.h │ ├── dbg.h │ ├── dbgflag.h │ ├── dynfunction.h │ ├── etwprof.h │ ├── fasttimer.h │ ├── ia32detect.h │ ├── l2cache.h │ ├── mem.h │ ├── memalloc.h │ ├── memdbgoff.h │ ├── memdbgon.h │ ├── memoverride.cpp │ ├── minidump.h │ ├── platform.h │ ├── pmc360.h │ ├── pointeroverride.asm │ ├── progressbar.h │ ├── protected_things.h │ ├── stacktools.h │ ├── systeminformation.h │ ├── testthread.h │ ├── threadtools.h │ ├── tmapi_dummy.h │ ├── tslist.h │ ├── validator.h │ ├── valobject.h │ ├── valve_minmax_off.h │ ├── valve_minmax_on.h │ ├── valve_off.h │ ├── valve_on.h │ ├── vcr_shared.h │ ├── vcrmode.h │ ├── vprof.h │ ├── vprof_telemetry.h │ ├── wchartypes.h │ └── xbox_codeline_defines.h ├── tier1 │ ├── CommandBuffer.h │ ├── KeyValues.h │ ├── UtlSortVector.h │ ├── UtlStringMap.h │ ├── bitbuf.h │ ├── byteswap.h │ ├── callqueue.h │ ├── characterset.h │ ├── checksum_crc.h │ ├── checksum_md5.h │ ├── checksum_sha1.h │ ├── convar.h │ ├── convar_serverbounded.h │ ├── datamanager.h │ ├── delegates.h │ ├── diff.h │ ├── fileio.h │ ├── fmtstr.h │ ├── functors.h │ ├── generichash.h │ ├── iconvar.h │ ├── ilocalize.h │ ├── interface.h │ ├── kvpacker.h │ ├── lzmaDecoder.h │ ├── lzss.h │ ├── mempool.h │ ├── memstack.h │ ├── netadr.h │ ├── passwordhash.h │ ├── processor_detect.h │ ├── rangecheckedvar.h │ ├── refcount.h │ ├── reliabletimer.h │ ├── smartptr.h │ ├── snappy-sinksource.h │ ├── snappy-stubs-public.h │ ├── snappy.h │ ├── sparsematrix.h │ ├── stringpool.h │ ├── strtools.h │ ├── thash.h │ ├── tier1.h │ ├── tokenreader.h │ ├── uniqueid.h │ ├── utlallocation.h │ ├── utlarray.h │ ├── utlbidirectionalset.h │ ├── utlbinaryblock.h │ ├── utlblockmemory.h │ ├── utlbuffer.h │ ├── utlbufferutil.h │ ├── utlcommon.h │ ├── utldelegate.h │ ├── utldelegateimpl.h │ ├── utldict.h │ ├── utlenvelope.h │ ├── utlfixedmemory.h │ ├── utlflags.h │ ├── utlhandletable.h │ ├── utlhash.h │ ├── utlhashdict.h │ ├── utlhashtable.h │ ├── utlintrusivelist.h │ ├── utllinkedlist.h │ ├── utlmap.h │ ├── utlmemory.h │ ├── utlmovingaverage.h │ ├── utlmultilist.h │ ├── utlntree.h │ ├── utlobjectreference.h │ ├── utlpair.h │ ├── utlpriorityqueue.h │ ├── utlqueue.h │ ├── utlrbtree.h │ ├── utlsoacontainer.h │ ├── utlstack.h │ ├── utlstring.h │ ├── utlsymbol.h │ ├── utlsymbollarge.h │ ├── utltshash.h │ └── utlvector.h ├── tier2 │ ├── beamsegdraw.h │ ├── camerautils.h │ ├── fileutils.h │ ├── keybindings.h │ ├── meshutils.h │ ├── p4helpers.h │ ├── renderutils.h │ ├── riff.h │ ├── soundutils.h │ ├── tier2.h │ ├── tier2dm.h │ ├── utlstreambuffer.h │ └── vconfig.h ├── tier3 │ ├── choreoutils.h │ ├── mdlutils.h │ ├── scenetokenprocessor.h │ ├── tier3.h │ └── tier3dm.h ├── togl │ ├── glfuncs.inl │ ├── linuxwin │ │ ├── cglmbuffer.h │ │ ├── cglmfbo.h │ │ ├── cglmprogram.h │ │ ├── cglmquery.h │ │ ├── cglmtex.h │ │ ├── dxabstract.h │ │ ├── dxabstract_types.h │ │ ├── glbase.h │ │ ├── glentrypoints.h │ │ ├── glfuncs.h │ │ ├── glmdebug.h │ │ ├── glmdisplay.h │ │ ├── glmdisplaydb.h │ │ ├── glmgr.h │ │ ├── glmgrbasics.h │ │ └── glmgrext.h │ └── rendermechanism.h ├── toolframework │ ├── iclientenginetools.h │ ├── ienginetool.h │ ├── iserverenginetools.h │ ├── itooldictionary.h │ ├── itoolentity.h │ ├── itoolframework.h │ ├── itoolsystem.h │ └── toolframework.cpp ├── tools │ ├── bonelist.cpp │ └── bonelist.h ├── trace.h ├── unicode │ └── unicode.h ├── unitlib │ └── unitlib.h ├── vallocator.cpp ├── vallocator.h ├── vaudio │ └── ivaudio.h ├── vcollide.h ├── vcollide_parse.h ├── vgui │ ├── Cursor.h │ ├── Dar.h │ ├── IBorder.h │ ├── IClientPanel.h │ ├── IHTML.h │ ├── IImage.h │ ├── IInput.h │ ├── IInputInternal.h │ ├── ILocalize.h │ ├── IPanel.h │ ├── IScheme.h │ ├── ISurface.h │ ├── ISurfaceV30.h │ ├── ISystem.h │ ├── IVGui.h │ ├── IVguiMatInfo.h │ ├── IVguiMatInfoVar.h │ ├── KeyCode.h │ ├── MouseCode.h │ ├── Point.h │ ├── VGUI.h │ ├── ipainthtml.h │ └── keyrepeat.h ├── vgui_controls │ ├── AnalogBar.h │ ├── AnimatingImagePanel.h │ ├── AnimationController.h │ ├── BitmapImagePanel.h │ ├── BuildGroup.h │ ├── BuildModeDialog.h │ ├── Button.h │ ├── CheckButton.h │ ├── CheckButtonList.h │ ├── CircularProgressBar.h │ ├── ComboBox.h │ ├── ControllerMap.h │ ├── Controls.h │ ├── DialogManager.h │ ├── DirectorySelectDialog.h │ ├── Divider.h │ ├── EditablePanel.h │ ├── ExpandButton.h │ ├── FileOpenDialog.h │ ├── FileOpenStateMachine.h │ ├── FocusNavGroup.h │ ├── Frame.h │ ├── GraphPanel.h │ ├── HTML.h │ ├── Image.h │ ├── ImageList.h │ ├── ImagePanel.h │ ├── InputDialog.h │ ├── KeyBindingHelpDialog.h │ ├── KeyBindingMap.h │ ├── KeyBoardEditorDialog.h │ ├── KeyRepeat.h │ ├── Label.h │ ├── ListPanel.h │ ├── ListViewPanel.h │ ├── Menu.h │ ├── MenuBar.h │ ├── MenuButton.h │ ├── MenuItem.h │ ├── MessageBox.h │ ├── MessageDialog.h │ ├── MessageMap.h │ ├── PHandle.h │ ├── Panel.h │ ├── PanelAnimationVar.h │ ├── PanelListPanel.h │ ├── PerforceFileExplorer.h │ ├── PerforceFileList.h │ ├── ProgressBar.h │ ├── ProgressBox.h │ ├── PropertyDialog.h │ ├── PropertyPage.h │ ├── PropertySheet.h │ ├── QueryBox.h │ ├── RadioButton.h │ ├── RichText.h │ ├── RotatingProgressBar.h │ ├── ScalableImagePanel.h │ ├── ScrollBar.h │ ├── ScrollBarSlider.h │ ├── ScrollableEditablePanel.h │ ├── SectionedListPanel.h │ ├── Slider.h │ ├── Splitter.h │ ├── TextEntry.h │ ├── TextImage.h │ ├── ToggleButton.h │ ├── ToolWindow.h │ ├── Tooltip.h │ ├── TreeView.h │ ├── TreeViewListControl.h │ ├── URLLabel.h │ ├── WizardPanel.h │ ├── WizardSubPanel.h │ ├── consoledialog.h │ ├── cvartogglecheckbutton.h │ ├── pch_vgui_controls.h │ ├── perforcefilelistframe.h │ ├── savedocumentquery.h │ ├── subrectimage.h │ └── vgui_controls.cpp ├── video │ └── ivideoservices.h ├── view_shared.h ├── vphysics │ ├── collision_set.h │ ├── constraints.h │ ├── friction.h │ ├── object_hash.h │ ├── performance.h │ ├── player_controller.h │ ├── stats.h │ ├── vehicles.h │ └── virtualmesh.h ├── vphysics_interface.h ├── vphysics_interfaceV30.h ├── vstdlib │ ├── IKeyValuesSystem.h │ ├── coroutine.h │ ├── cvar.h │ ├── iprocessutils.h │ ├── jobthread.h │ ├── osversion.h │ ├── pch_vstdlib.h │ ├── random.h │ ├── vcover.h │ └── vstdlib.h ├── vtf │ └── vtf.h ├── wadtypes.h ├── windows_default.manifest ├── winlite.h ├── worldsize.h ├── xwvfile.h ├── xzp.cpp ├── zip │ ├── XUnzip.h │ └── XZip.h ├── zip_uncompressed.h ├── zip_utils.cpp └── zip_utils.h ├── vpc_scripts ├── default.vgc ├── definitions │ └── win32_2010.def ├── dllbase.txt ├── groups.vgc ├── loadaddress.vpc ├── platform_dirs.vpc ├── projects.vgc ├── protobuf_builder.vpc ├── source_base.vpc ├── source_dll_base.vpc ├── source_dll_linux_base.vpc ├── source_dll_posix_base.vpc ├── source_dll_qt_base.vpc ├── source_dll_win32_base.vpc ├── source_dll_win32_debug.vpc ├── source_dll_win32_release.vpc ├── source_exe_base.vpc ├── source_exe_con_base.vpc ├── source_exe_con_win32_base.vpc ├── source_exe_linux_base.vpc ├── source_exe_posix_base.vpc ├── source_exe_qt_base.vpc ├── source_exe_qt_con_base.vpc ├── source_exe_qt_win32_base.vpc ├── source_exe_win_win32_base.vpc ├── source_exe_win_win32_debug.vpc ├── source_exe_win_win32_release.vpc ├── source_lib_base.vpc ├── source_lib_linux_base.vpc ├── source_lib_posix_base.vpc ├── source_lib_qt_base.vpc ├── source_lib_qt_win32_base.vpc ├── source_lib_win32_base.vpc ├── source_lib_win32_debug.vpc ├── source_lib_win32_release.vpc ├── source_linux_base_project.vpc ├── source_mll_qt_base.vpc ├── source_posix_base.vpc ├── source_video_base.vpc ├── source_win32_analyze.vpc ├── source_win32_base.vpc └── version.vpc └── vstdlib └── vstdlib_exclude.vpc /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # source-sdk-cso2 2 | 3 | This is an incomplete SDK for Nexon's Counter-Strike: Online 2. 4 | 5 | Read LICENSE for legal information. 6 | -------------------------------------------------------------------------------- /common/engine_launcher_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/common/engine_launcher_api.h -------------------------------------------------------------------------------- /common/networksystem/inetworkmessage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/common/networksystem/inetworkmessage.h -------------------------------------------------------------------------------- /common/networksystem/inetworksystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/common/networksystem/inetworksystem.h -------------------------------------------------------------------------------- /common/qlimits.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef QLIMITS_H 9 | #define QLIMITS_H 10 | 11 | #if defined( _WIN32 ) 12 | #pragma once 13 | #endif 14 | 15 | // DATA STRUCTURE INFO 16 | 17 | #define MAX_NUM_ARGVS 50 18 | 19 | // SYSTEM INFO 20 | #define MAX_QPATH 96 // max length of a game pathname 21 | #define MAX_OSPATH 260 // max length of a filesystem pathname 22 | 23 | #define ON_EPSILON 0.1 // point on plane side epsilon 24 | 25 | 26 | // Resource counts; 27 | #define MAX_MODEL_INDEX_BITS 12 // sent as a short 28 | #define MAX_MODELS (1< 4 | #include 5 | 6 | // size: 0x8 7 | class CClanBattle 8 | { 9 | private: 10 | std::map m_Unknown00; // 0x0 unk type 11 | }; 12 | -------------------------------------------------------------------------------- /engine/cso2/claninfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | struct ClanGrade 8 | { 9 | int32_t iLevel; 10 | int32_t iMinExp; 11 | int32_t iMaxExp; 12 | int32_t iBonusExp; 13 | std::string iGrade; 14 | }; 15 | 16 | class CClanInfo 17 | { 18 | private: 19 | std::vector m_vClanGrades; 20 | }; 21 | -------------------------------------------------------------------------------- /engine/cso2/cso2automatchmodinfo.cpp: -------------------------------------------------------------------------------- 1 | #include "cso2automatchmodinfo.h" 2 | 3 | #define UNREF_VAR(var) var 4 | 5 | // 6 | // our virtuals won't be used anyway 7 | // 8 | bool CSO2AutoMatchModInfo::Unknown00() 9 | { 10 | return true; 11 | } 12 | 13 | bool CSO2AutoMatchModInfo::AssignOptionValues(BaseOptionList* pOptionList, int32_t a3, KeyValues* a4) 14 | { 15 | UNREF_VAR(pOptionList); 16 | UNREF_VAR(a3); 17 | UNREF_VAR(a4); 18 | return true; 19 | } 20 | 21 | BaseOptionList* CSO2AutoMatchModInfo::CreateOptionList() 22 | { 23 | return nullptr; 24 | } 25 | 26 | bool CSO2AutoMatchModInfo::Unknown04() 27 | { 28 | return true; 29 | } 30 | -------------------------------------------------------------------------------- /engine/cso2/cso2automatchmodinfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "cso2modmapinfo.h" 4 | 5 | // size: 0x80 6 | class CSO2AutoMatchModInfo : public CSO2ModMapInfo 7 | { 8 | public: 9 | CSO2AutoMatchModInfo() = default; 10 | ~CSO2AutoMatchModInfo() override = default; 11 | bool Unknown00() override; 12 | bool AssignOptionValues(BaseOptionList* pOptionList, int32_t a3, KeyValues* a4) override; 13 | //virtual void Unknown02(); 14 | BaseOptionList* CreateOptionList() override; 15 | bool Unknown04() override; 16 | private: 17 | std::vector m_vPenaltyLeaveTime; //0x0074 18 | }; -------------------------------------------------------------------------------- /engine/cso2/cso2gamemanager.cpp: -------------------------------------------------------------------------------- 1 | #include "tier0/dbg.h" 2 | #include "cso2gamemanager.h" 3 | 4 | #include "cso2gameroom.h" 5 | 6 | CSO2GameManager* g_pCSO2GameManager = nullptr; 7 | 8 | std::shared_ptr CSO2GameManager::CreateAndJoinRoom( uint16_t iRoomId ) 9 | { 10 | std::shared_ptr pNewRoom = std::make_shared( iRoomId ); 11 | 12 | if (!pNewRoom) 13 | { 14 | return nullptr; 15 | } 16 | 17 | m_Rooms[iRoomId] = pNewRoom; 18 | m_iCurrentRoomId = iRoomId; 19 | 20 | return pNewRoom; 21 | } 22 | -------------------------------------------------------------------------------- /engine/cso2/cso2gamemanager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "engine/cso2/icso2gamemanager.h" 4 | 5 | #include "cso2automatchmodinfo.h" 6 | #include "cso2mapinfo.h" 7 | #include "cso2modinfo.h" 8 | #include "clanbattle.h" 9 | #include "claninfo.h" 10 | #include "itemoptioninfo.h" 11 | 12 | class CSO2GameRoom; 13 | 14 | // size: 0x4AC 15 | class CSO2GameManager : public ICSO2GameManager 16 | { 17 | public: 18 | CSO2GameManager() = default; 19 | ~CSO2GameManager() override = default; 20 | 21 | std::shared_ptr CreateAndJoinRoom(uint16_t iRoomId); 22 | 23 | inline CSO2ModInfo* GetModInfo() { return &m_ModInfo; } 24 | inline CSO2MapInfo* GetMapInfo() { return &m_MapInfo; } 25 | 26 | private: 27 | uint8_t Pad00[36]; //0x0004 28 | std::string m_Unknown00; //0x0028 29 | uint8_t Pad01[28]; //0x0040 30 | std::map m_Unknown01; //0x005C unknown type 31 | uint8_t Pad02[12]; //0x0064 32 | CSO2ModInfo m_ModInfo; //0x0070 33 | CSO2AutoMatchModInfo m_AutoMatchModInfo; //0x0184 34 | CSO2MapInfo m_MapInfo; //0x0204 35 | uint8_t Pad03[20]; //0x02A4 36 | CItemOptionInfo m_ItemOptionInfo; //0x02B8 37 | CClanBattle m_ClanBattle; //0x02D4 38 | CClanInfo m_ClanInfo; //0x02DC 39 | uint32_t m_iCurrentRoomId; //0x02E8 // ok 40 | std::map> m_Rooms; //0x02EC 41 | uint8_t Pad04[4]; //0x02F4 42 | std::string m_Unknown03; //0x02F8 43 | uint8_t Pad05[412]; //0x0310 44 | }; 45 | 46 | extern CSO2GameManager* g_pCSO2GameManager; 47 | -------------------------------------------------------------------------------- /engine/cso2/cso2mapinfo.cpp: -------------------------------------------------------------------------------- 1 | #include "cso2mapinfo.h" 2 | 3 | #define UNREF_VAR(var) var 4 | 5 | // 6 | // our virtuals won't be used anyway 7 | // 8 | bool CSO2MapInfo::Unknown00() 9 | { 10 | return true; 11 | } 12 | 13 | bool CSO2MapInfo::AssignOptionValues( BaseOptionList* pOptionList, int32_t a3, KeyValues* a4 ) 14 | { 15 | UNREF_VAR( pOptionList ); 16 | UNREF_VAR( a3 ); 17 | UNREF_VAR( a4 ); 18 | return true; 19 | } 20 | 21 | BaseOptionList* CSO2MapInfo::CreateOptionList() 22 | { 23 | return nullptr; 24 | } 25 | 26 | bool CSO2MapInfo::Unknown04() 27 | { 28 | return true; 29 | } 30 | -------------------------------------------------------------------------------- /engine/cso2/cso2mapinfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "cso2modmapinfo.h" 4 | 5 | #define MAPINFO_FLAG_NEW 1 6 | #define MAPINFO_FLAG_EVENT 2 7 | #define MAPINFO_FLAG_CONTINUOUS 4 8 | 9 | // size: 0xA0 10 | class CSO2MapInfo : public CSO2ModMapInfo 11 | { 12 | public: 13 | CSO2MapInfo() = default; 14 | ~CSO2MapInfo() override = default; 15 | bool Unknown00() override; 16 | bool AssignOptionValues(BaseOptionList* pOptionList, int32_t a3, KeyValues* a4) override; 17 | //virtual void Unknown02(); 18 | BaseOptionList* CreateOptionList() override; 19 | bool Unknown04() override; 20 | 21 | private: 22 | // leftovers from an early version? 23 | std::vector m_vLoadingBackground; //0x0074 24 | 25 | // if (flag & MAPINFO_FLAG_NEW == true) then it's a new map 26 | // if (flag & MAPINFO_FLAG_EVENT == true) then it's an event map 27 | // if (flag & MAPINFO_FLAG_CONTINUOUS == true) then it can be used in a playlist or something 28 | std::vector m_vMapFlags; //0x0080 29 | 30 | std::vector m_vCategory; //0x008C 31 | std::map m_Unknown03; //0x0098 unknown type 32 | }; -------------------------------------------------------------------------------- /engine/cso2/cso2modinfo.cpp: -------------------------------------------------------------------------------- 1 | #include "cso2modinfo.h" 2 | 3 | #define UNREF_VAR(var) var 4 | 5 | CSO2ModInfo::CSO2ModInfo() 6 | { 7 | m_Unknown07 = nullptr; 8 | m_Unknown10 = 0; 9 | m_Unknown12 = 0; 10 | m_Unknown13 = 0; 11 | m_Unknown17 = 0; 12 | } 13 | 14 | // 15 | // our virtuals won't be used anyway 16 | // 17 | bool CSO2ModInfo::Unknown00() 18 | { 19 | return true; 20 | } 21 | 22 | bool CSO2ModInfo::AssignOptionValues( BaseOptionList* pOptionList, int32_t a3, KeyValues* a4 ) 23 | { 24 | UNREF_VAR( pOptionList ); 25 | UNREF_VAR( a3 ); 26 | UNREF_VAR( a4 ); 27 | return true; 28 | } 29 | 30 | BaseOptionList* CSO2ModInfo::CreateOptionList() 31 | { 32 | return nullptr; 33 | } 34 | 35 | bool CSO2ModInfo::Unknown04() 36 | { 37 | return true; 38 | } 39 | -------------------------------------------------------------------------------- /engine/cso2/cso2modinfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "cso2modmapinfo.h" 4 | 5 | // size: 0x114 6 | class CSO2ModInfo : public CSO2ModMapInfo 7 | { 8 | public: 9 | CSO2ModInfo(); 10 | ~CSO2ModInfo() override = default; 11 | bool Unknown00() override; 12 | bool AssignOptionValues(BaseOptionList* pOptionList, int32_t a3, KeyValues* a4) override; 13 | //virtual void Unknown02(); 14 | BaseOptionList* CreateOptionList() override; 15 | bool Unknown04() override; 16 | 17 | private: 18 | std::vector m_Unknown03; //0x0074 unk type 19 | std::vector m_Unknown04; //0x0080 unk type 20 | std::vector m_Unknown05; //0x008C unk type 21 | std::map m_Unknown06; //0x0098 unk type 22 | void* m_Unknown07; //0x00A0 unk type 23 | std::vector m_vGamemodeRuleId; //0x00A4 24 | std::vector m_Unknown08; //0x00B0 unk type 25 | std::vector m_Unknown09; //0x00BC unk type 26 | int32_t m_Unknown10; //0x00C8 same as iGamemodes 27 | std::vector m_Unknown11; //0x00CC unk type 28 | int32_t m_Unknown12; //0x00D8 same as iGamemodes 29 | std::vector m_vGamemodeLuaRefType; //0x00DC 30 | int32_t m_Unknown13; //0x00E8 same as iGamemodes 31 | std::vector m_Unknown14; //0x00EC unk type 32 | std::vector m_Unknown15; //0x00F8 unk type 33 | std::vector m_Unknown16; //0x0104 unk type 34 | int32_t m_Unknown17; //0x0110 same as iGamemodes 35 | }; -------------------------------------------------------------------------------- /engine/cso2/cso2modmapinfo.cpp: -------------------------------------------------------------------------------- 1 | #include "cso2modmapinfo.h" 2 | #include "optionlist.h" 3 | 4 | void CSO2ModMapInfo::Unknown02() 5 | { 6 | } 7 | 8 | bool CSO2ModMapInfo::Unknown04() 9 | { 10 | return false; 11 | } 12 | -------------------------------------------------------------------------------- /engine/cso2/cso2modmapinfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | struct BaseOptionList; 9 | struct ModOptionList; 10 | class KeyValues; 11 | 12 | // size: 0x74 13 | class CSO2ModMapInfo 14 | { 15 | public: 16 | CSO2ModMapInfo() = default; 17 | virtual ~CSO2ModMapInfo() = default; 18 | virtual bool Unknown00() = 0; 19 | virtual bool AssignOptionValues(BaseOptionList* pOptionList, int32_t a3, KeyValues* a4) = 0; 20 | virtual void Unknown02(); 21 | virtual BaseOptionList* CreateOptionList() = 0; 22 | virtual bool Unknown04(); 23 | 24 | inline std::vector& GetId() { return m_vId; } 25 | inline std::vector& GetName() { return m_vName; } 26 | inline std::map& GetOptions() { return m_Options; } 27 | inline int32_t GetCount() { return m_iCount; } 28 | 29 | private: 30 | std::vector m_vId; //0x0004 31 | std::vector m_vOrder; //0x0010 32 | std::vector m_vUse; //0x001C unknown array type 33 | int32_t m_iCount; //0x0028 34 | std::vector m_vLeague; //0x002C unknown array type 35 | int32_t m_Unknown00; //0x0038 same as m_iCount 36 | std::vector m_vName; //0x003C 37 | std::vector m_Unknown01; //0x0048 unknown array type, it's a struct 0x18 long 38 | std::vector m_Unknown02; //0x0054 39 | std::map m_Options; //0x0060 40 | std::vector m_vOptionList; //0x0068 41 | }; -------------------------------------------------------------------------------- /engine/cso2/itemoptioninfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | struct ItemEffect 9 | { 10 | std::string szEffectName; 11 | std::string szEffectMaterial; 12 | }; 13 | 14 | // size: 0x1C 15 | class CItemOptionInfo 16 | { 17 | public: 18 | std::map m_Unknown00; //0x0014 unknown type 19 | std::vector m_vItemEffects; //0x0008 20 | std::map m_Unknown01; //0x0014 unknown type 21 | }; 22 | -------------------------------------------------------------------------------- /engine/cso2/optionlist.cpp: -------------------------------------------------------------------------------- 1 | #include "optionlist.h" 2 | 3 | BaseOptionList::BaseOptionList() 4 | { 5 | m_Unknown00 = 0; 6 | m_Unknown01 = 0; 7 | } 8 | 9 | ModOptionList::ModOptionList() 10 | { 11 | m_Unknown02 = 0; 12 | m_Unknown03 = 0; 13 | m_Unknown04 = 0; 14 | m_Unknown05 = 0; 15 | m_Unknown06 = 255; 16 | } 17 | 18 | AutoMatchOptionList::AutoMatchOptionList() 19 | { 20 | m_Unknown03 = 0; 21 | } 22 | -------------------------------------------------------------------------------- /engine/cso2/optionlist.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | struct BaseOptionList 7 | { 8 | BaseOptionList(); 9 | virtual ~BaseOptionList() = default; 10 | 11 | uint32_t m_Unknown00; //0x0004 12 | uint32_t m_Unknown01; //0x0008 13 | }; 14 | 15 | struct ModOptionList : public BaseOptionList 16 | { 17 | ModOptionList(); 18 | ~ModOptionList() override = default; 19 | 20 | uint32_t m_Unknown02; //0x000C 21 | uint32_t m_Unknown03; //0x0010 22 | uint16_t m_Unknown04; //0x0014 23 | std::string m_szTeamNameCt; //0x0018 24 | std::string m_szTeamNameTr; //0x0030 25 | std::string m_szGamemodeDescription; //0x0048 26 | uint32_t m_Unknown05; //0x0060 27 | uint8_t m_Unknown06; //0x0064 28 | }; 29 | 30 | struct AutoMatchOptionList : public BaseOptionList 31 | { 32 | AutoMatchOptionList(); 33 | ~AutoMatchOptionList() override = default; 34 | 35 | std::string m_Unknown02; 36 | uint32_t m_Unknown03; 37 | }; 38 | -------------------------------------------------------------------------------- /game/shared/iscenetokenprocessor.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef ISCENETOKENPROCESSOR_H 9 | #define ISCENETOKENPROCESSOR_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | abstract_class ISceneTokenProcessor 15 | { 16 | public: 17 | virtual const char *CurrentToken( void ) = 0; 18 | virtual bool GetToken( bool crossline ) = 0; 19 | virtual bool TokenAvailable( void ) = 0; 20 | virtual void Error( PRINTF_FORMAT_STRING const char *fmt, ... ) = 0; 21 | }; 22 | 23 | #endif // ISCENETOKENPROCESSOR_H 24 | -------------------------------------------------------------------------------- /lib/public/tier0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/lib/public/tier0.exp -------------------------------------------------------------------------------- /lib/public/tier0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/lib/public/tier0.lib -------------------------------------------------------------------------------- /lib/public/vstdlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/lib/public/vstdlib.lib -------------------------------------------------------------------------------- /mathlib/3dnow.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=====================================================================================// 6 | 7 | #ifndef _3DNOW_H 8 | #define _3DNOW_H 9 | 10 | float _3DNow_Sqrt(float x); 11 | float _3DNow_RSqrt(float x); 12 | float FASTCALL _3DNow_VectorNormalize (Vector& vec); 13 | void FASTCALL _3DNow_VectorNormalizeFast (Vector& vec); 14 | float _3DNow_InvRSquared(const float* v); 15 | 16 | #endif // _3DNOW_H 17 | -------------------------------------------------------------------------------- /mathlib/datagen.pl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/mathlib/datagen.pl -------------------------------------------------------------------------------- /mathlib/halton.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=====================================================================================// 6 | 7 | #include 8 | 9 | HaltonSequenceGenerator_t::HaltonSequenceGenerator_t(int b) 10 | { 11 | base=b; 12 | fbase=(float) b; 13 | seed=1; 14 | 15 | } 16 | 17 | float HaltonSequenceGenerator_t::GetElement(int elem) 18 | { 19 | int tmpseed=seed; 20 | float ret=0.0; 21 | float base_inv=1.0/fbase; 22 | while(tmpseed) 23 | { 24 | int dig=tmpseed % base; 25 | ret+=((float) dig)*base_inv; 26 | base_inv/=fbase; 27 | tmpseed/=base; 28 | } 29 | return ret; 30 | } 31 | -------------------------------------------------------------------------------- /mathlib/mathlib.vpc.sentinel: -------------------------------------------------------------------------------- 1 | crc_complete 2 | -------------------------------------------------------------------------------- /mathlib/sse.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=====================================================================================// 6 | 7 | #ifndef _SSE_H 8 | #define _SSE_H 9 | 10 | float _SSE_Sqrt(float x); 11 | float _SSE_RSqrtAccurate(float a); 12 | float _SSE_RSqrtFast(float x); 13 | float FASTCALL _SSE_VectorNormalize(Vector& vec); 14 | void FASTCALL _SSE_VectorNormalizeFast(Vector& vec); 15 | float _SSE_InvRSquared(const float* v); 16 | void _SSE_SinCos(float x, float* s, float* c); 17 | float _SSE_cos( float x); 18 | #ifdef PLATFORM_WINDOWS_PC32 19 | void _SSE2_SinCos(float x, float* s, float* c); 20 | float _SSE2_cos(float x); 21 | #endif 22 | #if 0 23 | void VectorTransformSSE(const float *in1, const matrix3x4_t& in2, float *out1); 24 | void VectorRotateSSE( const float *in1, const matrix3x4_t& in2, float *out1 ); 25 | #endif 26 | 27 | #endif // _SSE_H 28 | -------------------------------------------------------------------------------- /mathlib/vector.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | 9 | #include "mathlib/vector.h" 10 | 11 | Vector vec3_origin(0,0,0); 12 | 13 | -------------------------------------------------------------------------------- /public/BitmapFontFile.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Baked Bitmap fonts 4 | // 5 | //=========================================================================== 6 | 7 | #ifndef _BITMAPFONTFILE_H_ 8 | #define _BITMAPFONTFILE_H_ 9 | 10 | #include "datamap.h" 11 | 12 | #define BITMAPFONT_ID (('T'<<24)|('N'<<16)|('F'<<8)|('V')) 13 | #define BITMAPFONT_VERSION 3 14 | 15 | // style flags 16 | #define BF_BOLD 0x0001 17 | #define BF_ITALIC 0x0002 18 | #define BF_OUTLINED 0x0004 19 | #define BF_DROPSHADOW 0x0008 20 | #define BF_BLURRED 0x0010 21 | #define BF_SCANLINES 0x0020 22 | #define BF_ANTIALIASED 0x0040 23 | #define BF_CUSTOM 0x0080 24 | 25 | #pragma pack(1) //X360TBD 26 | typedef struct BitmapGlyph_s 27 | { 28 | DECLARE_BYTESWAP_DATADESC(); 29 | short x; 30 | short y; 31 | short w; 32 | short h; 33 | short a; 34 | short b; 35 | short c; 36 | } BitmapGlyph_t; 37 | 38 | typedef struct BitmapFont_s 39 | { 40 | DECLARE_BYTESWAP_DATADESC(); 41 | int m_id; 42 | int m_Version; 43 | short m_PageWidth; 44 | short m_PageHeight; 45 | short m_MaxCharWidth; 46 | short m_MaxCharHeight; 47 | short m_Flags; 48 | short m_Ascent; 49 | short m_NumGlyphs; 50 | unsigned char m_TranslateTable[256]; 51 | } BitmapFont_t; 52 | #pragma pack() 53 | 54 | #endif -------------------------------------------------------------------------------- /public/Friends/AddOns/AddOnTypes.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef ADDONTYPES_H 8 | #define ADDONTYPES_H 9 | #pragma once 10 | 11 | #ifndef WIN32 12 | typedef unsigned long long SessionInt64; 13 | #else 14 | typedef unsigned __int64 SessionInt64; 15 | #endif 16 | 17 | #endif // ADDONTYPES_H 18 | 19 | -------------------------------------------------------------------------------- /public/IGameUIFuncs.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //===========================================================================// 7 | 8 | #ifndef IGAMEUIFUNCS_H 9 | #define IGAMEUIFUNCS_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | #include "vgui/KeyCode.h" 15 | 16 | abstract_class IGameUIFuncs 17 | { 18 | public: 19 | virtual bool IsKeyDown( const char *keyname, bool& isdown ) = 0; 20 | virtual const char *GetBindingForButtonCode( ButtonCode_t code ) = 0; 21 | virtual ButtonCode_t GetButtonCodeForBind( const char *pBind ) = 0; 22 | virtual void GetVideoModes( struct vmode_s **liststart, int *count ) = 0; 23 | virtual void SetFriendsID( uint friendsID, const char *friendsName ) = 0; 24 | virtual void GetDesktopResolution( int &width, int &height ) = 0; 25 | virtual bool IsConnectedToVACSecureServer() = 0; 26 | }; 27 | 28 | #define VENGINE_GAMEUIFUNCS_VERSION "VENGINE_GAMEUIFUNCS_VERSION005" 29 | 30 | #endif // IGAMEUIFUNCS_H 31 | -------------------------------------------------------------------------------- /public/OfflineMode.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #include 8 | #include 9 | 10 | #define STEAM_OFFLINE_MODE "HKEY_CURRENT_USER\\Software\\Valve\\Steam\\Offline" 11 | #define STEAM_AFS_MODE "HKEY_CURRENT_USER\\Software\\Valve\\Steam\\OfflineAFS" 12 | #define OFFLINE_FILE "Steam\\cached\\offline_" // first part of filename 13 | 14 | inline bool IsSteamInOfflineMode() 15 | { 16 | int offline = 0; 17 | vgui::system()->GetRegistryInteger( STEAM_OFFLINE_MODE, offline ); 18 | return ( offline == 1 ); 19 | }inline bool IsSteamInAuthenticationFailSafeMode() 20 | { 21 | int offline = 0; 22 | vgui::system()->GetRegistryInteger( STEAM_AFS_MODE, offline ); 23 | return ( offline == 1 ); 24 | } 25 | 26 | inline bool IsSteamGameServerBrowsingEnabled() 27 | { 28 | return (IsSteamInAuthenticationFailSafeMode() || !IsSteamInOfflineMode()); 29 | } 30 | -------------------------------------------------------------------------------- /public/UnicodeFileHelpers.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef UNICODEFILEHELPERS_H 8 | #define UNICODEFILEHELPERS_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #include 14 | 15 | // helper functions for parsing unicode file buffers 16 | ucs2 *AdvanceOverWhitespace(ucs2 *start); 17 | ucs2 *ReadUnicodeToken(ucs2 *start, ucs2 *token, int tokenBufferSize, bool "ed); 18 | ucs2 *ReadUnicodeTokenNoSpecial(ucs2 *start, ucs2 *token, int tokenBufferSize, bool "ed); 19 | ucs2 *ReadToEndOfLine(ucs2 *start); 20 | 21 | // writing to unicode files via CUtlBuffer 22 | class CUtlBuffer; 23 | void WriteUnicodeString(CUtlBuffer &buffer, const wchar_t *string, bool addQuotes = false); 24 | void WriteAsciiStringAsUnicode(CUtlBuffer &buffer, const char *string, bool addQuotes = false); 25 | 26 | 27 | 28 | #endif // UNICODEFILEHELPERS_H 29 | -------------------------------------------------------------------------------- /public/arraystack.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $Workfile: $ 6 | // $Date: $ 7 | // 8 | //----------------------------------------------------------------------------- 9 | // $Log: $ 10 | // 11 | // $NoKeywords: $ 12 | //=============================================================================// 13 | 14 | #ifndef ARRAYSTACK_H 15 | #define ARRAYSTACK_H 16 | #pragma once 17 | 18 | #include 19 | #include "List.h" 20 | 21 | template class ArrayStack 22 | { 23 | protected: 24 | T *data; 25 | int m_stackDepth; 26 | int m_maxNumElements; 27 | 28 | public: 29 | ArrayStack( int maxNumElements ) 30 | { 31 | data = new T[maxNumElements]; 32 | m_maxNumElements = maxNumElements; 33 | m_stackDepth = 0; 34 | assert( data ); 35 | } 36 | 37 | void Push( T elem ) 38 | { 39 | data[m_stackDepth++] = elem; 40 | if( m_stackDepth > m_maxNumElements ) 41 | { 42 | printf( "ArrayStack overflow\n" ); 43 | assert( 0 ); 44 | } 45 | } 46 | 47 | T Pop( void ) 48 | { 49 | if( m_stackDepth == 0 ) 50 | { 51 | printf( "ArrayStack underflow\n" ); 52 | assert( 0 ); 53 | } 54 | return data[--m_stackDepth]; 55 | } 56 | 57 | bool IsEmpty() 58 | { 59 | return ( m_stackDepth == 0 ); 60 | } 61 | 62 | int GetDepth() 63 | { 64 | return m_stackDepth; 65 | } 66 | }; 67 | 68 | 69 | #endif // ARRAYSTACK_H 70 | -------------------------------------------------------------------------------- /public/avi/ibik.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/avi/ibik.h -------------------------------------------------------------------------------- /public/bitmap/tgawriter.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //===========================================================================// 7 | 8 | #ifndef TGAWRITER_H 9 | #define TGAWRITER_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | 16 | #include "tier1/interface.h" 17 | #include "bitmap/imageformat.h" //ImageFormat enum definition 18 | 19 | class CUtlBuffer; 20 | 21 | 22 | namespace TGAWriter 23 | { 24 | 25 | bool WriteToBuffer( unsigned char *pImageData, CUtlBuffer &buffer, int width, int height, 26 | ImageFormat srcFormat, ImageFormat dstFormat ); 27 | 28 | 29 | // write out a simple tga file from a memory buffer. 30 | bool WriteTGAFile( const char *fileName, int width, int height, enum ImageFormat srcFormat, uint8 const *srcData, int nStride ); 31 | 32 | // A pair of routines for writing to files without allocating any memory in the TGA writer 33 | // Useful for very large files such as posters, which are rendered as sub-rects anyway 34 | bool WriteDummyFileNoAlloc( const char *fileName, int width, int height, ImageFormat dstFormat ); 35 | bool WriteRectNoAlloc( unsigned char *pImageData, const char *fileName, int nXOrigin, int nYOrigin, int width, int height, int nStride, ImageFormat srcFormat ); 36 | 37 | 38 | } // end namespace TGAWriter 39 | 40 | #endif // TGAWRITER_H 41 | -------------------------------------------------------------------------------- /public/blockingudpsocket.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef BLOCKINGUDPSOCKET_H 8 | #define BLOCKINGUDPSOCKET_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #include "netadr.h" 14 | 15 | class CBlockingUDPSocket 16 | { 17 | public: 18 | explicit CBlockingUDPSocket(); 19 | virtual ~CBlockingUDPSocket(); 20 | 21 | bool WaitForMessage( float timeOutInSeconds ); 22 | unsigned int ReceiveSocketMessage( struct sockaddr_in *packet_from, unsigned char *buf, size_t bufsize ); 23 | bool SendSocketMessage( const struct sockaddr_in& rRecipient, const unsigned char *buf, size_t bufsize ); 24 | 25 | bool IsValid() const { return m_Socket != 0; } 26 | 27 | protected: 28 | bool CreateSocket (void); 29 | 30 | class CImpl; 31 | CImpl *m_pImpl; 32 | 33 | netadr_t m_cserIP; 34 | unsigned int m_Socket; 35 | 36 | 37 | }; 38 | 39 | #endif // BLOCKINGUDPSOCKET_H 40 | -------------------------------------------------------------------------------- /public/bone_accessor.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #include "cbase.h" 8 | #include "bone_accessor.h" 9 | 10 | 11 | #if defined( CLIENT_DLL ) && defined( _DEBUG ) 12 | 13 | void CBoneAccessor::SanityCheckBone( int iBone, bool bReadable ) const 14 | { 15 | if ( m_pAnimating ) 16 | { 17 | CStudioHdr *pHdr = m_pAnimating->GetModelPtr(); 18 | if ( pHdr ) 19 | { 20 | mstudiobone_t *pBone = pHdr->pBone( iBone ); 21 | if ( bReadable ) 22 | { 23 | AssertOnce( pBone->flags & m_ReadableBones ); 24 | } 25 | else 26 | { 27 | AssertOnce( pBone->flags & m_WritableBones ); 28 | } 29 | } 30 | } 31 | } 32 | 33 | #endif 34 | 35 | -------------------------------------------------------------------------------- /public/bone_setup.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/bone_setup.cpp -------------------------------------------------------------------------------- /public/client/cso2/icso2msghandlerclient.cpp: -------------------------------------------------------------------------------- 1 | #include "tier0/basetypes.h" 2 | #include "client/cso2/icso2msghandlerclient.h" 3 | 4 | ICSO2MsgHandlerClient* g_pCSO2MsgHandlerClient = nullptr; 5 | -------------------------------------------------------------------------------- /public/client/cso2/icso2msghandlerclient.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define CSO2_MSGHANDLERCLIENT_INTERFACE_VERSION "CSO2MsgHandlerClient001" 4 | 5 | abstract_class ICSO2MsgHandlerClient 6 | { 7 | public: 8 | virtual void Unknown00(int a2, int a3, int a4) = 0; 9 | virtual void Unknown01(int a2, int a3, int a4, int a5) = 0; 10 | }; 11 | 12 | extern ICSO2MsgHandlerClient* g_pCSO2MsgHandlerClient; 13 | -------------------------------------------------------------------------------- /public/client_class.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | 9 | #include "client_class.h" 10 | 11 | // memdbgon must be the last include file in a .cpp file!!! 12 | #include "tier0/memdbgon.h" 13 | 14 | ClientClass *g_pClientClassHead=0; 15 | 16 | 17 | -------------------------------------------------------------------------------- /public/client_render_handle.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef CLIENT_RENDER_HANDLE_H 8 | #define CLIENT_RENDER_HANDLE_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | //----------------------------------------------------------------------------- 15 | // Foward declarations 16 | //----------------------------------------------------------------------------- 17 | class IClientRenderable; 18 | 19 | 20 | //----------------------------------------------------------------------------- 21 | // Handle to an renderable in the client leaf system 22 | //----------------------------------------------------------------------------- 23 | typedef unsigned short ClientRenderHandle_t; 24 | 25 | enum 26 | { 27 | INVALID_CLIENT_RENDER_HANDLE = (ClientRenderHandle_t)0xffff, 28 | }; 29 | 30 | 31 | #endif // CLIENT_RENDER_HANDLE_H 32 | -------------------------------------------------------------------------------- /public/client_textmessage.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef CLIENT_TEXTMESSAGE_H 8 | #define CLIENT_TEXTMESSAGE_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | struct client_textmessage_t 14 | { 15 | int effect; 16 | byte r1, g1, b1, a1; // 2 colors for effects 17 | byte r2, g2, b2, a2; 18 | float x; 19 | float y; 20 | float fadein; 21 | float fadeout; 22 | float holdtime; 23 | float fxtime; 24 | const char *pVGuiSchemeFontName; // If null, use default font for messages 25 | const char *pName; 26 | const char *pMessage; 27 | bool bRoundedRectBackdropBox; 28 | float flBoxSize; // as a function of font height 29 | byte boxcolor[4]; 30 | char const *pClearMessage; // message to clear 31 | }; 32 | 33 | #endif // CLIENT_TEXTMESSAGE_H 34 | -------------------------------------------------------------------------------- /public/con_nprint.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: Debug overlay / notfication printing 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef CON_NPRINT_H 8 | #define CON_NPRINT_H 9 | 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | //----------------------------------------------------------------------------- 15 | // Purpose: Debug overlay / notfication printing 16 | // NOTE: Structure cannot be changed by mods 17 | //----------------------------------------------------------------------------- 18 | typedef struct con_nprint_s 19 | { 20 | int index; // Row # 21 | float time_to_live; // # of seconds before it disappears. -1 means to display for 1 frame then go away. 22 | float color[ 3 ]; // RGB colors ( 0.0 -> 1.0 scale ) 23 | bool fixed_width_font; 24 | } con_nprint_t; 25 | 26 | // Print string on line idx 27 | void Con_NPrintf( int idx, PRINTF_FORMAT_STRING const char *fmt, ... ); 28 | // Customized printout 29 | void Con_NXPrintf( const con_nprint_t *info, PRINTF_FORMAT_STRING const char *fmt, ... ); 30 | 31 | #endif // CON_NPRINT_H 32 | -------------------------------------------------------------------------------- /public/crtmemdebug.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $Workfile: $ 6 | // $Date: $ 7 | // 8 | //----------------------------------------------------------------------------- 9 | // $Log: $ 10 | // 11 | // $NoKeywords: $ 12 | //=============================================================================// 13 | 14 | #if !defined(_STATIC_LINKED) || defined(_SHARED_LIB) 15 | 16 | #include "crtmemdebug.h" 17 | #ifdef USECRTMEMDEBUG 18 | #include 19 | #endif 20 | 21 | // memdbgon must be the last include file in a .cpp file!!! 22 | #include "tier0/memdbgon.h" 23 | 24 | void CheckHeap( void ) 25 | { 26 | #ifdef USECRTMEMDEBUG 27 | _CrtCheckMemory(); 28 | #endif 29 | } 30 | 31 | // undone: this needs to be somehow made to construct before everything else. 32 | // see http://msdn.microsoft.com/library/periodic/period97/dembugs.htm for info 33 | void InitCRTMemDebug( void ) 34 | { 35 | #ifdef USECRTMEMDEBUG 36 | _CrtSetDbgFlag( 37 | // _CRTDBG_ALLOC_MEM_DF | 38 | _CRTDBG_CHECK_ALWAYS_DF | 39 | _CRTDBG_CHECK_CRT_DF | 40 | _CRTDBG_DELAY_FREE_MEM_DF ); 41 | #endif 42 | } 43 | 44 | #endif // !_STATIC_LINKED || _SHARED_LIB 45 | -------------------------------------------------------------------------------- /public/crtmemdebug.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $Workfile: $ 6 | // $Date: $ 7 | // 8 | //----------------------------------------------------------------------------- 9 | // $Log: $ 10 | // 11 | // $NoKeywords: $ 12 | //=============================================================================// 13 | 14 | #ifndef CRTMEMDEBUG_H 15 | #define CRTMEMDEBUG_H 16 | #pragma once 17 | 18 | #ifdef USECRTMEMDEBUG 19 | 20 | #include 21 | #define MEMCHECK CheckHeap() 22 | void CheckHeap( void ); 23 | 24 | #else 25 | 26 | #define MEMCHECK 27 | 28 | #endif 29 | 30 | void InitCRTMemDebug( void ); 31 | 32 | 33 | #endif // CRTMEMDEBUG_H 34 | -------------------------------------------------------------------------------- /public/engine/cso2/icso2lobbystatemanager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | abstract_class ICSO2LobbyStateManager 4 | { 5 | public: 6 | virtual ~ICSO2LobbyStateManager() = default; 7 | virtual void Unknown00() = 0; 8 | virtual void Unknown01() = 0; 9 | virtual bool SetCurrentState(int iNewState) = 0; 10 | virtual void Unknown02() = 0; 11 | virtual void Unknown03() = 0; 12 | virtual void Unknown04() = 0; 13 | virtual void Unknown05() = 0; 14 | virtual void Unknown06() = 0; 15 | virtual void Unknown07() = 0; 16 | virtual void Unknown08() = 0; 17 | virtual void Unknown09() = 0; 18 | virtual void Unknown10() = 0; 19 | virtual void Unknown11() = 0; 20 | virtual void Unknown12() = 0; 21 | virtual void Unknown13() = 0; 22 | virtual void Unknown14() = 0; 23 | virtual void Unknown15() = 0; 24 | }; 25 | 26 | extern ICSO2LobbyStateManager* g_pLobbyStateManager; 27 | -------------------------------------------------------------------------------- /public/engine/cso2/icso2msgmanager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "tier0/platform.h" 4 | 5 | #define CSO2_MSGHANDLER_ENGINE_VERSION "CSO2MsgHandlerEngine001" 6 | 7 | // 8 | // interface of CSO2MsgHandler 9 | // instance @ engine.dll + 0xAA8190 (rva) 10 | // has 230 virtual methods 11 | // 12 | abstract_class ICSO2MsgHandlerEngine 13 | { 14 | public: 15 | virtual void sub_1028465() = 0; 16 | virtual void sub_10286160() = 0; 17 | virtual bool Login( const char* szGameName, const char* szPassword, 18 | const char* szNexonName, const char* a5 = nullptr, 19 | const char* a6 = nullptr ) = 0; 20 | }; 21 | 22 | extern ICSO2MsgHandlerEngine* g_pCSO2MsgHandler; 23 | -------------------------------------------------------------------------------- /public/engine/ienginevoice.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: Engine voice interface 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IENGINEVOICE_H 9 | #define IENGINEVOICE_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | 16 | #include "basetypes.h" 17 | 18 | #define IENGINEVOICE_INTERFACE_VERSION "IEngineVoice001" 19 | 20 | abstract_class IEngineVoice 21 | { 22 | public: 23 | virtual bool IsHeadsetPresent( int iController ) = 0; 24 | virtual bool IsLocalPlayerTalking( int iController ) = 0; 25 | 26 | virtual void AddPlayerToVoiceList( XUID xPlayer, int iController ) = 0; 27 | virtual void RemovePlayerFromVoiceList( XUID xPlayer, int iController ) = 0; 28 | 29 | virtual void GetRemoteTalkers( int *pNumTalkers, XUID *pRemoteTalkers ) = 0; 30 | 31 | virtual bool VoiceUpdateData( int iController ) = 0; 32 | virtual void GetVoiceData( int iController, const byte **ppvVoiceDataBuffer, unsigned int *pnumVoiceDataBytes ) = 0; 33 | virtual void VoiceResetLocalData( int iController ) = 0; 34 | 35 | virtual void SetPlaybackPriority( XUID remoteTalker, int iController, int iAllowPlayback ) = 0; 36 | virtual void PlayIncomingVoiceData( XUID xuid, const byte *pbData, unsigned int dwDataSize, const bool *bAudiblePlayers = NULL ) = 0; 37 | 38 | virtual void RemoveAllTalkers() = 0; 39 | }; 40 | 41 | 42 | #endif // IENGINEVOICE_H 43 | -------------------------------------------------------------------------------- /public/event_flags.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef EVENT_FLAGS_H 8 | #define EVENT_FLAGS_H 9 | 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | // Skip local host for event send. 16 | #define FEV_NOTHOST (1<<0) 17 | 18 | // Send the event reliably. You must specify the origin and angles and use 19 | // PLAYBACK_EVENT_FULL for this to work correctly on the server for anything 20 | // that depends on the event origin/angles. I.e., the origin/angles are not 21 | // taken from the invoking edict for reliable events. 22 | #define FEV_RELIABLE (1<<1) 23 | 24 | // Don't restrict to PAS/PVS, send this event to _everybody_ on the server ( useful for stopping CHAN_STATIC 25 | // sounds started by client event when client is not in PVS anymore ( hwguy in TFC e.g. ). 26 | #define FEV_GLOBAL (1<<2) 27 | 28 | #endif // EVENT_FLAGS_H 29 | -------------------------------------------------------------------------------- /public/fgdlib/entitydefs.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef ENTITYDEFS_H 9 | #define ENTITYDEFS_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | #define MAX_ENTITY_NAME_LEN 256 16 | 17 | #define MAX_IO_NAME_LEN 256 18 | 19 | 20 | #endif // ENTITYDEFS_H 21 | -------------------------------------------------------------------------------- /public/fgdlib/fgdlib.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef FGDLIB_H 8 | #define FGDLIB_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #include "HelperInfo.h" 14 | #include "GameData.h" 15 | #include "GDClass.h" 16 | #include "InputOutput.h" 17 | 18 | #endif // FGDLIB_H 19 | -------------------------------------------------------------------------------- /public/g15/ig15.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/g15/ig15.h -------------------------------------------------------------------------------- /public/iclientthinkable.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef ICLIENTTHINKABLE_H 9 | #define ICLIENTTHINKABLE_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | #include "iclientunknown.h" 16 | 17 | 18 | class CClientThinkHandlePtr; 19 | typedef CClientThinkHandlePtr* ClientThinkHandle_t; 20 | 21 | 22 | // Entities that implement this interface can be put into the client think list. 23 | abstract_class IClientThinkable 24 | { 25 | public: 26 | // Gets at the containing class... 27 | virtual IClientUnknown* GetIClientUnknown() = 0; 28 | 29 | virtual void ClientThink() = 0; 30 | 31 | // Called when you're added to the think list. 32 | // GetThinkHandle's return value must be initialized to INVALID_THINK_HANDLE. 33 | virtual ClientThinkHandle_t GetThinkHandle() = 0; 34 | virtual void SetThinkHandle( ClientThinkHandle_t hThink ) = 0; 35 | 36 | // Called by the client when it deletes the entity. 37 | virtual void Release() = 0; 38 | }; 39 | 40 | 41 | #endif // ICLIENTTHINKABLE_H 42 | -------------------------------------------------------------------------------- /public/iclientunknown.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //===========================================================================// 7 | 8 | #ifndef ICLIENTUNKNOWN_H 9 | #define ICLIENTUNKNOWN_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | #include "tier0/platform.h" 16 | #include "ihandleentity.h" 17 | 18 | class IClientNetworkable; 19 | class C_BaseEntity; 20 | class IClientRenderable; 21 | class ICollideable; 22 | class IClientEntity; 23 | class IClientThinkable; 24 | 25 | 26 | 27 | // This is the client's version of IUnknown. We may want to use a QueryInterface-like 28 | // mechanism if this gets big. 29 | abstract_class IClientUnknown : public IHandleEntity 30 | { 31 | public: 32 | virtual ICollideable* GetCollideable() = 0; 33 | virtual IClientNetworkable* GetClientNetworkable() = 0; 34 | virtual IClientRenderable* GetClientRenderable() = 0; 35 | virtual IClientEntity* GetIClientEntity() = 0; 36 | virtual C_BaseEntity* GetBaseEntity() = 0; 37 | virtual IClientThinkable* GetClientThinkable() = 0; 38 | }; 39 | 40 | 41 | #endif // ICLIENTUNKNOWN_H 42 | -------------------------------------------------------------------------------- /public/idedicatedexports.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IDEDICATEDEXPORTS_H 9 | #define IDEDICATEDEXPORTS_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | #include "interface.h" 15 | #include "appframework/IAppSystem.h" 16 | 17 | 18 | abstract_class IDedicatedExports : public IAppSystem 19 | { 20 | public: 21 | virtual void Sys_Printf( char *text ) = 0; 22 | virtual void RunServer() = 0; 23 | }; 24 | 25 | #define VENGINE_DEDICATEDEXPORTS_API_VERSION "VENGINE_DEDICATEDEXPORTS_API_VERSION003" 26 | 27 | 28 | #endif // IDEDICATEDEXPORTS_H 29 | -------------------------------------------------------------------------------- /public/ienginevgui.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $Workfile: $ 6 | // $Date: $ 7 | // $NoKeywords: $ 8 | //=============================================================================// 9 | #if !defined( IENGINEVGUI_H ) 10 | #define IENGINEVGUI_H 11 | 12 | #ifdef _WIN32 13 | #pragma once 14 | #endif 15 | 16 | #include "interface.h" 17 | #include "vgui/VGUI.h" 18 | 19 | // Forward declarations. 20 | namespace vgui 21 | { 22 | class Panel; 23 | }; 24 | 25 | enum VGuiPanel_t 26 | { 27 | PANEL_ROOT = 0, 28 | PANEL_GAMEUIDLL, 29 | PANEL_CLIENTDLL, 30 | PANEL_TOOLS, 31 | PANEL_INGAMESCREENS, 32 | PANEL_GAMEDLL, 33 | PANEL_CLIENTDLL_TOOLS 34 | }; 35 | 36 | // In-game panels are cropped to the current engine viewport size 37 | enum PaintMode_t 38 | { 39 | PAINT_UIPANELS = (1<<0), 40 | PAINT_INGAMEPANELS = (1<<1), 41 | PAINT_CURSOR = (1<<2), // software cursor, if appropriate 42 | }; 43 | 44 | abstract_class IEngineVGui 45 | { 46 | public: 47 | virtual ~IEngineVGui( void ) { } 48 | 49 | virtual vgui::VPANEL GetPanel( VGuiPanel_t type ) = 0; 50 | 51 | virtual bool IsGameUIVisible() = 0; 52 | }; 53 | 54 | #define VENGINE_VGUI_VERSION "VEngineVGui001" 55 | 56 | #if defined(_STATIC_LINKED) && defined(CLIENT_DLL) 57 | namespace Client 58 | { 59 | extern IEngineVGui *enginevgui; 60 | } 61 | #else 62 | extern IEngineVGui *enginevgui; 63 | #endif 64 | 65 | #endif // IENGINEVGUI_H 66 | -------------------------------------------------------------------------------- /public/ifilelist.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IFILELIST_H 9 | #define IFILELIST_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | // This class represents a group of files. Internally, it can represent whole folders of files 16 | // that are in or out of the group. So you can't iterate the list, but you can ask the 17 | // class if a particular filename is in the list. 18 | class IFileList 19 | { 20 | public: 21 | virtual bool IsFileInList( const char *pFilename ) = 0; 22 | virtual void Release() = 0; 23 | }; 24 | 25 | 26 | #endif // IFILELIST_H 27 | 28 | 29 | -------------------------------------------------------------------------------- /public/igameresources.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: IGameResources interface 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IGAMERESOURCES_H 9 | #define IGAMERESOURCES_H 10 | 11 | class Color; 12 | class Vector; 13 | 14 | 15 | abstract_class IGameResources 16 | { 17 | public: 18 | virtual ~IGameResources() {}; 19 | 20 | // Team data access 21 | virtual const char *GetTeamName( int index ) = 0; 22 | virtual int GetTeamScore( int index ) = 0; 23 | virtual const Color& GetTeamColor( int index ) = 0; 24 | 25 | // Player data access 26 | virtual bool IsConnected( int index ) = 0; 27 | virtual bool IsAlive( int index ) = 0; 28 | virtual bool IsFakePlayer( int index ) = 0; 29 | virtual bool IsLocalPlayer( int index ) = 0; 30 | 31 | virtual const char *GetPlayerName( int index ) = 0; 32 | virtual int GetPlayerScore( int index ) = 0; 33 | virtual int GetPing( int index ) = 0; 34 | // virtual int GetPacketloss( int index ) = 0; 35 | virtual int GetDeaths( int index ) = 0; 36 | virtual int GetFrags( int index ) = 0; 37 | virtual int GetTeam( int index ) = 0; 38 | virtual int GetHealth( int index ) = 0; 39 | }; 40 | 41 | extern IGameResources *GameResources( void ); // singelton accessor 42 | 43 | #endif 44 | 45 | -------------------------------------------------------------------------------- /public/ihandleentity.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef IHANDLEENTITY_H 8 | #define IHANDLEENTITY_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | class CBaseHandle; 15 | 16 | 17 | // An IHandleEntity-derived class can go into an entity list and use ehandles. 18 | class IHandleEntity 19 | { 20 | public: 21 | virtual ~IHandleEntity() {} 22 | virtual void SetRefEHandle( const CBaseHandle &handle ) = 0; 23 | virtual const CBaseHandle& GetRefEHandle() const = 0; 24 | }; 25 | 26 | 27 | #endif // IHANDLEENTITY_H 28 | -------------------------------------------------------------------------------- /public/ihltvdirector.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef IHLTVDIRECTOR_H 8 | #define IHLTVDIRECTOR_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | class IHLTVServer; 14 | class KeyValues; 15 | class Vector; 16 | 17 | #define INTERFACEVERSION_HLTVDIRECTOR "HLTVDirector001" 18 | 19 | class IHLTVDirector 20 | { 21 | public: 22 | virtual ~IHLTVDirector() {} 23 | 24 | virtual bool IsActive( void ) = 0; // true if director is active 25 | 26 | virtual void SetHLTVServer( IHLTVServer *hltv ) = 0; // give the director the engine HLTV interface 27 | virtual IHLTVServer* GetHLTVServer( void ) = 0; // get current HLTV server interface 28 | 29 | virtual int GetDirectorTick( void ) = 0; // get current broadcast tick from director 30 | virtual int GetPVSEntity( void ) = 0; // get current view entity (PVS), 0 if coords are used 31 | virtual Vector GetPVSOrigin( void ) = 0; // get current PVS origin 32 | virtual float GetDelay( void ) = 0; // returns current delay in seconds 33 | 34 | virtual const char** GetModEvents() = 0; 35 | }; 36 | 37 | #endif // IHLTVDIRECTOR_H 38 | -------------------------------------------------------------------------------- /public/ilaunchabledll.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef ILAUNCHABLEDLL_H 8 | #define ILAUNCHABLEDLL_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | #define LAUNCHABLE_DLL_INTERFACE_VERSION "launchable_dll_1" 15 | 16 | 17 | // vmpi_service can use this to debug worker apps in-process, 18 | // and some of the launchers (like texturecompile) use this. 19 | class ILaunchableDLL 20 | { 21 | public: 22 | // All vrad.exe does is load the VRAD DLL and run this. 23 | virtual int main( int argc, char **argv ) = 0; 24 | }; 25 | 26 | 27 | 28 | #endif // ILAUNCHABLEDLL_H 29 | -------------------------------------------------------------------------------- /public/inputsystem/AnalogCode.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //===========================================================================// 7 | 8 | #ifndef ANALOGCODE_H 9 | #define ANALOGCODE_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | 16 | #include "inputsystem/InputEnums.h" 17 | 18 | 19 | //----------------------------------------------------------------------------- 20 | // Macro to get at joystick codes 21 | //----------------------------------------------------------------------------- 22 | #define JOYSTICK_AXIS_INTERNAL( _joystick, _axis ) ( JOYSTICK_FIRST_AXIS + ((_joystick) * MAX_JOYSTICK_AXES) + (_axis) ) 23 | #define JOYSTICK_AXIS( _joystick, _axis ) ( (AnalogCode_t)JOYSTICK_AXIS_INTERNAL( _joystick, _axis ) ) 24 | 25 | 26 | //----------------------------------------------------------------------------- 27 | // Enumeration for analog input devices. Includes joysticks, mousewheel, mouse 28 | //----------------------------------------------------------------------------- 29 | enum AnalogCode_t 30 | { 31 | ANALOG_CODE_INVALID = -1, 32 | MOUSE_X = 0, 33 | MOUSE_Y, 34 | MOUSE_XY, // Invoked when either x or y changes 35 | MOUSE_WHEEL, 36 | 37 | JOYSTICK_FIRST_AXIS, 38 | JOYSTICK_LAST_AXIS = JOYSTICK_AXIS_INTERNAL( MAX_JOYSTICKS-1, MAX_JOYSTICK_AXES-1 ), 39 | 40 | ANALOG_CODE_LAST, 41 | }; 42 | 43 | 44 | #endif // ANALOGCODE_H 45 | -------------------------------------------------------------------------------- /public/irecipientfilter.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IRECIPIENTFILTER_H 9 | #define IRECIPIENTFILTER_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | //----------------------------------------------------------------------------- 15 | // Purpose: Generic interface for routing messages to users 16 | //----------------------------------------------------------------------------- 17 | class IRecipientFilter 18 | { 19 | public: 20 | virtual ~IRecipientFilter() {} 21 | 22 | virtual bool IsReliable( void ) const = 0; 23 | virtual bool IsInitMessage( void ) const = 0; 24 | 25 | virtual int GetRecipientCount( void ) const = 0; 26 | virtual int GetRecipientIndex( int slot ) const = 0; 27 | }; 28 | 29 | #endif // IRECIPIENTFILTER_H 30 | -------------------------------------------------------------------------------- /public/iserverentity.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef ISERVERENTITY_H 9 | #define ISERVERENTITY_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | #include "iserverunknown.h" 16 | #include "string_t.h" 17 | 18 | 19 | 20 | struct Ray_t; 21 | class ServerClass; 22 | class ICollideable; 23 | class IServerNetworkable; 24 | class Vector; 25 | class QAngle; 26 | 27 | // This class is how the engine talks to entities in the game DLL. 28 | // CBaseEntity implements this interface. 29 | class IServerEntity : public IServerUnknown 30 | { 31 | public: 32 | virtual ~IServerEntity() {} 33 | 34 | // Previously in pev 35 | virtual int GetModelIndex( void ) const = 0; 36 | virtual string_t GetModelName( void ) const = 0; 37 | 38 | virtual void SetModelIndex( int index ) = 0; 39 | }; 40 | 41 | 42 | #endif // ISERVERENTITY_H 43 | -------------------------------------------------------------------------------- /public/iserverunknown.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef ISERVERUNKNOWN_H 9 | #define ISERVERUNKNOWN_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | 16 | #include "ihandleentity.h" 17 | 18 | class ICollideable; 19 | class IServerNetworkable; 20 | class CBaseEntity; 21 | 22 | 23 | // This is the server's version of IUnknown. We may want to use a QueryInterface-like 24 | // mechanism if this gets big. 25 | class IServerUnknown : public IHandleEntity 26 | { 27 | public: 28 | // Gets the interface to the collideable + networkable representation of the entity 29 | virtual ICollideable* GetCollideable() = 0; 30 | virtual IServerNetworkable* GetNetworkable() = 0; 31 | virtual CBaseEntity* GetBaseEntity() = 0; 32 | }; 33 | 34 | 35 | #endif // ISERVERUNKNOWN_H 36 | -------------------------------------------------------------------------------- /public/ishadercompiledll.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef ISHADERCOMPILEDLL_H 8 | #define ISHADERCOMPILEDLL_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | #include "interface.h" 15 | 16 | #define SHADER_COMPILE_INTERFACE_VERSION "shadercompiledll_0" 17 | 18 | // This is the DLL interface to ShaderCompile 19 | abstract_class IShaderCompileDLL 20 | { 21 | public: 22 | // All vrad.exe does is load the VRAD DLL and run this. 23 | virtual int main( int argc, char **argv ) = 0; 24 | }; 25 | 26 | #endif // ISHADERCOMPILEDLL_H 27 | -------------------------------------------------------------------------------- /public/isoundcombiner.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef ISOUNDCOMBINER_H 8 | #define ISOUNDCOMBINER_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #include "utlvector.h" 14 | 15 | class IFileSystem; 16 | 17 | struct CombinerEntry 18 | { 19 | CombinerEntry() 20 | { 21 | wavefile[ 0 ] = 0; 22 | startoffset = 0.0f; 23 | } 24 | 25 | char wavefile[ MAX_PATH ]; 26 | float startoffset; 27 | }; 28 | 29 | abstract_class ISoundCombiner 30 | { 31 | public: 32 | virtual ~ISoundCombiner() {} 33 | 34 | virtual bool CombineSoundFiles( IFileSystem *filesystem, char const *outfile, CUtlVector< CombinerEntry >& info ) = 0; 35 | virtual bool IsCombinedFileChecksumValid( IFileSystem *filesystem, char const *outfile, CUtlVector< CombinerEntry >& info ) = 0; 36 | }; 37 | 38 | extern ISoundCombiner *soundcombiner; 39 | 40 | #endif // ISOUNDCOMBINER_H 41 | -------------------------------------------------------------------------------- /public/ivguicenterprint.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $Workfile: $ 6 | // $Date: $ 7 | // 8 | //----------------------------------------------------------------------------- 9 | // $Log: $ 10 | // 11 | // $NoKeywords: $ 12 | //=============================================================================// 13 | #if !defined( IVGUICENTERPRINT_H ) 14 | #define IVGUICENTERPRINT_H 15 | #ifdef _WIN32 16 | #pragma once 17 | #endif 18 | 19 | #include "interface.h" 20 | 21 | //----------------------------------------------------------------------------- 22 | // Purpose: Engine Center Print Interface 23 | //----------------------------------------------------------------------------- 24 | abstract_class ICenterPrint 25 | { 26 | public: 27 | virtual void SetTextColor( int r, int g, int b, int a ) = 0; 28 | virtual void Print( char *text ) = 0; 29 | virtual void Print( wchar_t *text ) = 0; 30 | virtual void ColorPrint( int r, int g, int b, int a, char *text ) = 0; 31 | virtual void ColorPrint( int r, int g, int b, int a, wchar_t *text ) = 0; 32 | virtual void Clear( void ) = 0; 33 | }; 34 | 35 | extern ICenterPrint *centerprint; 36 | 37 | #define VCENTERPRINT_INTERFACE_VERSION "VCENTERPRINT002" 38 | 39 | #endif // IVGUICENTERPRINT_H -------------------------------------------------------------------------------- /public/ivoiceserver.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: This module defines the IVoiceServer interface, which is used by 4 | // game code to control which clients are listening to which other 5 | // clients' voice streams. 6 | // 7 | // $NoKeywords: $ 8 | //=============================================================================// 9 | 10 | #ifndef IVOICESERVER_H 11 | #define IVOICESERVER_H 12 | 13 | 14 | #include "interface.h" 15 | 16 | 17 | #define INTERFACEVERSION_VOICESERVER "VoiceServer002" 18 | 19 | 20 | abstract_class IVoiceServer 21 | { 22 | public: 23 | virtual ~IVoiceServer() {} 24 | 25 | // Use these to setup who can hear whose voice. 26 | // Pass in client indices (which are their ent indices - 1). 27 | virtual bool GetClientListening(int iReceiver, int iSender) = 0; 28 | virtual bool SetClientListening(int iReceiver, int iSender, bool bListen) = 0; 29 | virtual bool SetClientProximity(int iReceiver, int iSender, bool bUseProximity) = 0; 30 | }; 31 | 32 | 33 | #endif 34 | 35 | -------------------------------------------------------------------------------- /public/ivoicetweak.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IVOICETWEAK_H 9 | #define IVOICETWEAK_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | // These provide access to the voice controls. 15 | typedef enum 16 | { 17 | MicrophoneVolume=0, // values 0-1. 18 | OtherSpeakerScale, // values 0-1. Scales how loud other players are. 19 | MicBoost, 20 | SpeakingVolume, // values 0-1. Current voice volume received through Voice Tweak mode 21 | 22 | } VoiceTweakControl; 23 | 24 | 25 | typedef struct IVoiceTweak_s 26 | { 27 | // These turn voice tweak mode on and off. While in voice tweak mode, the user's voice is echoed back 28 | // without sending to the server. 29 | int (*StartVoiceTweakMode)(); // Returns 0 on error. 30 | void (*EndVoiceTweakMode)(); 31 | 32 | // Get/set control values. 33 | void (*SetControlFloat)(VoiceTweakControl iControl, float value); 34 | float (*GetControlFloat)(VoiceTweakControl iControl); 35 | 36 | bool (*IsStillTweaking)(); // This can return false if the user restarts the sound system during voice tweak mode 37 | } IVoiceTweak; 38 | 39 | 40 | #endif // IVOICETWEAK_H 41 | -------------------------------------------------------------------------------- /public/ivtex.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //===========================================================================// 7 | 8 | #ifndef IVTEX_H 9 | #define IVTEX_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | #include "tier1/interface.h" 16 | #include "appframework/IAppSystem.h" 17 | 18 | 19 | class IVTex : public IAppSystem 20 | { 21 | public: 22 | // For use by command-line tools 23 | virtual int VTex( int argc, char **argv ) = 0; 24 | 25 | // For use by engine 26 | virtual int VTex( CreateInterfaceFn filesystemFactory, const char *pGameDir, int argc, char **argv ) = 0; 27 | }; 28 | 29 | #define IVTEX_VERSION_STRING "VTEX_003" 30 | 31 | 32 | #endif // IVTEX_H 33 | -------------------------------------------------------------------------------- /public/loadcmdline.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: loads additional command line options from a config file 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef LOADCMDLINE_H 9 | #define LOADCMDLINE_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | //----------------------------------------------------------------------------- 15 | // Purpose: Loads additional commandline arguments from a config file for an app. 16 | // keyname: Name of the block containing the key/args pairs (ie map or model name) 17 | // appname: Keyname for the commandline arguments to be loaded - typically the exe name. 18 | //----------------------------------------------------------------------------- 19 | void LoadCmdLineFromFile( int &argc, char **&argv, const char *keyname, const char *appname ); 20 | 21 | //----------------------------------------------------------------------------- 22 | // Purpose: Cleans up any memory allocated for the new argv. Pass in the app's 23 | // argc and argv - this is safe even if no extra arguments were loaded. 24 | //----------------------------------------------------------------------------- 25 | void DeleteCmdLine( int argc, char **argv ); 26 | 27 | #endif // LOADCMDLINE_H -------------------------------------------------------------------------------- /public/localflexcontroller.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //===========================================================================// 8 | 9 | #ifndef LOCALFLEXCONTROLLER_H 10 | #define LOCALFLEXCONTROLLER_H 11 | 12 | #ifdef _WIN32 13 | #pragma once 14 | #endif 15 | 16 | #include "tier0/platform.h" 17 | 18 | enum LocalFlexController_t 19 | { 20 | // this isn't really an enum - its just a typed int. gcc will not accept it as a fwd decl, so we'll define one value 21 | DUMMY_FLEX_CONTROLLER=0x7fffffff // make take 32 bits 22 | }; 23 | 24 | inline LocalFlexController_t &operator++( LocalFlexController_t &a ) { return a = LocalFlexController_t( int( a ) + 1 ); } 25 | inline LocalFlexController_t &operator--( LocalFlexController_t &a ) { return a = LocalFlexController_t( int( a ) - 1 ); } 26 | inline LocalFlexController_t operator++( LocalFlexController_t &a, int ) { LocalFlexController_t t = a; a = LocalFlexController_t( int( a ) + 1 ); return t; } 27 | inline LocalFlexController_t operator--( LocalFlexController_t &a, int ) { LocalFlexController_t t = a; a = LocalFlexController_t( int( a ) - 1 ); return t; } 28 | 29 | 30 | #endif // LOCALFLEXCONTROLLER_H 31 | -------------------------------------------------------------------------------- /public/lumpfiles.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #include "bspfile.h" 8 | #include "strtools.h" 9 | #include "filesystem.h" 10 | #include "lumpfiles.h" 11 | 12 | // memdbgon must be the last include file in a .cpp file!!! 13 | #include "tier0/memdbgon.h" 14 | 15 | //----------------------------------------------------------------------------- 16 | // Purpose: Generate a lump file name for a given bsp & index 17 | // Input : *bspfilename - 18 | // *lumpfilename - 19 | // iIndex - 20 | //----------------------------------------------------------------------------- 21 | void GenerateLumpFileName( const char *bspfilename, char *lumpfilename, int iBufferSize, int iIndex ) 22 | { 23 | char lumppre[MAX_PATH]; 24 | V_StripExtension( bspfilename, lumppre, MAX_PATH ); 25 | Q_snprintf( lumpfilename, iBufferSize, "%s_l_%d.lmp", lumppre, iIndex ); 26 | } 27 | 28 | -------------------------------------------------------------------------------- /public/lumpfiles.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef LUMPFILES_H 8 | #define LUMPFILES_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #define MAX_LUMPFILES 128 14 | 15 | //----------------------------------------------------------------------------- 16 | // Lump files 17 | //----------------------------------------------------------------------------- 18 | void GenerateLumpFileName( const char *bspfilename, char *lumpfilename, int iBufferSize, int iIndex ); 19 | 20 | #endif // LUMPFILES_H 21 | -------------------------------------------------------------------------------- /public/map_utils.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #include "mathlib/vector.h" 8 | #include "bspfile.h" 9 | 10 | // memdbgon must be the last include file in a .cpp file!!! 11 | #include "tier0/memdbgon.h" 12 | 13 | void SetupLightNormalFromProps( const QAngle &angles, float angle, float pitch, Vector &output ) 14 | { 15 | if (angle == ANGLE_UP) 16 | { 17 | output[0] = output[1] = 0; 18 | output[2] = 1; 19 | } 20 | else if (angle == ANGLE_DOWN) 21 | { 22 | output[0] = output[1] = 0; 23 | output[2] = -1; 24 | } 25 | else 26 | { 27 | // if we don't have a specific "angle" use the "angles" YAW 28 | if ( !angle ) 29 | { 30 | angle = angles[YAW]; 31 | } 32 | 33 | output[2] = 0; 34 | output[0] = (float)cos (angle/180*M_PI); 35 | output[1] = (float)sin (angle/180*M_PI); 36 | } 37 | 38 | if ( !pitch ) 39 | { 40 | // if we don't have a specific "pitch" use the "angles" PITCH 41 | pitch = angles[PITCH]; 42 | } 43 | 44 | output[2] = (float)sin(pitch/180*M_PI); 45 | output[0] *= (float)cos(pitch/180*M_PI); 46 | output[1] *= (float)cos(pitch/180*M_PI); 47 | } 48 | 49 | -------------------------------------------------------------------------------- /public/map_utils.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef MAP_UTILS_H 8 | #define MAP_UTILS_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | #include "mathlib/vector.h" 15 | 16 | 17 | // angles comes from the "angles" property 18 | // 19 | // yaw and pitch will override the values in angles if they are nonzero 20 | // yaw comes from the (obsolete) "angle" property 21 | // pitch comes from the "pitch" property 22 | void SetupLightNormalFromProps( const QAngle &angles, float yaw, float pitch, Vector &output ); 23 | 24 | 25 | #endif // MAP_UTILS_H 26 | -------------------------------------------------------------------------------- /public/materialsystem/combineoperations.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef COMBINEOPERATIONS_H 9 | #define COMBINEOPERATIONS_H 10 | #pragma once 11 | 12 | // New combines can be written in the middle (and generally should be written before Error). 13 | // Keep these in sync with cCombineMaterialName in ctexturecompositor.cpp 14 | enum ECombineOperation 15 | { 16 | ECO_Multiply = 0, 17 | ECO_Add, 18 | ECO_Lerp, 19 | 20 | ECO_Select, 21 | 22 | ECO_Legacy_Lerp_FirstPass, 23 | ECO_Legacy_Lerp_SecondPass, 24 | 25 | ECO_Error, 26 | ECO_COUNT 27 | }; 28 | 29 | #endif /* COMBINEOPERATIONS_H */ 30 | -------------------------------------------------------------------------------- /public/materialsystem/deformations.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //===========================================================================// 6 | 7 | #ifndef DEFORMATIONS_H 8 | #define DEFORMATIONS_H 9 | 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | #include "tier0/platform.h" 15 | 16 | // nonlinear transformations which may be applied to model vertices when rendering. must be powers of two 17 | enum DeformationType_t 18 | { 19 | DEFORMATION_CLAMP_TO_BOX_IN_WORLDSPACE = 1, // minxyz.minsoftness / maxxyz.maxsoftness 20 | }; 21 | 22 | 23 | struct DeformationBase_t // base class. don't use this 24 | { 25 | DeformationType_t m_eType; 26 | }; 27 | 28 | 29 | struct BoxDeformation_t : DeformationBase_t 30 | { 31 | // don't change the layout without changing code in shaderapidx8!!!! 32 | Vector m_SourceMins; // cube to clamp within 33 | float m_flPad0; 34 | Vector m_SourceMaxes; 35 | float m_flPad1; 36 | 37 | Vector m_ClampMins; 38 | float m_flPad2; 39 | Vector m_ClampMaxes; 40 | float m_flPad3; 41 | 42 | FORCEINLINE BoxDeformation_t( void ) 43 | { 44 | m_eType = DEFORMATION_CLAMP_TO_BOX_IN_WORLDSPACE; 45 | // invalid cube 46 | m_SourceMins.Init( 0,0,0 ); 47 | m_SourceMaxes.Init( -1, -1, -1 ); 48 | 49 | // no clamp 50 | m_ClampMins.Init( -FLT_MAX, -FLT_MAX, -FLT_MAX ); 51 | m_ClampMaxes.Init( FLT_MAX, FLT_MAX, FLT_MAX ); 52 | } 53 | 54 | }; 55 | 56 | 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /public/materialsystem/imaterialproxy.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IMATERIALPROXY_H 9 | #define IMATERIALPROXY_H 10 | #pragma once 11 | 12 | #include "interface.h" 13 | 14 | #define IMATERIAL_PROXY_INTERFACE_VERSION "_IMaterialProxy003" 15 | 16 | class IMaterial; 17 | class KeyValues; 18 | 19 | abstract_class IMaterialProxy 20 | { 21 | public: 22 | virtual bool Init( IMaterial* pMaterial, KeyValues *pKeyValues ) = 0; 23 | virtual void OnBind( void * ) = 0; 24 | virtual void Release() = 0; 25 | virtual IMaterial * GetMaterial() = 0; 26 | 27 | protected: 28 | // no one should call this directly 29 | virtual ~IMaterialProxy() {} 30 | }; 31 | 32 | #endif // IMATERIALPROXY_H 33 | -------------------------------------------------------------------------------- /public/materialsystem/imaterialproxyfactory.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IMATERIALPROXYFACTORY_H 9 | #define IMATERIALPROXYFACTORY_H 10 | #pragma once 11 | 12 | #include "interface.h" 13 | 14 | #define IMATERIAL_PROXY_FACTOR_INTERFACE_VERSION "IMaterialProxyFactory001" 15 | 16 | class IMaterialProxy; 17 | 18 | abstract_class IMaterialProxyFactory 19 | { 20 | public: 21 | virtual IMaterialProxy *CreateProxy( const char *proxyName ) = 0; 22 | virtual void DeleteProxy( IMaterialProxy *pProxy ) = 0; 23 | }; 24 | 25 | #endif // IMATERIALPROXYFACTORY_H 26 | -------------------------------------------------------------------------------- /public/materialsystem/imaterialsystemstub.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef IMATERIALSYSTEMSTUB_H 8 | #define IMATERIALSYSTEMSTUB_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | #include "materialsystem/imaterialsystem.h" 15 | 16 | 17 | // If you get this interface out of the material system, it'll return an IMaterialSystem 18 | // with everything stubbed. This is used for running the client in text mode. 19 | #define MATERIAL_SYSTEM_STUB_INTERFACE_VERSION "VMaterialSystemStub001" 20 | 21 | 22 | class IMaterialSystemStub : public IMaterialSystem 23 | { 24 | public: 25 | // If this is called, then the stub will call through to the real material 26 | // system in some functions. 27 | virtual void SetRealMaterialSystem( IMaterialSystem *pSys ) = 0; 28 | }; 29 | 30 | 31 | #endif // IMATERIALSYSTEMSTUB_H 32 | -------------------------------------------------------------------------------- /public/materialsystem/ishadersystem_declarations.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/materialsystem/ishadersystem_declarations.h -------------------------------------------------------------------------------- /public/materialsystem/ivballoctracker.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: tracks VB allocations (and compressed/uncompressed vertex memory usage) 4 | // 5 | //===========================================================================// 6 | 7 | #ifndef IVBALLOCTRACKER_H 8 | #define IVBALLOCTRACKER_H 9 | 10 | #include "materialsystem/imaterialsystem.h" 11 | 12 | // By default, only enable this alloc tracking for a debug shaderapidx*.dll 13 | // (it uses about 0.25MB to track ~7000 allocations) 14 | #if defined(_DEBUG) 15 | #define ENABLE_VB_ALLOC_TRACKER 1 16 | #else 17 | #define ENABLE_VB_ALLOC_TRACKER 0 18 | #endif 19 | 20 | // This interface is actually exported by the shader API DLL. 21 | #define VB_ALLOC_TRACKER_INTERFACE_VERSION "VBAllocTracker001" 22 | 23 | // Interface to the VB mem alloc tracker 24 | abstract_class IVBAllocTracker 25 | { 26 | public: 27 | // This should be called wherever VertexBuffers are allocated 28 | virtual void CountVB( void * buffer, bool isDynamic, int bufferSize, int vertexSize, VertexFormat_t fmt ) = 0; 29 | // This should be called wherever VertexBuffers are freed 30 | virtual void UnCountVB( void * buffer ) = 0; 31 | // Track mesh allocations (set this before an allocation, clear it after) 32 | virtual bool TrackMeshAllocations( const char * allocatorName ) = 0; 33 | }; 34 | 35 | #endif // IVBALLOCTRACKER_H 36 | -------------------------------------------------------------------------------- /public/mathlib/anorms.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef ANORMS_H 8 | #define ANORMS_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | #include "mathlib/vector.h" 15 | 16 | 17 | #define NUMVERTEXNORMALS 162 18 | 19 | // the angle between consecutive g_anorms[] vectors is ~14.55 degrees 20 | #define VERTEXNORMAL_CONE_INNER_ANGLE DEG2RAD(7.275) 21 | 22 | extern Vector g_anorms[NUMVERTEXNORMALS]; 23 | 24 | 25 | #endif // ANORMS_H 26 | -------------------------------------------------------------------------------- /public/mathlib/bumpvects.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $Workfile: $ 6 | // $Date: $ 7 | // $NoKeywords: $ 8 | //=============================================================================// 9 | 10 | #ifndef BUMPVECTS_H 11 | #define BUMPVECTS_H 12 | 13 | #ifdef _WIN32 14 | #pragma once 15 | #endif 16 | 17 | #include "mathlib/mathlib.h" 18 | 19 | #define OO_SQRT_2 0.70710676908493042f 20 | #define OO_SQRT_3 0.57735025882720947f 21 | #define OO_SQRT_6 0.40824821591377258f 22 | // sqrt( 2 / 3 ) 23 | #define OO_SQRT_2_OVER_3 0.81649661064147949f 24 | 25 | #define NUM_BUMP_VECTS 3 26 | 27 | const TableVector g_localBumpBasis[NUM_BUMP_VECTS] = 28 | { 29 | { OO_SQRT_2_OVER_3, 0.0f, OO_SQRT_3 }, 30 | { -OO_SQRT_6, OO_SQRT_2, OO_SQRT_3 }, 31 | { -OO_SQRT_6, -OO_SQRT_2, OO_SQRT_3 } 32 | }; 33 | 34 | void GetBumpNormals( const Vector& sVect, const Vector& tVect, const Vector& flatNormal, 35 | const Vector& phongNormal, Vector bumpNormals[NUM_BUMP_VECTS] ); 36 | 37 | #endif // BUMPVECTS_H 38 | -------------------------------------------------------------------------------- /public/mathlib/compressed_light_cube.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef COMPRESSED_LIGHT_CUBE_H 8 | #define COMPRESSED_LIGHT_CUBE_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | #include "mathlib/mathlib.h" 15 | 16 | 17 | struct CompressedLightCube 18 | { 19 | DECLARE_BYTESWAP_DATADESC(); 20 | ColorRGBExp32 m_Color[6]; 21 | }; 22 | 23 | 24 | #endif // COMPRESSED_LIGHT_CUBE_H 25 | -------------------------------------------------------------------------------- /public/mathlib/mathlib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/mathlib/mathlib.h -------------------------------------------------------------------------------- /public/mathlib/noise.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=====================================================================================// 6 | 7 | #ifndef NOISE_H 8 | #define NOISE_H 9 | 10 | #include 11 | #include "basetypes.h" 12 | #include "mathlib/vector.h" 13 | #include "tier0/dbg.h" 14 | 15 | 16 | // The following code is the c-ification of Ken Perlin's new noise algorithm 17 | // "JAVA REFERENCE IMPLEMENTATION OF IMPROVED NOISE - COPYRIGHT 2002 KEN PERLIN" 18 | // as available here: http://mrl.nyu.edu/~perlin/noise/ 19 | // it generates a single octave of noise in the -1..1 range 20 | // this should at some point probably replace SparseConvolutionNoise - jd 21 | float ImprovedPerlinNoise( Vector const &pnt ); 22 | 23 | // get the noise value at a point. Output range is 0..1. 24 | float SparseConvolutionNoise( Vector const &pnt ); 25 | 26 | // get the noise value at a point, passing a custom noise shaping function. The noise shaping 27 | // function should map the domain 0..1 to 0..1. 28 | float SparseConvolutionNoise(Vector const &pnt, float (*pNoiseShapeFunction)(float) ); 29 | 30 | // returns a 1/f noise. more octaves take longer 31 | float FractalNoise( Vector const &pnt, int n_octaves ); 32 | 33 | // returns a abs(f)*1/f noise i.e. turbulence 34 | float Turbulence( Vector const &pnt, int n_octaves ); 35 | #endif // NOISE_H 36 | -------------------------------------------------------------------------------- /public/matsys_controls/tgapreviewpanel.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef TGAPREVIEWPANEL_H 8 | #define TGAPREVIEWPANEL_H 9 | 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | #include "matsys_controls/proceduraltexturepanel.h" 16 | #include "tier1/utlstring.h" 17 | 18 | 19 | //----------------------------------------------------------------------------- 20 | // 21 | // TGA Preview panel 22 | // 23 | //----------------------------------------------------------------------------- 24 | class CTGAPreviewPanel : public CProceduralTexturePanel 25 | { 26 | DECLARE_CLASS_SIMPLE( CTGAPreviewPanel, CProceduralTexturePanel ); 27 | 28 | public: 29 | // constructor 30 | CTGAPreviewPanel( vgui::Panel *pParent, const char *pName ); 31 | void SetTGA( const char *pFullPath ); 32 | const char *GetTGA() const; 33 | 34 | private: 35 | CUtlString m_TGAName; 36 | }; 37 | 38 | 39 | #endif // TGAPREVIEWPANEL_H -------------------------------------------------------------------------------- /public/maya/IMayaVGui.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/maya/IMayaVGui.h -------------------------------------------------------------------------------- /public/maya/VsMayaDmx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/maya/VsMayaDmx.h -------------------------------------------------------------------------------- /public/maya/VsMayaMPxFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/maya/VsMayaMPxFactory.h -------------------------------------------------------------------------------- /public/maya/VsVGuiWindow.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/maya/VsVGuiWindow.h -------------------------------------------------------------------------------- /public/maya/valveMaya.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/maya/valveMaya.h -------------------------------------------------------------------------------- /public/minmax.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef MINMAX_H 9 | #define MINMAX_H 10 | 11 | #ifndef min 12 | #define min(a,b) (((a) < (b)) ? (a) : (b)) 13 | #endif 14 | #ifndef max 15 | #define max(a,b) (((a) > (b)) ? (a) : (b)) 16 | #endif 17 | 18 | #endif // MINMAX_H 19 | -------------------------------------------------------------------------------- /public/modes.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | #if !defined( MODES_H ) 8 | #define MODES_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | typedef struct vmode_s 14 | { 15 | int width; 16 | int height; 17 | int bpp; 18 | int refreshRate; 19 | } vmode_t; 20 | 21 | #endif // MODES_H 22 | -------------------------------------------------------------------------------- /public/movieobjects/dmeanimationlist.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeanimationlist.h -------------------------------------------------------------------------------- /public/movieobjects/dmeanimationset.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeanimationset.h -------------------------------------------------------------------------------- /public/movieobjects/dmeattachment.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeattachment.h -------------------------------------------------------------------------------- /public/movieobjects/dmebalancetostereocalculatoroperator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmebalancetostereocalculatoroperator.h -------------------------------------------------------------------------------- /public/movieobjects/dmebookmark.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmebookmark.h -------------------------------------------------------------------------------- /public/movieobjects/dmecamera.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmecamera.h -------------------------------------------------------------------------------- /public/movieobjects/dmechannel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmechannel.h -------------------------------------------------------------------------------- /public/movieobjects/dmeclip.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeclip.h -------------------------------------------------------------------------------- /public/movieobjects/dmecombinationoperator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmecombinationoperator.h -------------------------------------------------------------------------------- /public/movieobjects/dmedag.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmedag.h -------------------------------------------------------------------------------- /public/movieobjects/dmedccmakefile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmedccmakefile.h -------------------------------------------------------------------------------- /public/movieobjects/dmedrawsettings.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmedrawsettings.h -------------------------------------------------------------------------------- /public/movieobjects/dmeeditortypedictionary.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeeditortypedictionary.h -------------------------------------------------------------------------------- /public/movieobjects/dmeexpressionoperator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeexpressionoperator.h -------------------------------------------------------------------------------- /public/movieobjects/dmeeyeball.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeeyeball.h -------------------------------------------------------------------------------- /public/movieobjects/dmeeyeposition.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeeyeposition.h -------------------------------------------------------------------------------- /public/movieobjects/dmefaceset.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmefaceset.h -------------------------------------------------------------------------------- /public/movieobjects/dmegamemodel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmegamemodel.h -------------------------------------------------------------------------------- /public/movieobjects/dmegamemodelinput.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmegamemodelinput.h -------------------------------------------------------------------------------- /public/movieobjects/dmeimage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeimage.h -------------------------------------------------------------------------------- /public/movieobjects/dmeinput.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeinput.h -------------------------------------------------------------------------------- /public/movieobjects/dmejoint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmejoint.h -------------------------------------------------------------------------------- /public/movieobjects/dmekeyboardinput.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmekeyboardinput.h -------------------------------------------------------------------------------- /public/movieobjects/dmelight.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmelight.h -------------------------------------------------------------------------------- /public/movieobjects/dmelog.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmelog.h -------------------------------------------------------------------------------- /public/movieobjects/dmemakefile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmemakefile.h -------------------------------------------------------------------------------- /public/movieobjects/dmemakefileutils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmemakefileutils.h -------------------------------------------------------------------------------- /public/movieobjects/dmematerial.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmematerial.h -------------------------------------------------------------------------------- /public/movieobjects/dmematerialoverlayfxclip.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmematerialoverlayfxclip.h -------------------------------------------------------------------------------- /public/movieobjects/dmemdl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmemdl.h -------------------------------------------------------------------------------- /public/movieobjects/dmemdlmakefile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmemdlmakefile.h -------------------------------------------------------------------------------- /public/movieobjects/dmemesh.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmemesh.h -------------------------------------------------------------------------------- /public/movieobjects/dmemodel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmemodel.h -------------------------------------------------------------------------------- /public/movieobjects/dmemorphoperator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmemorphoperator.h -------------------------------------------------------------------------------- /public/movieobjects/dmemouseinput.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmemouseinput.h -------------------------------------------------------------------------------- /public/movieobjects/dmeoperator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeoperator.h -------------------------------------------------------------------------------- /public/movieobjects/dmepackoperators.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmepackoperators.h -------------------------------------------------------------------------------- /public/movieobjects/dmeparticlesystemdefinition.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeparticlesystemdefinition.h -------------------------------------------------------------------------------- /public/movieobjects/dmephonememapping.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmephonememapping.h -------------------------------------------------------------------------------- /public/movieobjects/dmeselection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeselection.h -------------------------------------------------------------------------------- /public/movieobjects/dmeshader.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeshader.h -------------------------------------------------------------------------------- /public/movieobjects/dmeshape.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeshape.h -------------------------------------------------------------------------------- /public/movieobjects/dmesound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmesound.h -------------------------------------------------------------------------------- /public/movieobjects/dmetestmesh.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetestmesh.h -------------------------------------------------------------------------------- /public/movieobjects/dmetexture.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetexture.h -------------------------------------------------------------------------------- /public/movieobjects/dmetimeframe.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetimeframe.h -------------------------------------------------------------------------------- /public/movieobjects/dmetimeselection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetimeselection.h -------------------------------------------------------------------------------- /public/movieobjects/dmetimeselectiontimes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetimeselectiontimes.h -------------------------------------------------------------------------------- /public/movieobjects/dmetrack.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetrack.h -------------------------------------------------------------------------------- /public/movieobjects/dmetrackgroup.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetrackgroup.h -------------------------------------------------------------------------------- /public/movieobjects/dmetransform.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetransform.h -------------------------------------------------------------------------------- /public/movieobjects/dmetransforminput.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetransforminput.h -------------------------------------------------------------------------------- /public/movieobjects/dmetransformlist.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetransformlist.h -------------------------------------------------------------------------------- /public/movieobjects/dmetransformoperator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmetransformoperator.h -------------------------------------------------------------------------------- /public/movieobjects/dmeunpackoperators.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmeunpackoperators.h -------------------------------------------------------------------------------- /public/movieobjects/dmevertexdata.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmevertexdata.h -------------------------------------------------------------------------------- /public/movieobjects/dmmeshcomp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmmeshcomp.h -------------------------------------------------------------------------------- /public/movieobjects/dmmeshutils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmmeshutils.h -------------------------------------------------------------------------------- /public/movieobjects/dmobjserializer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmobjserializer.h -------------------------------------------------------------------------------- /public/movieobjects/dmx_to_vcd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/dmx_to_vcd.h -------------------------------------------------------------------------------- /public/movieobjects/idmemakefileutils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/idmemakefileutils.h -------------------------------------------------------------------------------- /public/movieobjects/importintovcd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/importintovcd.h -------------------------------------------------------------------------------- /public/movieobjects/movieobjects.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/movieobjects.cpp -------------------------------------------------------------------------------- /public/movieobjects/movieobjects.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/movieobjects.h -------------------------------------------------------------------------------- /public/movieobjects/movieobjects_compiletools.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/movieobjects_compiletools.cpp -------------------------------------------------------------------------------- /public/movieobjects/proceduralpresets.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/proceduralpresets.h -------------------------------------------------------------------------------- /public/movieobjects/timeutils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/movieobjects/timeutils.h -------------------------------------------------------------------------------- /public/networkvar.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #if !defined(_STATIC_LINKED) || defined(_SHARED_LIB) 8 | 9 | 10 | bool g_bUseNetworkVars = true; 11 | 12 | #endif 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /public/overlaytext.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $Workfile: $ 6 | // $Date: $ 7 | // 8 | //----------------------------------------------------------------------------- 9 | // $Log: $ 10 | // 11 | // $NoKeywords: $ 12 | //=============================================================================// 13 | #if !defined( OVERLAYTEXT_H ) 14 | #define OVERLAYTEXT_H 15 | #ifdef _WIN32 16 | #pragma once 17 | #endif 18 | 19 | #include "mathlib/vector.h" 20 | 21 | class OverlayText_t 22 | { 23 | public: 24 | OverlayText_t() 25 | { 26 | nextOverlayText = 0; 27 | origin.Init(); 28 | bUseOrigin = false; 29 | lineOffset = 0; 30 | flXPos = 0; 31 | flYPos = 0; 32 | text[ 0 ] = 0; 33 | m_flEndTime = 0.0f; 34 | m_nServerCount = -1; 35 | m_nCreationTick = -1; 36 | r = g = b = a = 255; 37 | } 38 | 39 | bool IsDead(); 40 | void SetEndTime( float duration ); 41 | 42 | Vector origin; 43 | bool bUseOrigin; 44 | int lineOffset; 45 | float flXPos; 46 | float flYPos; 47 | char text[512]; 48 | float m_flEndTime; // When does this text go away 49 | int m_nCreationTick; // If > 0, show only one server frame 50 | int m_nServerCount; // compare server spawn count to remove stale overlays 51 | int r; 52 | int g; 53 | int b; 54 | int a; 55 | OverlayText_t *nextOverlayText; 56 | }; 57 | 58 | #endif // OVERLAYTEXT_H -------------------------------------------------------------------------------- /public/p4lib/ip4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/p4lib/ip4.h -------------------------------------------------------------------------------- /public/phonemeconverter.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //===========================================================================// 7 | 8 | #ifndef PHONEMECONVERTER_H 9 | #define PHONEMECONVERTER_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | const char *ConvertPhoneme( int code ); 15 | int TextToPhoneme( const char *text ); 16 | float WeightForPhonemeCode( int code ); 17 | float WeightForPhoneme( char *text ); 18 | 19 | int NumPhonemes(); 20 | int TextToPhonemeIndex( const char *text ); 21 | const char *NameForPhonemeByIndex( int index ); 22 | int CodeForPhonemeByIndex( int index ); 23 | const char *DescForPhonemeByIndex( int index ); 24 | bool IsStandardPhoneme( int index ); 25 | 26 | #endif // PHONEMECONVERTER_H 27 | -------------------------------------------------------------------------------- /public/phonemeextractor/phonemeextractor.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef PHONEMEEXTRACTOR_H 9 | #define PHONEMEEXTRACTOR_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | #include "interface.h" 15 | 16 | class CSentence; 17 | 18 | typedef enum 19 | { 20 | SPEECH_API_SAPI = 0, 21 | SPEECH_API_LIPSINC, 22 | } PE_APITYPE; 23 | 24 | typedef enum 25 | { 26 | SR_RESULT_NORESULT = 0, 27 | SR_RESULT_ERROR, 28 | SR_RESULT_SUCCESS, 29 | SR_RESULT_FAILED 30 | } SR_RESULT; 31 | 32 | abstract_class IPhonemeExtractor 33 | { 34 | public: 35 | virtual PE_APITYPE GetAPIType() const = 0; 36 | 37 | // Used for menus, etc 38 | virtual char const *GetName() const = 0; 39 | 40 | virtual SR_RESULT Extract( 41 | const char *wavfile, 42 | int numsamples, 43 | void (*pfnPrint)( PRINTF_FORMAT_STRING const char *fmt, ... ), 44 | CSentence& inwords, 45 | CSentence& outwords ) = 0; 46 | }; 47 | 48 | #define VPHONEME_EXTRACTOR_INTERFACE "PHONEME_EXTRACTOR_001" 49 | 50 | #endif // PHONEMEEXTRACTOR_H 51 | -------------------------------------------------------------------------------- /public/phyfile.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef PHYFILE_H 9 | #define PHYFILE_H 10 | #pragma once 11 | 12 | #include "datamap.h" 13 | 14 | typedef struct phyheader_s 15 | { 16 | DECLARE_BYTESWAP_DATADESC(); 17 | int size; 18 | int id; 19 | int solidCount; 20 | long checkSum; // checksum of source .mdl file 21 | } phyheader_t; 22 | 23 | #endif // PHYFILE_H 24 | -------------------------------------------------------------------------------- /public/posedebugger.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | 9 | #ifndef POSEDEBUGGER_H 10 | #define POSEDEBUGGER_H 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | class IClientNetworkable; 16 | 17 | abstract_class IPoseDebugger 18 | { 19 | public: 20 | virtual void StartBlending( IClientNetworkable *pEntity, const CStudioHdr *pStudioHdr ) = 0; 21 | 22 | virtual void AccumulatePose( 23 | const CStudioHdr *pStudioHdr, 24 | CIKContext *pIKContext, 25 | Vector pos[], 26 | Quaternion q[], 27 | int sequence, 28 | float cycle, 29 | const float poseParameter[], 30 | int boneMask, 31 | float flWeight, 32 | float flTime 33 | ) = 0; 34 | }; 35 | 36 | extern IPoseDebugger *g_pPoseDebugger; 37 | 38 | #endif // #ifndef POSEDEBUGGER_H 39 | -------------------------------------------------------------------------------- /public/renamed_recvtable_compat.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | //=======================================================================================// 4 | 5 | #include "renamed_recvtable_compat.h" 6 | 7 | // memdbgon must be the last include file in a .cpp file!!! 8 | #include "tier0/memdbgon.h" 9 | 10 | CRenamedRecvTableInfo *g_pRenamedRecvTableInfoHead = 0; 11 | 12 | 13 | -------------------------------------------------------------------------------- /public/savegame_version.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | #if !defined( SAVEGAME_VERSION_H ) 8 | #define SAVEGAME_VERSION_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #define SAVEGAME_VERSION 0x0073 // Version 0.73 14 | 15 | #endif // SAVEGAME_VERSION_H 16 | -------------------------------------------------------------------------------- /public/scenefilecache/ISceneFileCache.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef ISCENEFILECACHE_H 8 | #define ISCENEFILECACHE_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #include "interface.h" 14 | #include "appframework/IAppSystem.h" 15 | 16 | // the file cache can support persisting some calcs 17 | struct SceneCachedData_t 18 | { 19 | unsigned int msecs; 20 | int numSounds; 21 | int sceneId; 22 | }; 23 | 24 | class ISceneFileCache : public IAppSystem 25 | { 26 | public: 27 | 28 | // async implemenation 29 | virtual size_t GetSceneBufferSize( char const *filename ) = 0; 30 | virtual bool GetSceneData( char const *filename, byte *buf, size_t bufsize ) = 0; 31 | 32 | // persisted scene data, returns true if valid, false otherwise 33 | virtual bool GetSceneCachedData( char const *pFilename, SceneCachedData_t *pData ) = 0; 34 | virtual short GetSceneCachedSound( int iScene, int iSound ) = 0; 35 | virtual const char *GetSceneString( short stringId ) = 0; 36 | 37 | // Physically reloads image from disk 38 | virtual void Reload() = 0; 39 | }; 40 | 41 | #define SCENE_FILE_CACHE_INTERFACE_VERSION "SceneFileCache002" 42 | 43 | #endif // ISCENEFILECACHE_H 44 | -------------------------------------------------------------------------------- /public/server_class.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | 9 | #include "server_class.h" 10 | 11 | // memdbgon must be the last include file in a .cpp file!!! 12 | #include "tier0/memdbgon.h" 13 | 14 | ServerClass *g_pServerClassHead=0; 15 | 16 | 17 | -------------------------------------------------------------------------------- /public/shattersurfacetypes.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | #if !defined ( SHATTERSURFACETYPES_H ) 9 | #define SHATTERSURFACETYPES_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | enum ShatterSurface_t 15 | { 16 | // Note: This much match with the client entity 17 | SHATTERSURFACE_GLASS = 0, 18 | SHATTERSURFACE_TILE = 1, 19 | }; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /public/steam/steam_gameserver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/steam/steam_gameserver.h -------------------------------------------------------------------------------- /public/steam/steamhttpenums.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/steam/steamhttpenums.h -------------------------------------------------------------------------------- /public/steam/steamtypes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/steam/steamtypes.h -------------------------------------------------------------------------------- /public/steam/steamuniverse.h: -------------------------------------------------------------------------------- 1 | //========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef STEAMUNIVERSE_H 8 | #define STEAMUNIVERSE_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | // Steam universes. Each universe is a self-contained Steam instance. 15 | enum EUniverse 16 | { 17 | k_EUniverseInvalid = 0, 18 | k_EUniversePublic = 1, 19 | k_EUniverseBeta = 2, 20 | k_EUniverseInternal = 3, 21 | k_EUniverseDev = 4, 22 | // k_EUniverseRC = 5, // no such universe anymore 23 | k_EUniverseMax 24 | }; 25 | 26 | 27 | #endif // STEAMUNIVERSE_H 28 | -------------------------------------------------------------------------------- /public/surfinfo.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | #ifndef SURFINFO_H 8 | #define SURFINFO_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #include "mathlib/vplane.h" 14 | 15 | //#include "mathlib/vector.h" 16 | #define MAX_SURFINFO_VERTS 16 17 | class SurfInfo 18 | { 19 | public: 20 | // Shape of the surface. 21 | Vector m_Verts[ MAX_SURFINFO_VERTS ]; 22 | unsigned long m_nVerts; 23 | 24 | // Plane of the surface. 25 | VPlane m_Plane; 26 | 27 | // For engine use only.. 28 | void *m_pEngineData; 29 | }; 30 | 31 | #endif // SURFINFO_H 32 | -------------------------------------------------------------------------------- /public/tier0/IOCTLCodes.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | #ifndef IOCTLCODES_H 9 | #define IOCTLCODES_H 10 | #pragma once 11 | 12 | // Define the IOCTL codes we will use. The IOCTL code contains a command 13 | // identifier, plus other information about the device, the type of access 14 | // with which the file must have been opened, and the type of buffering. 15 | 16 | // Device type -- in the "User Defined" range." 17 | #define DEVICE_FILE_TYPE 40000 18 | 19 | 20 | // The IOCTL function codes from 0x800 to 0xFFF are for customer use. 21 | 22 | #define IOCTL_WRITE_MSR \ 23 | CTL_CODE( DEVICE_FILE_TYPE, 0x900, METHOD_BUFFERED, FILE_READ_ACCESS ) 24 | 25 | #define IOCTL_READ_MSR \ 26 | CTL_CODE( DEVICE_FILE_TYPE, 0x901, METHOD_BUFFERED, FILE_READ_ACCESS ) 27 | 28 | 29 | #endif IOCTLCODES_H 30 | -------------------------------------------------------------------------------- /public/tier0/cpumonitoring.h: -------------------------------------------------------------------------------- 1 | #ifndef CPU_MONITORING_H 2 | #define CPU_MONITORING_H 3 | 4 | /* 5 | This header defines functions and structures for controlling the measurement of CPU frequency 6 | in order to detect thermal throttling. For details see the associated source file. 7 | */ 8 | 9 | struct CPUFrequencyResults 10 | { 11 | double m_timeStamp; // Time (from Plat_FloatTime) when the measurements were made. 12 | float m_GHz; 13 | float m_percentage; 14 | float m_lowestPercentage; 15 | }; 16 | 17 | // Call this to get results. 18 | // When CPU monitoring is 'disabled' it may still be running at a low frequency, 19 | // for OGS purposes or for proactively warning users of problems. If fGetDisabledResults 20 | // is true then results will be returned when disabled (if available). 21 | PLATFORM_INTERFACE CPUFrequencyResults GetCPUFrequencyResults( bool fGetDisabledResults = false ); 22 | 23 | // Call this to set the monitoring frequency. Intervals of 2-5 seconds (2,000 to 5,000 ms) 24 | // are recommended. An interval of zero will disable CPU monitoring. Short delays (below 25 | // about 300 ms) will be rounded up. 26 | PLATFORM_INTERFACE void SetCPUMonitoringInterval( unsigned nDelayMilliseconds ); 27 | 28 | // Warn with increasing strident colors when CPU percentages go below these levels. 29 | // They are const int instead of float because const float in C++ is stupid. 30 | const int kCPUMonitoringWarning1 = 80; 31 | const int kCPUMonitoringWarning2 = 50; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /public/tier0/cso2/iloadingsplash.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | abstract_class ICSO2LoadingSplash 6 | { 7 | public: 8 | virtual ~ICSO2LoadingSplash(); 9 | 10 | virtual HANDLE StartLoadingScreenThread( HINSTANCE hInstance ) = 0; 11 | virtual void Unknown00() = 0; // retn 12 | virtual void EndLoadingScreenThread() = 0; 13 | virtual void SetLoadingText( const char* szText ) = 0; 14 | virtual bool IsShowingLoadingScreen() = 0; 15 | virtual void SetLoadingProgress( int iProgress ) = 0; 16 | virtual void InvalidateScreenRect() = 0; 17 | }; 18 | 19 | PLATFORM_INTERFACE ICSO2LoadingSplash* GetCSO2LoadingSplash(); -------------------------------------------------------------------------------- /public/tier0/cso2/messagebox.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | PLATFORM_INTERFACE int CSO2FormatMessageBox( LPCSTR lpText, UINT uType, char* Format, ... ); 4 | PLATFORM_INTERFACE int CSO2FormatMessageBoxW( LPCWSTR lpText, UINT uType, wchar_t* Format, ... ); 5 | 6 | PLATFORM_INTERFACE int CSO2MessageBox( HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType, bool bShouldFlash = true ); 7 | PLATFORM_INTERFACE int CSO2MessageBoxW( HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType, bool bShouldFlash = true ); -------------------------------------------------------------------------------- /public/tier0/l2cache.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | #ifndef CL2CACHE_H 7 | #define CL2CACHE_H 8 | #ifdef _WIN32 9 | #pragma once 10 | #endif 11 | 12 | class P4Event_BSQ_cache_reference; 13 | 14 | class CL2Cache 15 | { 16 | public: 17 | 18 | CL2Cache(); 19 | ~CL2Cache(); 20 | 21 | void Start( void ); 22 | void End( void ); 23 | 24 | //------------------------------------------------------------------------- 25 | // GetL2CacheMisses 26 | //------------------------------------------------------------------------- 27 | int GetL2CacheMisses( void ) 28 | { 29 | return m_iL2CacheMissCount; 30 | } 31 | 32 | #ifdef DBGFLAG_VALIDATE 33 | void Validate( CValidator &validator, tchar *pchName ); // Validate our internal structures 34 | #endif // DBGFLAG_VALIDATE 35 | 36 | private: 37 | 38 | int m_nID; 39 | 40 | P4Event_BSQ_cache_reference *m_pL2CacheEvent; 41 | int64 m_i64Start; 42 | int64 m_i64End; 43 | int m_iL2CacheMissCount; 44 | }; 45 | 46 | #endif // CL2CACHE_H 47 | -------------------------------------------------------------------------------- /public/tier0/mem.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: Memory allocation! 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef TIER0_MEM_H 9 | #define TIER0_MEM_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | #include 16 | #ifdef LINUX 17 | #undef offsetof 18 | #define offsetof(s,m) (size_t)&(((s *)0)->m) 19 | #endif 20 | 21 | #include "tier0/platform.h" 22 | 23 | #if !defined(STATIC_TIER0) && !defined(_STATIC_LINKED) 24 | 25 | #ifdef TIER0_DLL_EXPORT 26 | # define MEM_INTERFACE DLL_EXPORT 27 | #else 28 | # define MEM_INTERFACE DLL_IMPORT 29 | #endif 30 | 31 | #else // BUILD_AS_DLL 32 | 33 | #define MEM_INTERFACE extern 34 | 35 | #endif // BUILD_AS_DLL 36 | 37 | 38 | 39 | //----------------------------------------------------------------------------- 40 | // DLL-exported methods for particular kinds of memory 41 | //----------------------------------------------------------------------------- 42 | MEM_INTERFACE void *MemAllocScratch( int nMemSize ); 43 | MEM_INTERFACE void MemFreeScratch(); 44 | 45 | #ifdef _LINUX 46 | MEM_INTERFACE void ZeroMemory( void *mem, size_t length ); 47 | #endif 48 | 49 | 50 | #endif /* TIER0_MEM_H */ 51 | -------------------------------------------------------------------------------- /public/tier0/memdbgoff.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: This header, which must be the final line of a .h file, 4 | // causes all crt methods to stop using debugging versions of the memory allocators. 5 | // NOTE: Use memdbgon.h to re-enable memory debugging. 6 | // 7 | // $NoKeywords: $ 8 | //=============================================================================// 9 | 10 | #ifdef MEM_OVERRIDE_ON 11 | 12 | #undef malloc 13 | #undef realloc 14 | #undef calloc 15 | #undef free 16 | #undef _expand 17 | #undef _msize 18 | #undef new 19 | #undef _aligned_malloc 20 | #undef _aligned_free 21 | #undef _malloc_dbg 22 | 23 | #undef MEM_OVERRIDE_ON 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /public/tier0/pointeroverride.asm: -------------------------------------------------------------------------------- 1 | .model flat, C 2 | 3 | .data 4 | __imp__EncodePointer@4 dd dummy 5 | __imp__DecodePointer@4 dd dummy 6 | 7 | EXTERNDEF __imp__EncodePointer@4 : DWORD 8 | EXTERNDEF __imp__DecodePointer@4 : DWORD 9 | 10 | .code 11 | dummy proc 12 | mov eax, [esp+4] 13 | ret 4 14 | dummy endp 15 | 16 | end 17 | -------------------------------------------------------------------------------- /public/tier0/progressbar.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: Provide a shared place for library fucntions to report progress % for display 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef PROGRESSBAR_H 8 | #define PROGRESSBAR_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | 14 | PLATFORM_INTERFACE void ReportProgress(char const *job_name, int total_units_to_do, 15 | int n_units_completed); 16 | 17 | typedef void (*ProgressReportHandler_t)( char const*, int, int ); 18 | 19 | // install your own handler. returns previous handler 20 | PLATFORM_INTERFACE ProgressReportHandler_t InstallProgressReportHandler( ProgressReportHandler_t pfn); 21 | 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /public/tier0/valve_minmax_off.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | #ifdef min 3 | #undef min 4 | #endif 5 | #ifdef max 6 | #undef max 7 | #endif 8 | -------------------------------------------------------------------------------- /public/tier0/valve_minmax_on.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | #if !defined(POSIX) 3 | #ifndef min 4 | #define min(a,b) (((a) < (b)) ? (a) : (b)) 5 | #endif 6 | #ifndef max 7 | #define max(a,b) (((a) > (b)) ? (a) : (b)) 8 | #endif 9 | #endif 10 | -------------------------------------------------------------------------------- /public/tier0/valve_off.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: This turns off all Valve-specific #defines. Because we sometimes 4 | // call external include files from inside .cpp files, we need to 5 | // wrap those includes like this: 6 | // #include "tier0/valve_off.h" 7 | // #include 8 | // #include "tier0/valve_on.h" 9 | // 10 | // $NoKeywords: $ 11 | //=============================================================================// 12 | 13 | 14 | #ifdef STEAM 15 | 16 | //----------------------------------------------------------------------------- 17 | // Unicode-related #defines (see wchartypes.h) 18 | //----------------------------------------------------------------------------- 19 | #undef char 20 | 21 | 22 | //----------------------------------------------------------------------------- 23 | // Memory-related #defines 24 | //----------------------------------------------------------------------------- 25 | #undef malloc 26 | #undef realloc 27 | #undef _expand 28 | #undef free 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /public/tier0/valve_on.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: This turns on all Valve-specific #defines. Because we sometimes 4 | // call external include files from inside .cpp files, we need to 5 | // wrap those includes like this: 6 | // #include "tier0/valve_off.h" 7 | // #include 8 | // #include "tier0/valve_on.h" 9 | // 10 | // $NoKeywords: $ 11 | //=============================================================================// 12 | 13 | 14 | #ifdef STEAM 15 | //----------------------------------------------------------------------------- 16 | // Unicode-related #defines (see wchartypes.h) 17 | //----------------------------------------------------------------------------- 18 | #ifdef ENFORCE_WCHAR 19 | #define char DontUseChar_SeeWcharOn.h 20 | #endif 21 | 22 | 23 | //----------------------------------------------------------------------------- 24 | // Memory-related #defines 25 | //----------------------------------------------------------------------------- 26 | #define malloc( cub ) HEY_DONT_USE_MALLOC_USE_PVALLOC 27 | #define realloc( pvOld, cub ) HEY_DONT_USE_REALLOC_USE_PVREALLOC 28 | #define _expand( pvOld, cub ) HEY_DONT_USE_EXPAND_USE_PVEXPAND 29 | #define free( pv ) HEY_DONT_USE_FREE_USE_FREEPV 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /public/tier0/vcr_shared.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef VCR_SHARED_H 9 | #define VCR_SHARED_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | #define VCRFILE_VERSION 2 16 | 17 | 18 | // Identifiers for the things we record. When playing back, these things should 19 | // be asked for in the exact same order (otherwise, the engine isn't making all 20 | // the calls in the same order). 21 | typedef enum 22 | { 23 | VCREvent_Sys_FloatTime=0, 24 | VCREvent_recvfrom, 25 | VCREvent_SyncToken, 26 | VCREvent_GetCursorPos, 27 | VCREvent_SetCursorPos, 28 | VCREvent_ScreenToClient, 29 | VCREvent_Cmd_Exec, 30 | VCREvent_CmdLine, 31 | VCREvent_RegOpenKeyEx, 32 | VCREvent_RegSetValueEx, 33 | VCREvent_RegQueryValueEx, 34 | VCREvent_RegCreateKeyEx, 35 | VCREvent_RegCloseKey, 36 | VCREvent_PeekMessage, 37 | VCREvent_GameMsg, 38 | VCREvent_GetNumberOfConsoleInputEvents, 39 | VCREvent_ReadConsoleInput, 40 | VCREvent_GetKeyState, 41 | VCREvent_recv, 42 | VCREvent_send, 43 | VCREvent_Generic, 44 | VCREvent_CreateThread, 45 | VCREvent_WaitForSingleObject, 46 | VCREvent_EnterCriticalSection, 47 | VCREvent_Time, 48 | VCREvent_LocalTime, 49 | VCREvent_GenericString, 50 | VCREvent_NUMEVENTS 51 | } VCREvent; 52 | 53 | 54 | #endif // VCR_SHARED_H 55 | -------------------------------------------------------------------------------- /public/tier0/xbox_codeline_defines.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef XBOX_CODELINE_DEFINES_H 9 | #define XBOX_CODELINE_DEFINES_H 10 | 11 | 12 | // In the regular src_main codeline, we leave this out. 13 | //#define IN_XBOX_CODELINE 14 | 15 | 16 | #endif // XBOX_CODELINE_DEFINES_H 17 | -------------------------------------------------------------------------------- /public/tier1/checksum_crc.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: Generic CRC functions 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | #ifndef CHECKSUM_CRC_H 8 | #define CHECKSUM_CRC_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | typedef unsigned int CRC32_t; 14 | 15 | void CRC32_Init( CRC32_t *pulCRC ); 16 | void CRC32_ProcessBuffer( CRC32_t *pulCRC, const void *p, int len ); 17 | void CRC32_Final( CRC32_t *pulCRC ); 18 | CRC32_t CRC32_GetTableEntry( unsigned int slot ); 19 | 20 | inline CRC32_t CRC32_ProcessSingleBuffer( const void *p, int len ) 21 | { 22 | CRC32_t crc; 23 | 24 | CRC32_Init( &crc ); 25 | CRC32_ProcessBuffer( &crc, p, len ); 26 | CRC32_Final( &crc ); 27 | 28 | return crc; 29 | } 30 | 31 | #endif // CHECKSUM_CRC_H 32 | -------------------------------------------------------------------------------- /public/tier1/diff.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | // Serialization/unserialization buffer 8 | //=============================================================================// 9 | 10 | #ifndef DIFF_H 11 | #define DIFF_H 12 | #pragma once 13 | 14 | int FindDiffs(uint8 const *NewBlock, uint8 const *OldBlock, 15 | int NewSize, int OldSize, int &DiffListSize,uint8 *Output,uint32 OutSize); 16 | 17 | int FindDiffsForLargeFiles(uint8 const *NewBlock, uint8 const *OldBlock, 18 | int NewSize, int OldSize, int &DiffListSize,uint8 *Output, 19 | uint32 OutSize, 20 | int hashsize=65536); 21 | 22 | void ApplyDiffs(uint8 const *OldBlock, uint8 const *DiffList, 23 | int OldSize, int DiffListSize, int &ResultListSize,uint8 *Output,uint32 OutSize); 24 | 25 | int FindDiffsLowMemory(uint8 const *NewBlock, uint8 const *OldBlock, 26 | int NewSize, int OldSize, int &DiffListSize,uint8 *Output,uint32 OutSize); 27 | 28 | #endif 29 | 30 | -------------------------------------------------------------------------------- /public/tier1/processor_detect.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: functions to expose CPU capabilities 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | bool CheckMMXTechnology(void); 9 | bool CheckSSETechnology(void); 10 | bool CheckSSE2Technology(void); 11 | bool Check3DNowTechnology(void); 12 | 13 | -------------------------------------------------------------------------------- /public/tier1/utlbinaryblock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Leite/source-sdk-cso2/af88e668b03af0880c68beea764f44e2d9f6f689/public/tier1/utlbinaryblock.h -------------------------------------------------------------------------------- /public/tier2/keybindings.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //===========================================================================// 8 | 9 | #ifndef KEYBINDINGS_H 10 | #define KEYBINDINGS_H 11 | 12 | #ifdef _WIN32 13 | #pragma once 14 | #endif 15 | 16 | #include "tier1/utlstring.h" 17 | #include "inputsystem/ButtonCode.h" 18 | 19 | class CUtlBuffer; 20 | 21 | 22 | class CKeyBindings 23 | { 24 | public: 25 | void SetBinding( ButtonCode_t code, const char *pBinding ); 26 | void SetBinding( const char *pButtonName, const char *pBinding ); 27 | 28 | void Unbind( ButtonCode_t code ); 29 | void Unbind( const char *pButtonName ); 30 | void UnbindAll(); 31 | 32 | int GetBindingCount() const; 33 | void WriteBindings( CUtlBuffer &buf ); 34 | const char *ButtonNameForBinding( const char *pBinding ); 35 | const char *GetBindingForButton( ButtonCode_t code ); 36 | 37 | private: 38 | CUtlString m_KeyInfo[ BUTTON_CODE_LAST ]; 39 | }; 40 | 41 | 42 | #endif // KEYBINDINGS_H 43 | -------------------------------------------------------------------------------- /public/tier2/meshutils.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: A set of utilities to help with generating meshes 4 | // 5 | //===========================================================================// 6 | 7 | #ifndef MESHUTILS_H 8 | #define MESHUTILS_H 9 | 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | //----------------------------------------------------------------------------- 16 | // Helper methods to create various standard index buffer types 17 | //----------------------------------------------------------------------------- 18 | void GenerateSequentialIndexBuffer( unsigned short* pIndexMemory, int nIndexCount, int nFirstVertex ); 19 | void GenerateQuadIndexBuffer( unsigned short* pIndexMemory, int nIndexCount, int nFirstVertex ); 20 | void GeneratePolygonIndexBuffer( unsigned short* pIndexMemory, int nIndexCount, int nFirstVertex ); 21 | void GenerateLineStripIndexBuffer( unsigned short* pIndexMemory, int nIndexCount, int nFirstVertex ); 22 | void GenerateLineLoopIndexBuffer( unsigned short* pIndexMemory, int nIndexCount, int nFirstVertex ); 23 | 24 | 25 | #endif // MESHUTILS_H 26 | 27 | -------------------------------------------------------------------------------- /public/tier2/soundutils.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: Helper methods + classes for sound 4 | // 5 | //===========================================================================// 6 | 7 | #ifndef SOUNDUTILS_H 8 | #define SOUNDUTILS_H 9 | 10 | #if defined( _WIN32 ) 11 | #pragma once 12 | #endif 13 | 14 | #include "tier2/riff.h" 15 | 16 | 17 | //----------------------------------------------------------------------------- 18 | // RIFF reader/writers that use the file system 19 | //----------------------------------------------------------------------------- 20 | extern IFileReadBinary *g_pFSIOReadBinary; 21 | extern IFileWriteBinary *g_pFSIOWriteBinary; 22 | 23 | 24 | //----------------------------------------------------------------------------- 25 | // Returns the duration of a wav file 26 | //----------------------------------------------------------------------------- 27 | float GetWavSoundDuration( const char *pWavFile ); 28 | 29 | 30 | #endif // SOUNDUTILS_H 31 | 32 | -------------------------------------------------------------------------------- /public/tier2/vconfig.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: Utilities for setting vproject settings 4 | // 5 | //===========================================================================// 6 | 7 | #ifndef _VCONFIG_H 8 | #define _VCONFIG_H 9 | 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | // The registry keys that vconfig uses to store the current vproject directory. 16 | //#define VPROJECT_REG_KEY "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment" 17 | // Moved to simply 'Environment' - we need to set in HKEY_CURRENT_USER and not local machine, to avoid security issues in vista! 18 | #define VPROJECT_REG_KEY "Environment" 19 | 20 | // For accessing the environment variables we store the current vproject in. 21 | void SetVConfigRegistrySetting( const char *pName, const char *pValue, bool bNotify = true ); 22 | bool GetVConfigRegistrySetting( const char *pName, char *pReturn, int size ); 23 | #ifdef _WIN32 24 | bool RemoveObsoleteVConfigRegistrySetting( const char *pValueName, char *pOldValue = NULL , int size = 0 ); 25 | #endif 26 | bool ConvertObsoleteVConfigRegistrySetting( const char *pValueName ); 27 | 28 | 29 | #endif // _VCONFIG_H -------------------------------------------------------------------------------- /public/tier3/scenetokenprocessor.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef SCENETOKENPROCESSOR_H 8 | #define SCENETOKENPROCESSOR_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | class ISceneTokenProcessor; 14 | 15 | ISceneTokenProcessor *GetTokenProcessor(); 16 | void SetTokenProcessorBuffer( const char *buf ); 17 | 18 | #endif // SCENETOKENPROCESSOR_H 19 | -------------------------------------------------------------------------------- /public/tier3/tier3dm.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: A higher level link library for general use in the game and tools. 4 | // 5 | //===========================================================================// 6 | 7 | 8 | #ifndef TIER3DM_H 9 | #define TIER3DM_H 10 | 11 | #if defined( _WIN32 ) 12 | #pragma once 13 | #endif 14 | 15 | #include "tier3/tier3.h" 16 | #include "tier2/tier2dm.h" 17 | 18 | //----------------------------------------------------------------------------- 19 | // Helper empty implementation of an IAppSystem for tier2 libraries 20 | //----------------------------------------------------------------------------- 21 | template< class IInterface, int ConVarFlag = 0 > 22 | class CTier3DmAppSystem : public CTier2DmAppSystem< IInterface, ConVarFlag > 23 | { 24 | typedef CTier2DmAppSystem< IInterface, ConVarFlag > BaseClass; 25 | 26 | public: 27 | CTier3DmAppSystem( bool bIsPrimaryAppSystem = true ) : BaseClass( bIsPrimaryAppSystem ) 28 | { 29 | } 30 | 31 | virtual bool Connect( CreateInterfaceFn factory ) 32 | { 33 | if ( !BaseClass::Connect( factory ) ) 34 | return false; 35 | 36 | if ( IsPrimaryAppSystem() ) 37 | { 38 | ConnectTier3Libraries( &factory, 1 ); 39 | } 40 | return true; 41 | } 42 | 43 | virtual void Disconnect() 44 | { 45 | if ( IsPrimaryAppSystem() ) 46 | { 47 | DisconnectTier3Libraries(); 48 | } 49 | BaseClass::Disconnect(); 50 | } 51 | }; 52 | 53 | 54 | #endif // TIER3DM_H 55 | 56 | -------------------------------------------------------------------------------- /public/togl/glfuncs.inl: -------------------------------------------------------------------------------- 1 | #include "togl/linuxwin/glfuncs.h" 2 | 3 | -------------------------------------------------------------------------------- /public/toolframework/itooldictionary.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef ITOOLDICTIONARY_H 8 | #define ITOOLDICTIONARY_H 9 | 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | #include "appframework/IAppSystem.h" 15 | 16 | //----------------------------------------------------------------------------- 17 | // Forward declaration 18 | //----------------------------------------------------------------------------- 19 | class IToolSystem; 20 | 21 | 22 | //----------------------------------------------------------------------------- 23 | // Purpose: Every tool dll sitting in bin\tools must expose this interface 24 | // The engine will load the .dll, get this interface, and then ask for all 25 | // tools in the .dll 26 | // The engine will call CreateTools just before querying for the tools, so you 27 | // can instance any dynamically instanced tools during that call 28 | //----------------------------------------------------------------------------- 29 | class IToolDictionary : public IAppSystem 30 | { 31 | public: 32 | virtual void CreateTools() = 0; 33 | virtual int GetToolCount() const = 0; 34 | virtual IToolSystem *GetTool( int index ) = 0; 35 | }; 36 | 37 | #define VTOOLDICTIONARY_INTERFACE_VERSION "VTOOLDICTIONARY002" 38 | 39 | #endif // ITOOLDICTIONARY_H 40 | -------------------------------------------------------------------------------- /public/toolframework/toolframework.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | #include "toolframework/itooldictionary.h" 3 | #include "utlvector.h" 4 | 5 | class CToolDictionary : public IToolDictionary 6 | { 7 | public: 8 | virtual int GetToolCount() const 9 | { 10 | return m_Tools.Count(); 11 | } 12 | 13 | virtual IToolSystem *GetTool( int index ) 14 | { 15 | if ( index < 0 || index >= m_Tools.Count() ) 16 | { 17 | return NULL; 18 | } 19 | return m_Tools[ index ]; 20 | } 21 | 22 | public: 23 | 24 | void RegisterTool( IToolSystem *tool ) 25 | { 26 | m_Tools.AddToTail( tool ); 27 | } 28 | private: 29 | 30 | CUtlVector< IToolSystem * > m_Tools; 31 | }; 32 | 33 | static CToolDictionary g_ToolDictionary; 34 | 35 | EXPOSE_SINGLE_INTERFACE_GLOBALVAR( IToolDictionary, CToolDictionary, VTOOLDICTIONARY_INTERFACE_VERSION, g_ToolDictionary ); 36 | 37 | void RegisterTool( IToolSystem *tool ) 38 | { 39 | g_ToolDictionary.RegisterTool( tool ); 40 | } 41 | 42 | -------------------------------------------------------------------------------- /public/tools/bonelist.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef BONELIST_H 8 | #define BONELIST_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #include "studio.h" 14 | 15 | class CBoneList 16 | { 17 | public: 18 | 19 | CBoneList(); 20 | 21 | void Release(); 22 | 23 | static CBoneList *Alloc(); 24 | 25 | public: 26 | 27 | int m_nBones; 28 | Vector m_vecPos[ MAXSTUDIOBONES ]; 29 | Quaternion m_quatRot[ MAXSTUDIOBONES ]; 30 | 31 | private: 32 | bool m_bShouldDelete; 33 | }; 34 | 35 | class CFlexList 36 | { 37 | public: 38 | 39 | CFlexList(); 40 | 41 | void Release(); 42 | 43 | static CFlexList *Alloc(); 44 | 45 | public: 46 | 47 | int m_nNumFlexes; 48 | float m_flexWeights[ MAXSTUDIOFLEXCTRL ]; 49 | 50 | private: 51 | bool m_bShouldDelete; 52 | }; 53 | 54 | #endif // BONELIST_H 55 | -------------------------------------------------------------------------------- /public/unicode/unicode.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef UNICODE_H 8 | #define UNICODE_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | #include "interface.h" 14 | 15 | #ifndef WIN32_LEAN_AND_MEAN 16 | #define WIN32_LEAN_AND_MEAN 17 | #endif 18 | 19 | #if !defined( _X360 ) 20 | #include 21 | #endif 22 | #if defined( _X360 ) 23 | #include "xbox/xbox_win32stubs.h" 24 | #endif 25 | 26 | class IUnicodeWindows : public IBaseInterface 27 | { 28 | public: 29 | virtual LRESULT DefWindowProcW 30 | ( 31 | HWND hWnd, 32 | UINT Msg, 33 | WPARAM wParam, 34 | LPARAM lParam 35 | ) = 0; 36 | 37 | virtual HWND CreateWindowExW 38 | ( 39 | DWORD dwExStyle, 40 | LPCWSTR lpClassName, 41 | LPCWSTR lpWindowName, 42 | DWORD dwStyle, 43 | int x, 44 | int y, 45 | int nWidth, 46 | int nHeight, 47 | HWND hWndParent, 48 | HMENU hMenu, 49 | HINSTANCE hInstance, 50 | LPVOID lpParam 51 | ) = 0; 52 | 53 | virtual ATOM RegisterClassW 54 | ( 55 | CONST WNDCLASSW *lpWndClass 56 | ) = 0; 57 | 58 | virtual BOOL UnregisterClassW 59 | ( 60 | LPCWSTR lpClassName, 61 | HINSTANCE hInstance 62 | ) = 0; 63 | }; 64 | 65 | #define VENGINE_UNICODEINTERFACE_VERSION "VENGINEUNICODE001" 66 | 67 | 68 | #endif // UNICODE_H 69 | -------------------------------------------------------------------------------- /public/vallocator.cpp: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | 9 | #if !defined(_STATIC_LINKED) || defined(_SHARED_LIB) 10 | 11 | #include 12 | #include "vallocator.h" 13 | #include "basetypes.h" 14 | 15 | // memdbgon must be the last include file in a .cpp file!!! 16 | #include "tier0/memdbgon.h" 17 | 18 | VStdAllocator g_StdAllocator; 19 | 20 | void* VStdAllocator::Alloc(unsigned long size) 21 | { 22 | if(size) 23 | { 24 | void *ret = malloc(size); 25 | return ret; 26 | } 27 | else 28 | return 0; 29 | } 30 | 31 | void VStdAllocator::Free(void *ptr) 32 | { 33 | free(ptr); 34 | } 35 | 36 | #endif // !_STATIC_LINKED || _SHARED_LIB 37 | -------------------------------------------------------------------------------- /public/vcollide.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef VCOLLIDE_H 9 | #define VCOLLIDE_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | class CPhysCollide; 15 | 16 | struct vcollide_t 17 | { 18 | unsigned short solidCount : 15; 19 | unsigned short isPacked : 1; 20 | unsigned short descSize; 21 | // VPhysicsSolids 22 | CPhysCollide **solids; 23 | char *pKeyValues; 24 | }; 25 | 26 | #endif // VCOLLIDE_H 27 | -------------------------------------------------------------------------------- /public/vgui/Cursor.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: Holds the enumerated list of default cursors 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef CURSOR_H 9 | #define CURSOR_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | #include 16 | 17 | namespace vgui 18 | { 19 | 20 | enum CursorCode 21 | { 22 | dc_user, 23 | dc_none, 24 | dc_arrow, 25 | dc_ibeam, 26 | dc_hourglass, 27 | dc_waitarrow, 28 | dc_crosshair, 29 | dc_up, 30 | dc_sizenwse, 31 | dc_sizenesw, 32 | dc_sizewe, 33 | dc_sizens, 34 | dc_sizeall, 35 | dc_no, 36 | dc_hand, 37 | dc_blank, // don't show any custom vgui cursor, just let windows do it stuff (for HTML widget) 38 | dc_last, 39 | dc_alwaysvisible_push, 40 | dc_alwaysvisible_pop, 41 | }; 42 | 43 | typedef unsigned long HCursor; 44 | 45 | } 46 | 47 | #endif // CURSOR_H 48 | -------------------------------------------------------------------------------- /public/vgui/ILocalize.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //===========================================================================// 7 | 8 | #ifndef ILOCALIZE_H 9 | #define ILOCALIZE_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | #include "tier1/ilocalize.h" 16 | 17 | namespace vgui 18 | { 19 | class ILocalize : public ::ILocalize { }; // backwards compatability with vgui::ILocalize declarations 20 | } 21 | 22 | #define VGUI_LOCALIZE_INTERFACE_VERSION "VGUI_Localize005" 23 | 24 | #endif // ILOCALIZE_H 25 | -------------------------------------------------------------------------------- /public/vgui/IVguiMatInfo.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IVGUIMATINFO_H 9 | #define IVGUIMATINFO_H 10 | 11 | #include "IVguiMatInfoVar.h" 12 | 13 | // wrapper for IMaterial 14 | class IVguiMatInfo 15 | { 16 | public: 17 | // Add a virtual destructor to silence the clang warning. 18 | // This is harmless but not important since the only derived class 19 | // doesn't have a destructor. 20 | virtual ~IVguiMatInfo() {} 21 | 22 | // make sure to delete the returned object after use! 23 | virtual IVguiMatInfoVar* FindVarFactory ( const char *varName, bool *found ) = 0; 24 | 25 | virtual int GetNumAnimationFrames ( ) = 0; 26 | 27 | // todo: if you need to add more IMaterial functions add them here 28 | }; 29 | 30 | #endif //IVGUIMATINFO_H 31 | -------------------------------------------------------------------------------- /public/vgui/IVguiMatInfoVar.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef IVGUIMATINFOVAR_H 9 | #define IVGUIMATINFOVAR_H 10 | 11 | 12 | // wrapper for IMaterialVar 13 | class IVguiMatInfoVar 14 | { 15 | public: 16 | // Add a virtual destructor to silence the clang warning. 17 | // This is harmless but not important since the only derived class 18 | // doesn't have a destructor. 19 | virtual ~IVguiMatInfoVar() {} 20 | 21 | virtual int GetIntValue ( void ) const = 0; 22 | virtual void SetIntValue ( int val ) = 0; 23 | 24 | // todo: if you need to add more IMaterialVar functions add them here 25 | }; 26 | 27 | #endif //IVGUIMATINFOVAR_H 28 | -------------------------------------------------------------------------------- /public/vgui/KeyCode.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: this is a map for virtual key codes 4 | // virtual key codes may exist outside this range for other languages 5 | // NOTE: Button codes also contain mouse codes, but we won't worry about that 6 | // 7 | // $NoKeywords: $ 8 | //===========================================================================// 9 | 10 | #ifndef KEYCODE_H 11 | #define KEYCODE_H 12 | 13 | #ifdef _WIN32 14 | #pragma once 15 | #endif 16 | 17 | #include "inputsystem/ButtonCode.h" 18 | 19 | namespace vgui 20 | { 21 | typedef ButtonCode_t KeyCode; 22 | } 23 | 24 | #endif // KEYCODE_H 25 | -------------------------------------------------------------------------------- /public/vgui/MouseCode.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: names mouse button inputs 4 | // NOTE: Button codes also contain key codes, but we won't worry about that 5 | // 6 | // $NoKeywords: $ 7 | //===========================================================================// 8 | 9 | #ifndef MOUSECODE_H 10 | #define MOUSECODE_H 11 | 12 | #ifdef _WIN32 13 | #pragma once 14 | #endif 15 | 16 | #include "inputsystem/ButtonCode.h" 17 | 18 | namespace vgui 19 | { 20 | typedef ButtonCode_t MouseCode; 21 | } 22 | 23 | #endif // MOUSECODE_H 24 | -------------------------------------------------------------------------------- /public/vgui/Point.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef POINT_H 9 | #define POINT_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | #include 16 | 17 | namespace vgui 18 | { 19 | 20 | //----------------------------------------------------------------------------- 21 | // Purpose: Basic handler for a Points in 2 dimensions 22 | // This class is fully inline 23 | //----------------------------------------------------------------------------- 24 | class Point 25 | { 26 | public: 27 | // constructors 28 | Point() 29 | { 30 | SetPoint(0, 0); 31 | } 32 | Point(int x,int y) 33 | { 34 | SetPoint(x,y); 35 | } 36 | 37 | void SetPoint(int x1, int y1) 38 | { 39 | x=x1; 40 | y=y1; 41 | } 42 | 43 | void GetPoint(int &x1, int &y1) const 44 | { 45 | x1 = x; 46 | y1 = y; 47 | 48 | } 49 | 50 | bool operator == (Point &rhs) const 51 | { 52 | return (x == rhs.x && y == rhs.y); 53 | } 54 | 55 | private: 56 | int x, y; 57 | }; 58 | 59 | } // namespace vgui 60 | 61 | #endif // POINT_H 62 | -------------------------------------------------------------------------------- /public/vgui/ipainthtml.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | #ifndef IPAINTHTML_H 8 | #define IPAINTHTML_H 9 | 10 | class IPaintHTML 11 | { 12 | public: 13 | enum EPaintTarget 14 | { 15 | ePaintBrowser, 16 | ePaintPopup, 17 | ePaintMAX 18 | }; 19 | // returns the texture id used, pass in -1 to create a new texture 20 | virtual int DrawSubTextureRGBA( EPaintTarget eTarget, int textureID, int x, int y, const unsigned char *pRGBA, int wide, int tall ) = 0; 21 | virtual void DeleteTexture( EPaintTarget eTarget, int textureID ) = 0; 22 | }; 23 | 24 | class IInputEventHTML 25 | { 26 | public: 27 | enum EMouseButton 28 | { 29 | eButtonLeft, 30 | eButtonMiddle, 31 | eButtonRight 32 | }; 33 | 34 | virtual bool ChromeHandleMouseClick( EMouseButton eButton, bool bUp, int nClickCount ) = 0; 35 | virtual bool ChromeHandleMouseMove( int x, int y ) = 0; 36 | virtual bool ChromeHandleMouseWheel( int delta ) = 0; 37 | 38 | enum EKeyType 39 | { 40 | KeyDown, 41 | KeyUp, 42 | Char 43 | }; 44 | enum EKeyModifier 45 | { 46 | AltDown = 1, 47 | CrtlDown = 2, 48 | ShiftDown = 4, 49 | }; 50 | 51 | virtual bool ChromeHandleKeyEvent( EKeyType type, int key, int modifiers, bool bKeyUp ) = 0; 52 | }; 53 | 54 | #endif // IPAINTHTML_H -------------------------------------------------------------------------------- /public/vgui/keyrepeat.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef KEYREPEAT_H 8 | #define KEYREPEAT_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | namespace vgui 14 | { 15 | 16 | enum KEYREPEAT_ALIASES 17 | { 18 | KR_ALIAS_UP, 19 | KR_ALIAS_DOWN, 20 | KR_ALIAS_LEFT, 21 | KR_ALIAS_RIGHT, 22 | 23 | FM_NUM_KEYREPEAT_ALIASES, 24 | }; 25 | 26 | class CKeyRepeatHandler 27 | { 28 | public: 29 | CKeyRepeatHandler(); 30 | 31 | void Reset(); 32 | void KeyDown( vgui::KeyCode code ); 33 | void KeyUp( vgui::KeyCode code ); 34 | vgui::KeyCode KeyRepeated(); 35 | void SetKeyRepeatTime( vgui::KeyCode code, float flRepeat ); 36 | 37 | private: 38 | bool m_bAliasDown[MAX_JOYSTICKS][FM_NUM_KEYREPEAT_ALIASES]; 39 | float m_flRepeatTimes[FM_NUM_KEYREPEAT_ALIASES]; 40 | float m_flNextKeyRepeat[MAX_JOYSTICKS]; 41 | bool m_bHaveKeyDown; 42 | }; 43 | 44 | 45 | } // namespace vgui 46 | 47 | #endif // KEYREPEAT_H 48 | -------------------------------------------------------------------------------- /public/vgui_controls/ControllerMap.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef CONTROLLERMAP_H 9 | #define CONTROLLERMAP_H 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | #include "Panel.h" 15 | #include "utlmap.h" 16 | #include "utlsymbol.h" 17 | 18 | class CControllerMap : public vgui::Panel 19 | { 20 | DECLARE_CLASS_SIMPLE( CControllerMap, vgui::Panel ) 21 | 22 | virtual void OnKeyCodeTyped( vgui::KeyCode code ); 23 | 24 | public: 25 | CControllerMap( vgui::Panel *parent, const char *name ); 26 | 27 | virtual void ApplySettings( KeyValues *inResourceData ); 28 | 29 | int NumButtons( void ) 30 | { 31 | return m_buttonMap.Count(); 32 | } 33 | 34 | const char *GetBindingText( int idx ); 35 | const char *GetBindingIcon( int idx ); 36 | 37 | private: 38 | 39 | struct button_t 40 | { 41 | CUtlSymbol cmd; 42 | CUtlSymbol text; 43 | CUtlSymbol icon; 44 | }; 45 | CUtlMap< int, button_t > m_buttonMap; 46 | }; 47 | 48 | #endif // CONTROLLERMAP_H -------------------------------------------------------------------------------- /public/vgui_controls/Divider.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef DIVIDER_H 9 | #define DIVIDER_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | #include 16 | 17 | namespace vgui 18 | { 19 | 20 | //----------------------------------------------------------------------------- 21 | // Purpose: Thin line used to divide sections in dialogs 22 | //----------------------------------------------------------------------------- 23 | class Divider : public Panel 24 | { 25 | DECLARE_CLASS_SIMPLE( Divider, Panel ); 26 | 27 | public: 28 | Divider(Panel *parent, const char *name); 29 | ~Divider(); 30 | 31 | virtual void ApplySchemeSettings(IScheme *pScheme); 32 | }; 33 | 34 | 35 | } // namespace vgui 36 | 37 | 38 | #endif // DIVIDER_H 39 | -------------------------------------------------------------------------------- /public/vgui_controls/ToggleButton.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //===========================================================================// 7 | 8 | #ifndef TOGGLEBUTTON_H 9 | #define TOGGLEBUTTON_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | #include 16 | #include 17 | 18 | namespace vgui 19 | { 20 | 21 | //----------------------------------------------------------------------------- 22 | // Purpose: Type of button that when pressed stays selected & depressed until pressed again 23 | //----------------------------------------------------------------------------- 24 | class ToggleButton : public Button 25 | { 26 | DECLARE_CLASS_SIMPLE( ToggleButton, Button ); 27 | 28 | public: 29 | ToggleButton(Panel *parent, const char *panelName, const char *text); 30 | 31 | virtual void DoClick(); 32 | 33 | /* messages sent (get via AddActionSignalTarget()): 34 | "ButtonToggled" 35 | int "state" 36 | */ 37 | 38 | protected: 39 | // overrides 40 | virtual void OnMouseDoublePressed(MouseCode code); 41 | 42 | virtual Color GetButtonFgColor(); 43 | virtual void ApplySchemeSettings(IScheme *pScheme); 44 | 45 | virtual bool CanBeDefaultButton(void); 46 | virtual void OnKeyCodePressed(KeyCode code); 47 | 48 | private: 49 | Color _selectedColor; 50 | }; 51 | 52 | } // namespace vgui 53 | 54 | #endif // TOGGLEBUTTON_H 55 | -------------------------------------------------------------------------------- /public/vgui_controls/URLLabel.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | //=============================================================================// 7 | 8 | #ifndef URLLABEL_H 9 | #define URLLABEL_H 10 | 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | #include 16 | #include 17 | 18 | namespace vgui 19 | { 20 | 21 | class URLLabel : public Label 22 | { 23 | DECLARE_CLASS_SIMPLE( URLLabel, Label ); 24 | 25 | public: 26 | URLLabel(Panel *parent, const char *panelName, const char *text, const char *pszURL); 27 | URLLabel(Panel *parent, const char *panelName, const wchar_t *wszText, const char *pszURL); 28 | ~URLLabel(); 29 | 30 | void SetURL(const char *pszURL); 31 | 32 | protected: 33 | virtual void OnMousePressed(MouseCode code); 34 | virtual void ApplySettings( KeyValues *inResourceData ); 35 | virtual void GetSettings( KeyValues *outResourceData ); 36 | virtual void ApplySchemeSettings(IScheme *pScheme); 37 | virtual const char *GetDescription( void ); 38 | 39 | const char *GetURL( void ) { return m_pszURL; } 40 | 41 | private: 42 | char *m_pszURL; 43 | int m_iURLSize; 44 | bool m_bUnderline; 45 | }; 46 | 47 | } 48 | 49 | #endif // URLLABEL_H 50 | -------------------------------------------------------------------------------- /public/vgui_controls/savedocumentquery.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // This dialog asks if you want to save your work 4 | // 5 | //============================================================================= 6 | 7 | #ifndef SAVEDOCUMENTQUERY_H 8 | #define SAVEDOCUMENTQUERY_H 9 | 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | 15 | //----------------------------------------------------------------------------- 16 | // Forward declarations 17 | //----------------------------------------------------------------------------- 18 | class KeyValues; 19 | namespace vgui 20 | { 21 | class Panel; 22 | } 23 | 24 | 25 | //----------------------------------------------------------------------------- 26 | // Show the save document query dialog 27 | // NOTE: The following commands will be posted to the action signal target: 28 | // "OnExit" - when we want to quit 29 | // "OnSave" - when we want to save the file 30 | // "OnCloseNoSave" - when we want to close the file without saving it 31 | // "commandname" - additional command send after saving (SAVEDOC_POSTCOMMAND_AFTER_SAVE) 32 | // "OnMarkNotDirty" - when we want to mark the file not dirty 33 | //----------------------------------------------------------------------------- 34 | void ShowSaveDocumentQuery( vgui::Panel *pParent, const char *pFileName, const char *pFileType, int nContext, vgui::Panel *pActionSignalTarget, KeyValues *pPostSaveCommand ); 35 | 36 | 37 | #endif // SAVEDOCUMENTQUERY_H 38 | -------------------------------------------------------------------------------- /public/vgui_controls/subrectimage.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef SUBRECTIMAGE_H 8 | #define SUBRECTIMAGE_H 9 | 10 | #ifdef _WIN32 11 | #pragma once 12 | #endif 13 | 14 | #include "vgui_controls/Image.h" 15 | #include "vgui/VGUI.h" 16 | 17 | 18 | //----------------------------------------------------------------------------- 19 | // Purpose: Check box image 20 | //----------------------------------------------------------------------------- 21 | class CSubRectImage : public vgui::Image 22 | { 23 | public: 24 | CSubRectImage( const char *filename, bool hardwareFiltered, int subx, int suby, int subw, int subh ); 25 | virtual ~CSubRectImage(); 26 | 27 | void GetSize( int &wide, int &tall ); 28 | void GetContentSize( int &wide, int &tall ); 29 | void SetSize( int x, int y ); 30 | void SetPos( int x, int y ); 31 | void SetColor( Color col ); 32 | const char *GetName(); 33 | void Paint(); 34 | void ForceUpload(); 35 | vgui::HTexture GetID(); 36 | bool IsValid(); 37 | 38 | private: 39 | vgui::HTexture _id; 40 | int sub[ 4 ]; 41 | char *_filename; 42 | int _pos[2]; 43 | int _wide,_tall; 44 | Color _color; 45 | bool _uploaded; 46 | bool _valid; 47 | bool _filtered; 48 | }; 49 | 50 | 51 | #endif // SUBRECTIMAGE_H -------------------------------------------------------------------------------- /public/vphysics/collision_set.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | 9 | // A set of collision rules 10 | // NOTE: Defaults to all indices disabled 11 | class IPhysicsCollisionSet 12 | { 13 | public: 14 | ~IPhysicsCollisionSet() {} 15 | 16 | virtual void EnableCollisions( int index0, int index1 ) = 0; 17 | virtual void DisableCollisions( int index0, int index1 ) = 0; 18 | 19 | virtual bool ShouldCollide( int index0, int index1 ) = 0; 20 | }; -------------------------------------------------------------------------------- /public/vphysics/object_hash.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef OBJECT_HASH_H 8 | #define OBJECT_HASH_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | class IPhysicsObjectPairHash 14 | { 15 | public: 16 | virtual ~IPhysicsObjectPairHash() {} 17 | virtual void AddObjectPair( void *pObject0, void *pObject1 ) = 0; 18 | virtual void RemoveObjectPair( void *pObject0, void *pObject1 ) = 0; 19 | virtual bool IsObjectPairInHash( void *pObject0, void *pObject1 ) = 0; 20 | virtual void RemoveAllPairsForObject( void *pObject0 ) = 0; 21 | virtual bool IsObjectInHash( void *pObject0 ) = 0; 22 | 23 | // Used to iterate over all pairs an object is part of 24 | virtual int GetPairCountForObject( void *pObject0 ) = 0; 25 | virtual int GetPairListForObject( void *pObject0, int nMaxCount, void **ppObjectList ) = 0; 26 | }; 27 | 28 | 29 | #endif // OBJECT_HASH_H 30 | -------------------------------------------------------------------------------- /public/vphysics/stats.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //=============================================================================// 6 | 7 | #ifndef STATS_H 8 | #define STATS_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | // internal counters to measure cost of physics simulation 14 | struct physics_stats_t 15 | { 16 | float maxRescueSpeed; 17 | float maxSpeedGain; 18 | 19 | int impactSysNum; 20 | int impactCounter; 21 | int impactSumSys; 22 | int impactHardRescueCount; 23 | int impactRescueAfterCount; 24 | int impactDelayedCount; 25 | int impactCollisionChecks; 26 | int impactStaticCount; 27 | 28 | double totalEnergyDestroyed; 29 | int collisionPairsTotal; 30 | int collisionPairsCreated; 31 | int collisionPairsDestroyed; 32 | 33 | int potentialCollisionsObjectVsObject; 34 | int potentialCollisionsObjectVsWorld; 35 | 36 | int frictionEventsProcessed; 37 | }; 38 | 39 | 40 | #endif // STATS_H 41 | -------------------------------------------------------------------------------- /public/vphysics/virtualmesh.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | //============================================================================= 6 | 7 | #ifndef VIRTUALMESH_H 8 | #define VIRTUALMESH_H 9 | #ifdef _WIN32 10 | #pragma once 11 | #endif 12 | 13 | // NOTE: These are fixed length to make it easy to fill these out without memory allocation or storage 14 | const int MAX_VIRTUAL_TRIANGLES = 1024; 15 | struct virtualmeshlist_t 16 | { 17 | Vector *pVerts; 18 | int indexCount; 19 | int triangleCount; 20 | int vertexCount; 21 | int surfacePropsIndex; 22 | byte *pHull; 23 | unsigned short indices[MAX_VIRTUAL_TRIANGLES*3]; 24 | }; 25 | 26 | struct virtualmeshtrianglelist_t 27 | { 28 | int triangleCount; 29 | unsigned short triangleIndices[MAX_VIRTUAL_TRIANGLES*3]; 30 | }; 31 | 32 | class IVirtualMeshEvent 33 | { 34 | public: 35 | virtual void GetVirtualMesh( void *userData, virtualmeshlist_t *pList ) = 0; 36 | virtual void GetWorldspaceBounds( void *userData, Vector *pMins, Vector *pMaxs ) = 0; 37 | virtual void GetTrianglesInSphere( void *userData, const Vector ¢er, float radius, virtualmeshtrianglelist_t *pList ) = 0; 38 | }; 39 | struct virtualmeshparams_t 40 | { 41 | IVirtualMeshEvent *pMeshEventHandler; 42 | void *userData; 43 | bool buildOuterHull; 44 | }; 45 | 46 | #endif // VIRTUALMESH_H 47 | -------------------------------------------------------------------------------- /public/vstdlib/cvar.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | 9 | #if !defined( CVAR_H ) 10 | #define CVAR_H 11 | #ifdef _WIN32 12 | #pragma once 13 | #endif 14 | 15 | #include "vstdlib/vstdlib.h" 16 | #include "icvar.h" 17 | 18 | 19 | //----------------------------------------------------------------------------- 20 | // Returns a CVar dictionary for tool usage 21 | //----------------------------------------------------------------------------- 22 | VSTDLIB_INTERFACE CreateInterfaceFn VStdLib_GetICVarFactory(); 23 | 24 | 25 | #endif // CVAR_H 26 | -------------------------------------------------------------------------------- /public/vstdlib/vstdlib.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | 9 | #ifndef VSTDLIB_H 10 | #define VSTDLIB_H 11 | 12 | #ifdef _WIN32 13 | #pragma once 14 | #endif 15 | 16 | #include "tier0/platform.h" 17 | 18 | //----------------------------------------------------------------------------- 19 | // dll export stuff 20 | //----------------------------------------------------------------------------- 21 | #ifdef VSTDLIB_DLL_EXPORT 22 | #define VSTDLIB_INTERFACE DLL_EXPORT 23 | #define VSTDLIB_OVERLOAD DLL_GLOBAL_EXPORT 24 | #define VSTDLIB_CLASS DLL_CLASS_EXPORT 25 | #define VSTDLIB_GLOBAL DLL_GLOBAL_EXPORT 26 | #else 27 | #define VSTDLIB_INTERFACE DLL_IMPORT 28 | #define VSTDLIB_OVERLOAD DLL_GLOBAL_IMPORT 29 | #define VSTDLIB_CLASS DLL_CLASS_IMPORT 30 | #define VSTDLIB_GLOBAL DLL_GLOBAL_IMPORT 31 | #endif 32 | 33 | #endif // VSTDLIB_H 34 | -------------------------------------------------------------------------------- /public/windows_default.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /public/winlite.h: -------------------------------------------------------------------------------- 1 | //========= Copyright Valve Corporation, All rights reserved. ============// 2 | // 3 | // Purpose: 4 | // 5 | // $NoKeywords: $ 6 | // 7 | //=============================================================================// 8 | 9 | #ifndef WINLITE_H 10 | #define WINLITE_H 11 | #pragma once 12 | 13 | #ifdef _WIN32 14 | // 15 | // Prevent tons of unused windows definitions 16 | // 17 | #ifndef WIN32_LEAN_AND_MEAN 18 | #define WIN32_LEAN_AND_MEAN 19 | #endif 20 | #define NOWINRES 21 | #define NOSERVICE 22 | #define NOMCX 23 | #define NOIME 24 | #if !defined( _X360 ) 25 | #pragma warning(push, 1) 26 | #pragma warning(disable: 4005) 27 | #include 28 | #pragma warning(pop) 29 | #endif 30 | #undef PostMessage 31 | 32 | #pragma warning( disable: 4800 ) // forcing value to bool 'true' or 'false' (performance warning) 33 | 34 | #endif // WIN32 35 | #endif // WINLITE_H 36 | -------------------------------------------------------------------------------- /vpc_scripts/default.vgc: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // DEFAULT.VGC 3 | // 4 | // Configurations for all Source(TM) Projects 5 | //----------------------------------------------------------------------------- 6 | 7 | //////////////// 8 | // Game Names // 9 | //////////////// 10 | 11 | $Games 12 | { 13 | "CSTRIKE" 14 | "HL2MP" 15 | } 16 | 17 | // Makes the VPC scripts work in the SDK's context 18 | $Conditional "SOURCESDK" "1" 19 | 20 | $Include "vpc_scripts\projects.vgc" 21 | $Include "vpc_scripts\groups.vgc" 22 | 23 | -------------------------------------------------------------------------------- /vpc_scripts/dllbase.txt: -------------------------------------------------------------------------------- 1 | engine 0x20000000 2 | server game 0x22000000 3 | client game 0x24000000 4 | vphysics 0x26000000 5 | materialsystem 0x28000000 6 | shaderapidx8 0x2a000000 7 | studiorender 0x2c000000 8 | 9 | ///////////////////////////////////// 10 | XBOX 360 MANDATORY BASE 0x82000000-0x8BFFFFFF, (1MB blocks) 11 | ADD EACH XBOX 360 PORTED DLL HERE 12 | ///////////////////////////////////// 13 | engine.360.dll 0x83000000 (16) 14 | gameui.360.dll 0x84100000 (5) 15 | client.360.dll 0x84700000 (?) 16 | server.360.dll 0x86000000 (?) 17 | 18 | tier0.360.dll 0x88000000 (2) 19 | vstdlib.360.dll 0x88200000 (2) 20 | filesystem_stdio.360.dll 0x88400000 (2) 21 | datacache.360.dll 0x88600000 (2) 22 | stdshader_dbg.360.dll 0x88800000 (2) 23 | stdshader_dx9.360.dll 0x88A00000 (3) 24 | vgui2.360.dll 0x88D30000 (2) 25 | inputsystem.360.dll 0x88F00000 (1) 26 | materialsystem.360.dll 0x89000000 (4) 27 | vguimatsurface.360.dll 0x89500000 (3) 28 | vphysics.360.dll 0x89A00000 (5) 29 | studiorender.360.dll 0x89F00000 (7) 30 | launcher.360.dll 0x8A600000 (2) 31 | shaderapidx9.360.dll 0x8A800000 (7) 32 | SoundEmitterSystem.360.dll 0x8AF00000 (2) 33 | SceneFileCache.360.dll 0x8B100000 (1) 34 | bsppack.360.dll 0x8B200000 (3) 35 | stdshader_dx8.360.dll 0x8B500000 (2) 36 | appchooser.360.dll 0x8B700000 (1) 37 | serverbrowser.360.dll 0x8B800000 (?) 38 | -------------------------------------------------------------------------------- /vpc_scripts/groups.vgc: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // GROUPS.VGC 3 | // 4 | // Group Configurations for all Source(TM) Projects 5 | //----------------------------------------------------------------------------- 6 | 7 | /////////////////////// 8 | // Group definitions // 9 | /////////////////////// 10 | 11 | $Group "gamedlls" 12 | { 13 | "client" 14 | "server" 15 | } 16 | 17 | $Group "game" 18 | { 19 | "client" 20 | "mathlib" 21 | "raytrace" 22 | "server" 23 | "tier1" 24 | "tier2" 25 | "tier3" 26 | "vgui_controls" 27 | } 28 | 29 | $Group "shaders" 30 | { 31 | "game_shader_dx9" 32 | } 33 | 34 | $Group "everything" 35 | { 36 | "captioncompiler" 37 | "client" 38 | "fgdlib" 39 | "game_shader_dx9" 40 | "glview" 41 | "height2normal" 42 | "mathlib" 43 | "motionmapper" 44 | "phonemeextractor" 45 | "raytrace" 46 | "qc_eyes" 47 | "server" 48 | "serverplugin_empty" 49 | "tgadiff" 50 | "tier1" 51 | "tier2" 52 | "tier3" 53 | "vbsp" 54 | "vgui_controls" 55 | "vice" 56 | "vrad_dll" 57 | "vrad_launcher" 58 | "vtf2tga" 59 | "vtfdiff" 60 | "vvis_dll" 61 | "vvis_launcher" 62 | } 63 | 64 | $Group "dedicated" 65 | { 66 | "mathlib" 67 | "server" 68 | "tier1" 69 | "tier2" 70 | "tier3" 71 | } 72 | 73 | $Group "launcher" 74 | { 75 | "appframework" 76 | "mathlib" 77 | "tier1" 78 | "tier2" 79 | "tier3" 80 | } 81 | -------------------------------------------------------------------------------- /vpc_scripts/platform_dirs.vpc: -------------------------------------------------------------------------------- 1 | $Macro PLATSUBDIR "\." [$WIN32] 2 | $Macro PLATSUBDIR "\x64" [$WIN64] 3 | $Macro PLATSUBDIR "\." [$X360] 4 | $Macro PLATSUBDIR "\linux32" [$LINUX32] 5 | $Macro PLATSUBDIR "\osx32" [$OSX32] 6 | -------------------------------------------------------------------------------- /vpc_scripts/protobuf_builder.vpc: -------------------------------------------------------------------------------- 1 | 2 | $MacroRequired GENERATED_PROTO_DIR 3 | 4 | $CustomBuildStep "proto" 5 | { 6 | $Description "Running Protocol Buffer Compiler on $(InputFileName)..." 7 | $CommandLine "if not exist $GENERATED_PROTO_DIR mkdir $GENERATED_PROTO_DIR" "\n" \ 8 | "$SRCDIR\gcsdk\bin\protoc.exe --proto_path=$SRCDIR\thirdparty\protobuf-2.3.0\src --proto_path=$(InputDir) --proto_path=$SRCDIR\gcsdk --cpp_out=$GENERATED_PROTO_DIR $(InputPath)" [$WINDOWS] 9 | $CommandLine "mkdir $GENERATED_PROTO_DIR 2> /dev/null;" \ 10 | "$SRCDIR/devtools/bin/osx32/protoc --proto_path=$SRCDIR\thirdparty\protobuf-2.3.0\src --proto_path=$(InputDir) --proto_path=$SRCDIR\gcsdk --cpp_out=$GENERATED_PROTO_DIR $(InputPath)" [$OSXALL] 11 | $CommandLine "mkdir $GENERATED_PROTO_DIR 2> /dev/null;" \ 12 | "$SRCDIR/gcsdk/bin/linux/protoc --proto_path=$SRCDIR\thirdparty\protobuf-2.3.0\src --proto_path=$(InputDir) --proto_path=$SRCDIR\gcsdk --cpp_out=$GENERATED_PROTO_DIR $(InputPath)" [$LINUXALL] 13 | $Outputs "$GENERATED_PROTO_DIR\$(InputName).pb.cc;$GENERATED_PROTO_DIR\$(InputName).pb.h" 14 | } 15 | 16 | 17 | $Configuration 18 | { 19 | $Compiler 20 | { 21 | // General 22 | $AdditionalIncludeDirectories "$BASE;$GENERATED_PROTO_DIR;$SRCDIR\thirdparty\protobuf-2.3.0\src" 23 | } 24 | } 25 | 26 | 27 | -------------------------------------------------------------------------------- /vpc_scripts/source_dll_base.vpc: -------------------------------------------------------------------------------- 1 | $MacroRequired "OUTDLLEXT" "$_DLL_EXT" 2 | $Include "$SRCDIR\vpc_scripts\platform_dirs.vpc" 3 | $include "$SRCDIR\vpc_scripts\source_base.vpc" 4 | 5 | $include "$SRCDIR\vpc_scripts\source_dll_posix_base.vpc" [$POSIX] 6 | $Include "$SRCDIR\vpc_scripts\source_dll_win32_base.vpc" [( $WIN32 || $WIN64 ) && !$POSIX] 7 | $Include "$SRCDIR\vpc_scripts\source_dll_x360_base.vpc" [$X360] 8 | $Include "$SRCDIR\vpc_scripts\source_ppu_prx_ps3_base.vpc" [$PS3] 9 | $Include "$SRCDIR\vpc_scripts\source_video_base.vpc" 10 | 11 | $Configuration 12 | { 13 | $General 14 | { 15 | $TargetExtension "$OUTDLLEXT" 16 | } 17 | 18 | $Compiler 19 | { 20 | $PreprocessorDefinitions "$BASE;DEV_BUILD" [!$PUBLISH] 21 | $PreprocessorDefinitions "$BASE;_PROFILE" [$PROFILE && !$RETAIL] 22 | $PreprocessorDefinitions "$BASE;RETAIL_ASSERTS" [$RETAIL && $RETAILASSERTS] 23 | $PreprocessorDefinitions "$BASE;FRAME_POINTER_OMISSION_DISABLED" // This is now always true. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vpc_scripts/source_dll_linux_base.vpc: -------------------------------------------------------------------------------- 1 | 2 | $Include "$SRCDIR\vpc_scripts\version.vpc" 3 | $Include "$SRCDIR\vpc_scripts\source_linux_base_project.vpc" 4 | 5 | $MacroRequired "OUTBINNAME" "$PROJECTNAME" 6 | $MacroRequired "OUTBINDIR" "$SRCDIR\..\game\bin" 7 | 8 | // General configuration info. 9 | $Configuration 10 | { 11 | $General 12 | { 13 | $ConfigurationType "Dynamic Library (.dll)" 14 | $OutputFile "$(OBJ_DIR)/$OUTBINNAME$_DLL_EXT" 15 | $GameOutputFile "$OUTBINDIR/$OUTBINNAME$_DLL_EXT" 16 | } 17 | 18 | $Compiler 19 | { 20 | $PreprocessorDefinitions "$BASE;RAD_TELEMETRY_DISABLED" [$SOURCESDK ] 21 | } 22 | } 23 | 24 | // Skeleton Project - All derived projects get this as a starting base 25 | $Project 26 | { 27 | $Folder "Source Files" 28 | { 29 | $File "$SRCDIR\public\tier0\memoverride.cpp" 30 | { 31 | $Configuration 32 | { 33 | $Compiler 34 | { 35 | $Create/UsePrecompiledHeader "Not Using Precompiled Headers" 36 | } 37 | } 38 | } 39 | } 40 | 41 | $Folder "Resources" 42 | { 43 | $File "$ROOTSCRIPT" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /vpc_scripts/source_dll_posix_base.vpc: -------------------------------------------------------------------------------- 1 | 2 | $Include "$SRCDIR\vpc_scripts\version.vpc" 3 | $Include "$SRCDIR\vpc_scripts\source_posix_base.vpc" 4 | 5 | 6 | $MacroRequired "OUTBINNAME" "$PROJECTNAME" 7 | $MacroRequired "OUTBINDIR" "$SRCDIR\..\game\bin" 8 | 9 | 10 | // General configuration info. 11 | $Configuration 12 | { 13 | $General 14 | { 15 | $ConfigurationType "Dynamic Library (.dll)" 16 | $GameOutputFile "$OUTBINDIR/$OUTBINNAME$OUTDLLEXT" 17 | } 18 | 19 | $Compiler 20 | { 21 | $PreprocessorDefinitions "$BASE;DLLNAME=$OUTBINNAME" 22 | } 23 | 24 | $Linker 25 | { 26 | $OutputFile "$(OBJ_DIR)/$OUTBINNAME$OUTDLLEXT" 27 | } 28 | } 29 | 30 | // Skeleton Project - All derived projects get this as a starting base 31 | $Project 32 | { 33 | $Folder "Source Files" 34 | { 35 | $File "$SRCDIR\public\tier0\memoverride.cpp" 36 | { 37 | $Configuration 38 | { 39 | $Compiler 40 | { 41 | $Create/UsePrecompiledHeader "Not Using Precompiled Headers" 42 | } 43 | } 44 | } 45 | } 46 | 47 | $Folder "Resources" 48 | { 49 | $File "$ROOTSCRIPT" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /vpc_scripts/source_dll_qt_base.vpc: -------------------------------------------------------------------------------- 1 | //===================== Copyright (c) Valve Corporation. All Rights Reserved. ====================== 2 | // 3 | //================================================================================================== 4 | 5 | $Macro QT_ROOT "$SRCDIR\thirdparty\lgpl\qt" 6 | 7 | $Include "$SRCDIR\vpc_scripts\source_dll_base.vpc" 8 | $Include "$SRCDIR\vpc_scripts\qt_base.vpc" 9 | 10 | $Configuration 11 | { 12 | $Compiler 13 | { 14 | $AdditionalIncludeDirectories "$BASE;.\;$SRCDIR\game\shared;$QT_ROOT\include;.\$QT_TARGET_SUBDIR" 15 | $PreprocessorDefinitions "$BASE;QT_LARGEFILE_SUPPORT;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT" 16 | $DisableSpecificWarnings "4127;4512;$BASE" 17 | 18 | // Causes a bunch of bogus compiler warnings for now; let's disable it 19 | $Detect64bitPortabilityIssues "No" 20 | } 21 | } 22 | 23 | $Configuration "Release" 24 | { 25 | $Compiler 26 | { 27 | $PreprocessorDefinitions "$BASE;QT_NO_DEBUG" 28 | } 29 | } 30 | 31 | $Project 32 | { 33 | $Folder "Link Libraries" [$QTDEBUG] 34 | { 35 | $Lib "$QT_ROOT\lib\qtcored4" 36 | $Lib "$QT_ROOT\lib\qtguid4" 37 | } 38 | 39 | $Folder "Link Libraries" [!$QTDEBUG] 40 | { 41 | $Lib "$QT_ROOT\lib\qtcore4" 42 | $Lib "$QT_ROOT\lib\qtgui4" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /vpc_scripts/source_exe_base.vpc: -------------------------------------------------------------------------------- 1 | $Include "$SRCDIR\vpc_scripts\platform_dirs.vpc" 2 | $include "$SRCDIR\vpc_scripts\source_base.vpc" 3 | 4 | $Include "$SRCDIR\vpc_scripts\source_exe_posix_base.vpc" [$POSIX] 5 | $Include "$SRCDIR\vpc_scripts\source_exe_win_win32_base.vpc" [$WIN32 || $WIN64] 6 | $Include "$SRCDIR\vpc_scripts\source_xex_x360_base.vpc" [$X360] 7 | $Include "$SRCDIR\vpc_scripts\source_ppu_elf_ps3_base.vpc" [$PS3] 8 | 9 | $Include "$SRCDIR\vpc_scripts\source_video_base.vpc" 10 | 11 | $Configuration 12 | { 13 | $Compiler 14 | { 15 | $PreprocessorDefinitions "$BASE;DEV_BUILD" [!$PUBLISH] 16 | $PreprocessorDefinitions "$BASE;_PROFILE" [$PROFILE && !$RETAIL] 17 | $PreprocessorDefinitions "$BASE;RETAIL_ASSERTS" [$RETAIL && $RETAILASSERTS] 18 | $PreprocessorDefinitions "$BASE;FRAME_POINTER_OMISSION_DISABLED" // This is now always true. 19 | } 20 | } -------------------------------------------------------------------------------- /vpc_scripts/source_exe_con_base.vpc: -------------------------------------------------------------------------------- 1 | $Include "$SRCDIR\vpc_scripts\platform_dirs.vpc" 2 | $include "$SRCDIR\vpc_scripts\source_base.vpc" 3 | 4 | 5 | $Include "$SRCDIR\vpc_scripts\source_exe_con_win32_base.vpc" [$WINDOWS] 6 | $Include "$SRCDIR\vpc_scripts\source_exe_posix_base.vpc" [$POSIX] 7 | $Include "$SRCDIR\vpc_scripts\source_xex_x360_base.vpc" [$X360] 8 | 9 | $Configuration 10 | { 11 | $Compiler 12 | { 13 | $PreprocessorDefinitions "$BASE;DEV_BUILD" [!$PUBLISH] 14 | $PreprocessorDefinitions "$BASE;_PROFILE" [$PROFILE && !$RETAIL] 15 | $PreprocessorDefinitions "$BASE;RETAIL_ASSERTS" [$RETAIL && $RETAILASSERTS] 16 | $PreprocessorDefinitions "$BASE;FRAME_POINTER_OMISSION_DISABLED" // This is now always true. 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vpc_scripts/source_exe_con_win32_base.vpc: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // SOURCE_EXE_CON_WIN32_BASE.VPC 3 | // 4 | // Base Settings for all Source(TM) Projects 5 | //----------------------------------------------------------------------------- 6 | 7 | $IgnoreRedundancyWarning "ON" 8 | $MacroRequired "SRCDIR" 9 | $MacroRequired "OUTBINDIR" 10 | $MacroRequired "PLATSUBDIR" 11 | 12 | 13 | $Include "$SRCDIR\vpc_scripts\source_exe_win_win32_base.vpc" 14 | 15 | $Configuration 16 | { 17 | $General 18 | { 19 | $TargetName "$OUTBINNAME" 20 | } 21 | 22 | $Linker 23 | { 24 | $SubSystem "Console (/SUBSYSTEM:CONSOLE)" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vpc_scripts/source_exe_qt_base.vpc: -------------------------------------------------------------------------------- 1 | // call up either the posix or win32 vpc file based upon target platform 2 | 3 | //$Include "$SRCDIR\vpc_scripts\source_exe_qt_linux_base.vpc" [$POSIX] 4 | $Include "$SRCDIR\vpc_scripts\source_exe_qt_win32_base.vpc" [$WIN32 || $WIN64] 5 | -------------------------------------------------------------------------------- /vpc_scripts/source_exe_qt_con_base.vpc: -------------------------------------------------------------------------------- 1 | // base file for a console app with qt. win32 only for now. CG: I'm not 100% sure this is the right definition, 2 | // but I'm moving the logic here so it doesn't end up pasted into every such app. 3 | 4 | $Include "$SRCDIR\vpc_scripts\source_exe_qt_win32_base.vpc" 5 | 6 | $Configuration 7 | { 8 | $Linker 9 | { 10 | $SubSystem "Console (/SUBSYSTEM:CONSOLE)" 11 | } 12 | $Compiler 13 | { 14 | $AdditionalIncludeDirectories "$BASE,..\common" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /vpc_scripts/source_lib_base.vpc: -------------------------------------------------------------------------------- 1 | $Include "$SRCDIR\vpc_scripts\platform_dirs.vpc" 2 | $include "$SRCDIR\vpc_scripts\source_base.vpc" 3 | 4 | $MacroRequired OUTLIBDIR "$SRCDIR\lib\public$PLATSUBDIR" 5 | 6 | $include "$SRCDIR\vpc_scripts\source_lib_posix_base.vpc" [$POSIX] 7 | $include "$SRCDIR\vpc_scripts\source_lib_win32_base.vpc" [$WIN32 || $WIN64] 8 | $include "$SRCDIR\vpc_scripts\source_lib_x360_base.vpc" [$X360] 9 | $include "$SRCDIR\vpc_scripts\source_ppu_lib_ps3_base.vpc" [$PS3] 10 | 11 | $include "$SRCDIR\vpc_scripts\source_video_base.vpc" 12 | 13 | $Configuration 14 | { 15 | $Compiler 16 | { 17 | $PreprocessorDefinitions "$BASE;DEV_BUILD" [!$PUBLISH] 18 | $PreprocessorDefinitions "$BASE;_PROFILE" [$PROFILE && !$RETAIL] 19 | $PreprocessorDefinitions "$BASE;RETAIL_ASSERTS" [$RETAIL && $RETAILASSERTS] 20 | $PreprocessorDefinitions "$BASE;FRAME_POINTER_OMISSION_DISABLED" // This is now always true. 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /vpc_scripts/source_lib_linux_base.vpc: -------------------------------------------------------------------------------- 1 | $Macro IS_LIB_PROJECT "1" 2 | $Include "$SRCDIR\vpc_scripts\source_linux_base_project.vpc" 3 | $MacroRequired "OUTLIBNAME" "$PROJECTNAME" 4 | 5 | $Configuration 6 | { 7 | $Compiler 8 | { 9 | $PreprocessorDefinitions "$BASE;LIBNAME=$OUTLIBNAME" 10 | $PreprocessorDefinitions "$BASE;RAD_TELEMETRY_DISABLED" [$SOURCESDK] 11 | } 12 | 13 | $General 14 | { 15 | $ConfigurationType "Static Library (.lib)" 16 | } 17 | 18 | $Linker 19 | { 20 | $OutputFile "$OUTLIBDIR/$OUTLIBNAME$_STATICLIB_EXT" 21 | } 22 | } 23 | 24 | $Project 25 | { 26 | $Folder "Source Files" 27 | { 28 | $File "$SRCDIR\common\debug_lib_check.cpp" [!$SOURCESDK] 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /vpc_scripts/source_lib_posix_base.vpc: -------------------------------------------------------------------------------- 1 | 2 | $MacroRequired "OUTLIBNAME" "$PROJECTNAME" 3 | $Macro IS_LIB_PROJECT "1" 4 | 5 | $Include "$SRCDIR\vpc_scripts\source_posix_base.vpc" 6 | 7 | $Configuration 8 | { 9 | $General 10 | { 11 | $ConfigurationType "Static Library (.lib)" 12 | $GameOutputFile "$OUTLIBDIR/$OUTLIBNAME$_STATICLIB_EXT" 13 | } 14 | 15 | $Linker 16 | { 17 | $OutputFile "$OUTLIBDIR/$OUTLIBNAME$_STATICLIB_EXT" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vpc_scripts/source_lib_qt_base.vpc: -------------------------------------------------------------------------------- 1 | // include either the windows base or the currently non-existing ones for other platforms 2 | $include "$SRCDIR\vpc_scripts\source_lib_qt_win32_base.vpc" 3 | -------------------------------------------------------------------------------- /vpc_scripts/source_lib_qt_win32_base.vpc: -------------------------------------------------------------------------------- 1 | //===================== Copyright (c) Valve Corporation. All Rights Reserved. ====================== 2 | // 3 | //================================================================================================== 4 | 5 | $Macro QT_ROOT "$SRCDIR\thirdparty\lgpl\qt" 6 | 7 | $Include "$SRCDIR\vpc_scripts\source_lib_base.vpc" 8 | $Include "$SRCDIR\vpc_scripts\qt_base.vpc" 9 | 10 | $Configuration 11 | { 12 | $Compiler 13 | { 14 | $AdditionalIncludeDirectories "$BASE;.\;$SRCDIR\game\shared;$QT_ROOT\include;.\$QT_TARGET_SUBDIR" 15 | $PreprocessorDefinitions "$BASE;QT_LARGEFILE_SUPPORT;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT" 16 | $PreprocessorDefinitions "$BASE;QT_NO_DEBUG" [!$QTDEBUG] 17 | $DisableSpecificWarnings "4127;4512;$BASE" 18 | 19 | // Causes a bunch of bogus compiler warnings for now; let's disable it 20 | $Detect64bitPortabilityIssues "No" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /vpc_scripts/source_mll_qt_base.vpc: -------------------------------------------------------------------------------- 1 | //====== Copyright (c) 1996-2010, Valve Corporation, All rights reserved. ===== 2 | // 3 | // Maya Plugin For Win32 - Same As source_dll_qt_win32_base.vpc except: 4 | // * QT_ROOT is left unspecified, the part VPC script needs to define it 5 | // as it varies with the version of Maya 6 | // * QT_NO_DEBUG is always defined. 7 | // * Only release versions of Qt libraries are linked 8 | // Maya is linked with release Qt libs, linking a plug-in with debug 9 | // libs will crash when a Qt widget is created 10 | // 11 | //============================================================================= 12 | 13 | $MacroRequired "QT_ROOT" 14 | 15 | $Include "$SRCDIR\vpc_scripts\source_dll_base.vpc" 16 | $Include "$SRCDIR\vpc_scripts\qt_base.vpc" 17 | 18 | $Configuration 19 | { 20 | $Compiler 21 | { 22 | $AdditionalIncludeDirectories "$BASE;.\;$QT_ROOT\include;.\$QT_TARGET_SUBDIR" 23 | $PreprocessorDefinitions "$BASE;QT_LARGEFILE_SUPPORT;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;QT_NO_DEBUG" 24 | $DisableSpecificWarnings "4127;4512;$BASE" 25 | } 26 | } 27 | 28 | $Project 29 | { 30 | $Folder "Link Libraries" 31 | { 32 | $Lib "$QT_ROOT\lib\qtcore4" 33 | $Lib "$QT_ROOT\lib\qtgui4" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vpc_scripts/version.vpc: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // VERSION.VPC 3 | // 4 | // Version tag for VPC scripts. All base scripts include this file first. 5 | //----------------------------------------------------------------------------- 6 | 7 | // This version tag serves as a critical safeguard to ensure all vcproj's can 8 | // be forced to rebuild. Changing the version or anything about this 9 | // file will cause the CRC checking to fail, and thus cause a rebuild. 10 | 11 | // DO NOT CHANGE THIS UNLESS YOU !!!REALLY!!! NEED TO FORCE EVERY SINGLE VCPROJ TO REGENERATE 12 | $Macro "InternalVersion" "104" -------------------------------------------------------------------------------- /vstdlib/vstdlib_exclude.vpc: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // vstdlib_exclude.vpc 3 | // 4 | // Project Script 5 | //----------------------------------------------------------------------------- 6 | 7 | $MacroRequired "PLATSUBDIR" 8 | 9 | $Project 10 | { 11 | $Folder "Link Libraries" 12 | { 13 | -$Implib vstdlib [$POSIX] 14 | -$File "$SRCDIR\lib\public\$_IMPLIB_PREFIXvstdlib$_IMPLIB_EXT" [$WIN32] 15 | -$File "$SRCDIR\lib\public$PLATSUBDIR\$_IMPLIB_PREFIXvstdlib$_IMPLIB_EXT" [$WIN64] 16 | -$File "$SRCDIR\lib\public\vstdlib_360.lib" [$X360] 17 | } 18 | } 19 | --------------------------------------------------------------------------------