ok, i've gotten back to work with the new csPython, and i need an explanation of a couple of things:
i see that iScript::Initialize() is now deprecated. what i don't understand is why. in fact, i can't quite track down where it's called. is this an scf thing (eg - an scf macro implicitly calls iFoo::Initialize when you tell it about iFoo)? and while i'm on the subject, is there someone out there who can offer help with switching csPython from the scf macro's to the scf template functions? it's something that ought to be done sooner or later, but i don't want to deal with the headache -- i tried to start doing this, but it just didn't work and it wasn't worth it to make it work when the macros were already in place and working. my understanding of scf is very minimal. help would be appreciated.
also, i'm at a stage now where i've implemented many of oktal's proposed changes, and it would be nice to see all those overloaded functions in iScript/iScriptObject get deleted, BUT: doing so seems to really badly break
cspyth.cpp, which is generated by swig. i don't even understand why this happens, but needless to say it's annoying. is there anyone who can help out with the swig end of things here so the new csPython can move forward more fully into the proposed iScript mold?
and lastly:
in the proposed method bool csPython::Store (const char *name, csRef<iScriptValue> value)
csPython must have access to the literal value stored in the iScriptValue, because it might be an object (value->GetXxx() could be called in other cases, though getting to there is still clunky and setting the literal value directly would be much quicker). obviously, since this is a pointer to the interface, it is necessary to put something in the interface that can do this. to that effect, i've added void* iScriptValue::GetLiteral(), which returns a pointer to the internal language-specific data type. can someone tell me if i've missed something huge that makes this bad/unnecessary? otherwise, it seems wise to add GetLiteral to iScriptValue and iScriptObject, and i suppose setters could make sense also, though i have yet to encounter a real need.
- [CsMain] csPython & iScript Neutral Robot Boy
- Re: [CsMain] csPython & iScript res
- Re: [CsMain] csPython & iScript Mathew Sutcliffe
- Re: [CsMain] csPython & iScript Neutral Robot Boy
- Re: [CsMain] csPython & iScript Neutral Robot Boy
