--
[ Picked text/plain from multipart/alternative ]
I've already based my mod of the code, and oddly it works fine, yet I have
no apparent crashes.

On Jan 24, 2008 10:37 PM, Garrett <[EMAIL PROTECTED]> wrote:

> --
> [ Picked text/plain from multipart/alternative ]
> So I put in this workaround on a fresh OB mod, but when I go to start a
> map, I get a crash in vstdlib.dll during the "Loading Resources..." part.
>
> ----- Original Message ----
> From: Mike Durand <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Thursday, January 24, 2008 10:04:33 PM
> Subject: [hlcoders] Workarounds for SDK Source
>
>
> Hi All-
>
> Due to the fact that public Steam has an earlier version of the Orange
>  Box engine binaries than the Steam instance I tested against you will
>  need to make these modifications in order for your mod to run. My
>  apologies for the screw-up and I'll update the SDK with these and some
> other
>  fixes tomorrow.
>
> Many thanks to Omega for his help in diagnosing and fixing this!
>
> ==Step 1==
> Change the existing implementation of bool
>  CParticleMgr::EarlyRetireParticleSystems  in particlemgr.cpp to this:
>
> bool CParticleMgr::EarlyRetireParticleSystems( int nCount,
>  CNewParticleEffect **ppEffects )
> {
>    return false;
> }
>
> ==Step 2==
> Replace the existing implementation of IVRenderView in ivrenderview.h
>  with this one:
>
> class IVRenderView
> {
> public:
>
>    // Draw normal brush model.
>    // If pMaterialOverride is non-null, then all the faces of the
>  bmodel will
>    // set this material rather than their regular material.
>    virtual void            DrawBrushModel(
>        IClientEntity *baseentity,
>        model_t *model,
>        const Vector& origin,
>        const QAngle& angles,
>        bool sort ) = 0;
>
>    // Draw brush model that has no origin/angles change ( uses
>  identity transform )
>    // FIXME, Material proxy IClientEntity *baseentity is unused right
>  now, use DrawBrushModel for brushes with
>    //  proxies for now.
>    virtual void            DrawIdentityBrushModel( IWorldRenderList
>  *pList, model_t *model ) = 0;
>
>    // Mark this dynamic light as having changed this frame ( so light
>  maps affected will be recomputed )
>    virtual void            TouchLight( struct dlight_t *light ) = 0;
>    // Draw 3D Overlays
>    virtual void            Draw3DDebugOverlays( void ) = 0;
>    // Sets global blending fraction
>    virtual void            SetBlend( float blend ) = 0;
>    virtual float            GetBlend( void ) = 0;
>
>    // Sets global color modulation
>    virtual void            SetColorModulation( float const* blend ) =
>  0;
>    virtual void            GetColorModulation( float* blend ) = 0;
>
>    // Wrap entire scene drawing
>    virtual void            SceneBegin( void ) = 0;
>    virtual void            SceneEnd( void ) = 0;
>
>    // Gets the fog volume for a particular point
>    virtual void            GetVisibleFogVolume( const Vector&
>  eyePoint, VisibleFogVolumeInfo_t *pInfo ) = 0;
>
>    // Wraps world drawing
>    // If iForceViewLeaf is not -1, then it uses the specified leaf as
>  your starting area for setting up area portal culling.
>    // This is used by water since your reflected view origin is often
>  in solid space, but we still want to treat it as though
>    // the first portal we're looking out of is a water portal, so our
>  view effectively originates under the water.
>    virtual IWorldRenderList * CreateWorldList() = 0;
>
>    virtual void            BuildWorldLists( IWorldRenderList *pList,
>  WorldListInfo_t* pInfo, int iForceFViewLeaf, const VisOverrideData_t*
>  pVisData = NULL, bool bShadowDepth = false, float *pReflectionWaterHeight
>  = NULL ) = 0;
>    virtual void            DrawWorldLists( IWorldRenderList *pList,
>  unsigned long flags, float waterZAdjust ) = 0;
>
>    // Optimization for top view
>    virtual void            DrawTopView( bool enable ) = 0;
>    virtual void            TopViewBounds( Vector2D const& mins,
>  Vector2D const& maxs ) = 0;
>
>    // Draw lights
>    virtual void            DrawLights( void ) = 0;
>    // FIXME:  This function is a stub, doesn't do anything in the
>  engine right now
>    virtual void            DrawMaskEntities( void ) = 0;
>
>    // Draw surfaces with alpha
>    virtual void            DrawTranslucentSurfaces( IWorldRenderList
>  *pList, int sortIndex, unsigned long flags, bool bShadowDepth ) = 0;
>
>    // Draw Particles ( just draws the linefine for debugging map leaks
>  )
>    virtual void            DrawLineFile( void ) = 0;
>    // Draw lightmaps
>    virtual void            DrawLightmaps( IWorldRenderList *pList, int
>  pageId ) = 0;
>    // Wraps view render sequence, sets up a view
>    virtual void            ViewSetupVis( bool novis, int numorigins,
>  const Vector origin[] ) = 0;
>
>    // Return true if any of these leaves are visible in the current
>  PVS.
>    virtual bool            AreAnyLeavesVisible( int *leafList, int
>  nLeaves ) = 0;
>
>    virtual    void            VguiPaint( void ) = 0;
>    // Sets up view fade parameters
>    virtual void            ViewDrawFade( byte *color, IMaterial
>  *pMaterial ) = 0;
>    // Sets up the projection matrix for the specified field of view
>    virtual void            SetProjectionMatrix( float fov, float
>  zNear, float zFar ) = 0;
>    // Determine lighting at specified position
>    virtual colorVec        GetLightAtPoint( Vector& pos ) = 0;
>    // Whose eyes are we looking through?
>    virtual int                GetViewEntity( void ) = 0;
>    // Get engine field of view setting
>    virtual float            GetFieldOfView( void ) = 0;
>    // 1 == ducking, 0 == not
>    virtual unsigned char    **GetAreaBits( void ) = 0;
>
>    // Set up fog for a particular leaf
>    virtual void            SetFogVolumeState( int nVisibleFogVolume,
>  bool bUseHeightFog ) = 0;
>
>    // Installs a brush surface draw override method, null means use
>  normal renderer
>    virtual void            InstallBrushSurfaceRenderer(
>  IBrushRenderer* pBrushRenderer ) = 0;
>
>    // Draw brush model shadow
>    virtual void            DrawBrushModelShadow( IClientRenderable
>  *pRenderable ) = 0;
>
>    // Does the leaf contain translucent surfaces?
>    virtual    bool            LeafContainsTranslucentSurfaces(
>  IWorldRenderList *pList, int sortIndex, unsigned long flags ) = 0;
>
>    virtual bool            DoesBoxIntersectWaterVolume( const Vector
>  &mins, const Vector &maxs, int leafWaterDataID ) = 0;
>
>    virtual void            SetAreaState(
>            unsigned char chAreaBits[MAX_AREA_STATE_BYTES],
>            unsigned char chAreaPortalBits[MAX_AREA_PORTAL_STATE_BYTES]
>  ) = 0;
>
>    // See i
>    virtual void            VGui_Paint( int mode ) = 0;
>
>    // Push, pop views (see PushViewFlags_t above for flags)
>    virtual void            Push3DView( const CViewSetup &view, int
>  nFlags, ITexture* pRenderTarget, Frustum frustumPlanes ) = 0;
>    virtual void            Push2DView( const CViewSetup &view, int
>  nFlags, ITexture* pRenderTarget, Frustum frustumPlanes ) = 0;
>    virtual void            PopView( Frustum frustumPlanes ) = 0;
>
>    // Sets the main view
>    virtual void            SetMainView( const Vector &vecOrigin, const
>  QAngle &angles ) = 0;
>
>    enum
>    {
>         VIEW_SETUP_VIS_EX_RETURN_FLAGS_USES_RADIAL_VIS = 0x00000001
>    };
>
>    // Wraps view render sequence, sets up a view
>    virtual void            ViewSetupVisEx( bool novis, int numorigins,
>  const Vector origin[], unsigned int &returnFlags ) = 0;
>
>    //replaces the current view frustum with a rhyming replacement of
>  your choice
>    virtual void            OverrideViewFrustum( Frustum custom ) = 0;
>
>    virtual void            DrawBrushModelShadowDepth( IClientEntity
>  *baseentity, model_t *model, const Vector& origin, const QAngle& angles,
>  bool bSort ) = 0;
>    virtual void            UpdateBrushModelLightmap( model_t *model,
>  IClientRenderable *pRenderable ) = 0;
>    virtual void            BeginUpdateLightmaps( void ) = 0;
>    virtual void            EndUpdateLightmaps( void ) = 0;
>
>    virtual void            SetOffCenterProjectionMatrix( float fov,
>  float zNear, float zFar, float flAspectRatio,
>                                                        float flBottom,
>  float flTop, float flLeft, float flRight ) = 0;
>    virtual void            SetProjectionMatrixOrtho( float left, float
>  top, float right, float bottom, float zNear, float zFar ) = 0;
>
>    virtual void            Push3DView( const CViewSetup &view, int
>  nFlags, ITexture* pRenderTarget, Frustum frustumPlanes, ITexture*
>  pDepthTexture ) = 0;
> };
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
>  please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
>
>
>
>
>
>
>  
> ____________________________________________________________________________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile.  Try it now.
> http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
> --
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>


--
Gear Dev
--

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to