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:
2004-07-03 05:17:04 +00:00
parent 90d4f7a3c1
commit 9282827720
34 changed files with 2780 additions and 478 deletions

View File

@@ -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);