Talk:AVI Materials: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
Hmm, from the looks of this, this has potential for opening up a whole new phenomenon: Virtual movie piracy. Could it be handled like SHOUTcast radio perhaps? :P --[[User:Andreasen|Andreasen]] 21:07, 11 Sep 2006 (PDT)
Hmm, from the looks of this, this has potential for opening up a whole new phenomenon: Virtual movie piracy. Could it be handled like SHOUTcast radio perhaps? :P --[[User:Andreasen|Andreasen]] 21:07, 11 Sep 2006 (PDT)
: Yeah, I'd love to see someone do a drive-in theatre mod, with a real movie playing on the screen that you and your friends were watching at the same time.  You could spawn zombies during the slow parts, and someone could model a pretty great Havok-enabled box of popcorn to spill.  :-)  --[[User:Ndnichols|Ndnichols]] 07:52, 12 Sep 2006 (PDT)
: Yeah, I'd love to see someone do a drive-in theatre mod, with a real movie playing on the screen that you and your friends were watching at the same time.  You could spawn zombies during the slow parts, and someone could model a pretty great Havok-enabled box of popcorn to spill.  :-)  --[[User:Ndnichols|Ndnichols]] 07:52, 12 Sep 2006 (PDT)
::Thanks for the great tutorial Ndnichols!
::I am only experiencing 1 error which is an abstract class error. I sent you an email but ill copy the contents here In case it slips through the cracks or if anyone else has a solution for what appears to be a simple problem.
::Seems to be the only warning/error aswell and it might have something to do with imaterialproxy.cpp in the Client codes.
::I should note i am using Orangebox engine however that shouldn't make a huge difference, although i am also using VC2008 Express to Compile the source so that might be my issue..
:
::Anyway here is the only error i'm coming across;
::<nowiki>-----------------------------------------------------------------</nowiki>
::<nowiki>5>c:\src\game\client\AVIMaterialProxy.h(74) : error C2259 : 'CAviMaterialProxy' : cannot instantiate abstract class</nowiki>
::<nowiki>5>        due to following members:</nowiki>
::<nowiki>5>        'IMaterial *IMaterialProxy::GetMaterial(void)' : is abstract</nowiki>
::<nowiki>5>        c:\src\public\materialsystem/IMaterialProxy.h(25) : see</nowiki>
::<nowiki>declaration of 'IMaterialProxy::GetMaterial'</nowiki>
::<nowiki>-----------------------------------------------------------------</nowiki>
:
:
::This error is coming from around line 70 in AVIMaterialProxy.h;
::<nowiki>-----------------------------------------------------------------</nowiki>
::<nowiki>EXPOSE_INTERFACE( CAviMaterialProxy, IMaterialProxy, "AviRenderer"</nowiki>
::<nowiki>IMATERIAL_PROXY_INTERFACE_VERSION );</nowiki>
::<nowiki>-----------------------------------------------------------------</nowiki>
:
:
::and the declaration of 'IMaterialProxy::GetMaterial' is;
::<nowiki>-----------------------------------------------------------------</nowiki>
::<nowiki>abstract_class IMaterialProxy</nowiki>
::<nowiki>{</nowiki>
::<nowiki>public:</nowiki>
::<nowiki>      virtual bool Init( IMaterial* pMaterial, KeyValues *pKeyValues ) = 0;</nowiki>
::<nowiki>      virtual void OnBind( void * ) = 0;</nowiki>
::<nowiki>      virtual void Release() = 0;</nowiki>
::<nowiki>      virtual IMaterial *    GetMaterial() = 0; // This line is new to Orangebox...</nowiki>
:
::<nowiki>protected:</nowiki>
::<nowiki>      // no one should call this directly</nowiki>
::<nowiki>      virtual ~IMaterialProxy() {}</nowiki>
::<nowiki>};</nowiki>
::<nowiki>-----------------------------------------------------------------</nowiki>
:
::Where i've written // This line is new to Orangebox...
::Is where its stuffing up i think, when i comment out virtual IMaterial* GetMaterial() = 0;
::your codes then work without errors however it breaks just about every other proxy cpp in the Source engine
::(same abstract class error when its not commented, but not on your files on Valve's)
:
::Any help would be much appreciated
:
::Thanks for the codes man, and thanks in advance :)
::--[[User:Jenkins08|Jenkins08]] 14:45, 4 April 2009 (UTC)

Revision as of 07:45, 4 April 2009

Hmm, from the looks of this, this has potential for opening up a whole new phenomenon: Virtual movie piracy. Could it be handled like SHOUTcast radio perhaps? :P --Andreasen 21:07, 11 Sep 2006 (PDT)

Yeah, I'd love to see someone do a drive-in theatre mod, with a real movie playing on the screen that you and your friends were watching at the same time. You could spawn zombies during the slow parts, and someone could model a pretty great Havok-enabled box of popcorn to spill.  :-) --Ndnichols 07:52, 12 Sep 2006 (PDT)
Thanks for the great tutorial Ndnichols!
I am only experiencing 1 error which is an abstract class error. I sent you an email but ill copy the contents here In case it slips through the cracks or if anyone else has a solution for what appears to be a simple problem.
Seems to be the only warning/error aswell and it might have something to do with imaterialproxy.cpp in the Client codes.
I should note i am using Orangebox engine however that shouldn't make a huge difference, although i am also using VC2008 Express to Compile the source so that might be my issue..
Anyway here is the only error i'm coming across;
-----------------------------------------------------------------
5>c:\src\game\client\AVIMaterialProxy.h(74) : error C2259 : 'CAviMaterialProxy' : cannot instantiate abstract class
5> due to following members:
5> 'IMaterial *IMaterialProxy::GetMaterial(void)' : is abstract
5> c:\src\public\materialsystem/IMaterialProxy.h(25) : see
declaration of 'IMaterialProxy::GetMaterial'
-----------------------------------------------------------------
This error is coming from around line 70 in AVIMaterialProxy.h;
-----------------------------------------------------------------
EXPOSE_INTERFACE( CAviMaterialProxy, IMaterialProxy, "AviRenderer"
IMATERIAL_PROXY_INTERFACE_VERSION );
-----------------------------------------------------------------
and the declaration of 'IMaterialProxy::GetMaterial' is;
-----------------------------------------------------------------
abstract_class IMaterialProxy
{
public:
virtual bool Init( IMaterial* pMaterial, KeyValues *pKeyValues ) = 0;
virtual void OnBind( void * ) = 0;
virtual void Release() = 0;
virtual IMaterial * GetMaterial() = 0; // This line is new to Orangebox...
protected:
// no one should call this directly
virtual ~IMaterialProxy() {}
};
-----------------------------------------------------------------
Where i've written // This line is new to Orangebox...
Is where its stuffing up i think, when i comment out virtual IMaterial* GetMaterial() = 0;
your codes then work without errors however it breaks just about every other proxy cpp in the Source engine
(same abstract class error when its not commented, but not on your files on Valve's)
Any help would be much appreciated
Thanks for the codes man, and thanks in advance :)
--Jenkins08 14:45, 4 April 2009 (UTC)