New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms); - bevel_center by Loic Berthe, suggested for inclusion by jms; - doc_browser, by Daniel Dunbar (Zr) Thanks to them for the new contributions! (I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'. Opinions?) BPython related: - Added scriptlink methods to object, lamp, camera and world. - Object: added object.makeTrack and object.clearTrack (old track method). - sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither. - doc updates and fixes. - made ONLOAD event work. G.f's SCENESCRIPT bit was being zeroed in set_app_data. - Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...) - Draw: added mouse wheel events. - Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A). Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate". The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode. It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender. Loading after the program is up has no such problems. When I finish I'll post examples of demo mode scripts.
This commit is contained in:
@@ -325,12 +325,13 @@ PyTypeObject Button_Type = {
|
||||
(reprfunc) Button_repr, /*tp_repr */
|
||||
};
|
||||
|
||||
|
||||
static void Button_dealloc (PyObject *self)
|
||||
{
|
||||
Button *but = (Button *) self;
|
||||
|
||||
if (but->type == 3) MEM_freeN (but->val.asstr);
|
||||
if (but->type == 3) {
|
||||
if (but->val.asstr) MEM_freeN (but->val.asstr);
|
||||
}
|
||||
|
||||
PyObject_DEL (self);
|
||||
}
|
||||
@@ -1008,7 +1009,7 @@ static PyObject *Method_String (PyObject *self, PyObject *args)
|
||||
but->val.asstr = MEM_mallocN (len + 1, "button string");
|
||||
|
||||
strncpy (but->val.asstr, newstr, len);
|
||||
but->val.asstr[len] = 0;
|
||||
but->val.asstr[len] = '\0';
|
||||
|
||||
block = Get_uiBlock ();
|
||||
if (block)
|
||||
@@ -1189,6 +1190,8 @@ PyObject *Draw_Init (void)
|
||||
EXPP_ADDCONST (LEFTMOUSE);
|
||||
EXPP_ADDCONST (MIDDLEMOUSE);
|
||||
EXPP_ADDCONST (RIGHTMOUSE);
|
||||
EXPP_ADDCONST (WHEELUPMOUSE);
|
||||
EXPP_ADDCONST (WHEELDOWNMOUSE);
|
||||
EXPP_ADDCONST (MOUSEX);
|
||||
EXPP_ADDCONST (MOUSEY);
|
||||
EXPP_ADDCONST (TIMER0);
|
||||
|
||||
Reference in New Issue
Block a user