Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-11-132.5: merge with trunk, previous merge was only up to yesterday.Brecht Van Lommel
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17416:HEAD
2008-11-13Merge of trunk into blender 2.5:Brecht Van Lommel
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r12987:17416 Issues: * GHOST/X11 had conflicting changes. Some code was added in 2.5, which was later added in trunk also, but reverted partially, specifically revision 16683. I have left out this reversion in the 2.5 branch since I think it is needed there. http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16683 * Scons had various conflicting changes, I decided to go with trunk version for everything except priorities and some library renaming. * In creator.c, there were various fixes and fixes for fixes related to the -w -W and -p options. In 2.5 -w and -W is not coded yet, and -p is done differently. Since this is changed so much, and I don't think those fixes would be needed in 2.5, I've left them out. * Also in creator.c: there was code for a python bugfix where the screen was not initialized when running with -P. The code that initializes the screen there I had to disable, that can't work in 2.5 anymore but left it commented as a reminder. Further I had to disable some new function calls. using src/ and python/, as was done already in this branch, disabled function calls: * bpath.c: error reporting * BME_conversions.c: editmesh conversion functions. * SHD_dynamic: disabled almost completely, there is no python/. * KX_PythonInit.cpp and Ketsji/ build files: Mathutils is not there, disabled. * text.c: clipboard copy call. * object.c: OB_SUPPORT_MATERIAL. * DerivedMesh.c and subsurf_ccg, stipple_quarttone. Still to be done: * Go over files and functions that were moved to a different location but could still use changes that were done in trunk.
2008-11-12previous commits showed that the absolute path problem was even deeper. This ↵Nathan Letwory
should fix yet again some of the problems with giving them to BF_BUILDDIR
2008-11-11spaces -> tabsNathan Letwory
2008-11-11fix for another place where absolute paths for BF_BUILDDIR where a problem ↵Nathan Letwory
(generating results in the wrong place)
2008-11-11fix problem with giving absolute paths to BF_BUILDDIRNathan Letwory
2008-11-11Fix typo that prevented CC_WARN from being added to build commandsNathan Letwory
2008-11-11Port of part of the Interface code to 2.50.Brecht Van Lommel
This is based on the current trunk version, so these files should not need merges. There's two things (clipboard and intptr_t) that are missing in 2.50 and commented out with XXX 2.48, these can be enabled again once trunk is merged into this branch. Further this is not all interface code, there are many parts commented out: * interface.c: nearly all button types, missing: links, chartab, keyevent. * interface_draw.c: almost all code, with some small exceptions. * interface_ops.c: this replaces ui_do_but and uiDoBlocks with two operators, making it non-blocking. * interface_regions: this is a part of interface.c, split off, contains code to create regions for tooltips, menus, pupmenu (that one is crashing currently), color chooser, basically regions with buttons which is fairly independent of core interface code. * interface_panel.c and interface_icons.c: not ported over, so no panels and icons yet. Panels should probably become (free floating) regions? * text.c: (formerly language.c) for drawing text and translation. this works but is using bad globals still and could be cleaned up. Header Files: * ED_datafiles.h now has declarations for datatoc_ files, so those extern declarations can be #included instead of repeated. * The user interface code is in UI_interface.h and other UI_* files. Core: * The API for creating blocks, buttons, etc is nearly the same still. Blocks are now created per region instead of per area. * The code was made non-blocking, which means that any changes and redraws should be possible while editing a button. That means though that we need some sort of persistence even though the blender model is to recreate buttons for each redraw. So when a new block is created, some matching happens to find out which buttons correspond to buttons in the previously created block, and for activated buttons some data is then copied over to the new button. * Added UI_init/UI_init_userdef/UI_exit functions that should initialize code in this module, instead of multiple function calls in the windowmanager. * Removed most static/globals from interface.c. * Removed UIafterfunc_ I don't think it's needed anymore, and not sure how it would integrate here? * Currently only full window redraws are used, this should become per region and maybe per button later. Operators: * Events are currently handled through two operators: button activate and menu handle. Operators may not be the best way to implement this, since there are currently some issues with events being missed, but they can become a special handler type instead, this should not be a big change. * The button activate operator runs as long as a button is active, and will handle all interaction with that button until the button is not activated anymore. This means clicking, text editing, number dragging, opening menu blocks, etc. * Since this operator has to be non-blocking, the ui_do_but code needed to made non-blocking. That means variables that were previously on the stack, now need to be stored away in a struct such that they can be accessed again when the operator receives more events. * Additionally the place in the ui_do_but code indicated the state, now that needs to be set explicit in order to handle the right events in the right state. So an activated button can be in one of these states: init, highlight, wait_flash, wait_release, wait_key_event, num_editing, text_editing, text_selecting, block_open, exit. * For each button type an ui_apply_but_* function has also been separated out from ui_do_but. This makes it possible to continuously apply the button as text is being typed for example, and there is an option in the code to enable this. Since the code non-blocking and can deal with the button being deleted even, it should be safe to do this. * When editing text, dragging numbers, etc, the actual data (but->poin) is not being edited, since that would mean data is being edited without correct updates happening, while some other part of blender may be accessing that data in the meantime. So data values, strings, vectors are written to a temporary location and only flush in the apply function. Regions: * Menus, color chooser, tooltips etc all create screen level regions. Such menu blocks give a handle to the button that creates it, which will contain the results of the menu block once a MESSAGE event is received from that menu block. * For this type of menu block the coordinates used to be in window space. They are still created that way and ui_positionblock still works with window coordinates, but after that the block and buttons are brought back to region coordinates since these are now contained in a region. * The flush/overdraw frontbuffer drawing code was removed, the windowmanager should have enough information with these screen level regions to have full control over what gets drawn when and to then do correct compositing. Testing: * The header in the time space currently has some buttons to test the UI code.
2008-11-11* Compile fix for RNA + makefiles.Brecht Van Lommel
* Fix for bug in collection string lookup function.
2008-11-11MSVC90 project files: Tune projects build order to allow error-free build ↵Benoit Bolsee
from clean state.
2008-11-11Various changes made in the process of working on the UI code:Brecht Van Lommel
* Added functions to generate Timer events. There was some unfinished code to create one timer per window, this replaces that with a way to let operators or other handlers add/remove their own timers as needed. This is currently delivered as an event with the timer handle, perhaps this should be a notifier instead? Also includes some fixes in ghost for timer events that were not delivered in time, due to passing negative timeout. * Added a Message event, which is a generic event that can be added by any operator. This is used in the UI code to communicate the results of opened blocks. Again, this may be better as a notifier. * These two events should not be blocked as they are intended for a specific operator or handler, so there were exceptions added for this, which is one of the reasons they might work better as notifiers, but currently these things can't listen to notifier yet. * Added an option to events to indicate if the customdata should be freed or not. * Added a free() callback for area regions, and added a free function for area regions in blenkernel since it was already there for screens and areas. * Added ED_screen/area/region_exit functions to clean up things like operators and handlers when they are closed. * Added screen level regions, these will draw over areas boundaries, with the last created region on top. These are useful for tooltips, menus, etc, and are not saved to file. It's using the same ARegion struct as areas to avoid code duplication, but perhaps that should be renamed then. Note that redraws currently go correct, because only full window redraws are used, for partial redraws without any frontbuffer drawing, the window manager needs to get support for compositing subwindows. * Minor changes in the subwindow code to retrieve the matrix, and moved setlinestyle to glutil.c. * Reversed argument order in WM_event_add/remove_keymap_handler to be consistent with modal_handler. * Operators can now block events but not necessarily cancel/finish. * Modal operators are now stored in a list in the window/area/region they were created in. This means for example that when a transform operator is invoked from a region but registers a handler at the window level (since mouse motion across areas should work), it will still get removed when the region is closed while the operator is running.
2008-11-11* RNA: utility function to retrieve strings. It will use a fixedBrecht Van Lommel
size buffer if it's big enough, and otherwise allocate memory. * Added BLI_dynstr_appendf() to construct strings easily in printf style, this should make it easier to construct menu strings for example.
2008-11-11Adjusted scons files so disabling quicktime, python and sdl also removes ↵Campbell Barton
their includes when building. writefile.c had usless include.
2008-11-11attempt to make executing an external command work with python 2.4 & 2.5, it ↵Campbell Barton
seems that only py 2.6 wanted list args for subprocess.Popen
2008-11-11fix for [#17959] NURBS Circle: pie-shaped deformation, sticking to object originCampbell Barton
2008-11-11removed some warningsCampbell Barton
2008-11-11Median center didn't use TD_NOCENTER properly, making it work incorrectly ↵Martin Poirier
with hinge bones (and with chain rotations).
2008-11-11bicubic_interpolation function was re-calculating a variable it didnt need ↵Campbell Barton
to - (was calling 32 pow()'s per pixel, now only 8 - approx 3-4x speedup on my system).
2008-11-11VideoTexture: support VideoTexture in blenderplayerBenoit Bolsee
2008-11-11Chain rotations for objects and pose bones (for teamto)Martin Poirier
This commit adds an exception for rotations (standard rotation and tracball) to still work on children of transformed objects and bones in an expected fashion. That is, you can select a chain of finger bones and rotate to flex them all at once. Notes: [1] This could be expended to other transformations if needed. [2] Center of transformation is determined using the same principle as hinge bones (transformed children aren't taken into account)
2008-11-11Add MSVC90 project files - part 3. Extern and Intern projects are merged in ↵Benoit Bolsee
projectfiles_vc9\blender\blender.sln solution, you just need to open that solution to compile everything with VS2008.
2008-11-10Add MSVC90 project files - part 2.Benoit Bolsee
2008-11-10Add MSVC90 project files - part 1.Benoit Bolsee
2008-11-10missing comma made scons arg BF_CXX_LIB_STATIC not workCampbell Barton
2008-11-10Bugfix #17965Ton Roosendaal
Most Surface (NURBS) tools in buttons didn't add undo pushes.
2008-11-10Patch #17971 by Nathan Vegdahl:Matt Ebb
Makes colorband GUI display proper color interpolation (for real this time)
2008-11-10VideoTexture: Preserve alpha channel if present in video, images and ↵Benoit Bolsee
sequences. Better detection of end of video.
2008-11-10* add Brecht's small patch to make values to BF_QUICK and BF_QUICKDEBUG ↵Nathan Letwory
function as partial search entries. - this means you can do BF_QUICK=bf_ and it would build all libs that contain bf_ in their name. This makes it easier to use, since you don't have to remember the exact names * Update documentation to mention scons-local.
2008-11-08* typo fixNathan Letwory
2008-11-08=== BPy API ===Nathan Letwory
* add two optional arguments to control click step and precision of Number buttons.
2008-11-08* use msvc proposed names when building on win32Nathan Letwory
2008-11-07VideoTexture: forgot to commit MSVC project file, strange that nobody noticed...Benoit Bolsee
2008-11-07* fix typo found by brechtNathan Letwory
2008-11-07* fix for typo found by brechtNathan Letwory
2008-11-07=== SCons ===Nathan Letwory
* merge the recent scons changes from trunk, so this means that the same rules now apply: - scons-local available - platform default configs updated - check your user-config.py if you have made a full copy of default config Note: BGE and blenderplayer still not working, but that is normal ;) (so turn them off!)
2008-11-07[#17958] Windows path fix for image_edit.py script.Campbell Barton
Modified to work in linux too, on my system subprocess.Popen(appstring) only works when appstring is a list. Blenders __import__ didnt support keywords like pythons causing the subprocess module to fail for me. added keywords to blenders c/api import to match pythons.
2008-11-07VideoTexture: VideoTexture.materialID() can now take texture image name.Benoit Bolsee
You can specify a image name (starting with 'IM') instead of a material name in VideoTexture.materialID() and return the material ID matching this texture. The advantage of this method is that is works with blender material and UV texture. In case of UV texture, it grabs the internal material corresponding to the faces that are assigned to this texture. In case of blender material, it grabs the material that has an image texture matching the name as first texture channel. In both cases, the texture id used in VideoTexture.Texture() should be 0. Ex: matID = VideoTexture.materialID(obj,'IMvideo.png') GameLogic.video = VideoTexture.Texture(obj, matID, 0)
2008-11-07RNABrecht Van Lommel
* Added more error prints for wrong definitions, for cases that would laters cause problems compiling or crash at runtime, and also made messages more clear. * Added some skeleton code for main/ID/mesh/vertex types for testing. * Added support for automatic arrays as collections using SDNA. * Changed how pointers to data work. Now they are always wrapped in a PointerRNA struct, which contains the data pointer and type, and also the data pointer and type of the ID datablock that this belongs to, since for example a vertex on it's own may not have enough information for some operations, it also needs the mesh. * Added some code for defining dependencies with RNA, and looking up data with paths like: scenes[0].objects["Cube"].data.verts[7].co. Note sure either will end up being used, this is experimental. http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNA
2008-11-07VideoTexture: comment was misplaced after previous commit.Benoit Bolsee
2008-11-06Bugfix #17524Diego Borghetti
The problem is that the audio_fill_seq function try to load the hd file if the sequence don't have it, but it join the two string (directory path + file path) without the / (Linux... \ Windows), so the result is a wrong path. I change the the strncpy and strncat function for a BLI_join_dirfile (like the reload_sequence_new_file) and all work fine now. Also note that the "them go" that Luca report is (or what happen here) the ctrl+z function, and now both case work fine here. (interesting.. date from Feb 05.. 2006 ;)
2008-11-06VideoTexture: fix compile error when FFmpeg is disabled.Benoit Bolsee
2008-11-06* While making changes to btools.py and Blender.py, I completely forgot ↵Nathan Letwory
about the name changes. Here they are. Platform managers, double check that the compiler flag options still work.
2008-11-06Change remaining Copy() to Clone()Nathan Letwory
2008-11-06VideoTexture: new VideoTexture.ImageFFmpeg to load and reload images.Benoit Bolsee
The FFmpeg library allows to load image files. Although it is possible to load images using the VideoFFmpeg class, it is not very efficient. The new class VideoTexture.ImageFFmpeg is dedicated to image management. Constructor: ----------- VideoTexture.ImageFFmpeg('image_file_name') Opens the file but does not load the texture yet. The file name can also be a network address. It can also be a video file name; in that case only the first image is loaded. Methods: ------- refresh(True) Loads the image to texture. You just need to call it once, the file is automatically closed after that and calling refresh() again will have no effect. reload('new_file_name') Reloads the image (if new_file_name is omitted) or loads a new image. The file is opened but the texture is not updated yet, you need to call refresh() once to load the texture. Attributes: ---------- status returns the image status: 2 : file opened, texture not loaded 3 : file closed, texture loaded image returns the image data as a string of RGBA pixel size returns the image size [x,y] scale get/set the scale flag. If the scale flag is False, the image is rescale to texture format using gluScaleImage() function, slow but good quality. If the scale flag is True, the image is rescaled using a fast but less accurate algorithm. flip get/set Y-flip flag. Set to True by default as FFmpeg always provides the image upside down filter get/set filter(s) on the image. Example:
2008-11-05VideoTexture: fixing a crash when loading an image as a video file - yes it ↵Benoit Bolsee
works, provided that you don't set repeat and also no need to refresh all the time.
2008-11-05VideoTexture: Add support for GLSL. FIx small printout bug in Exception printoutBenoit Bolsee
2008-11-05uniform end-of-line format and set svn:eol-style property to "native" for ↵Remigiusz Fiedler
all scripts
2008-11-05* Updated the 'Consolidate into one image' script to support alphaMatt Ebb
2008-11-05* doing some warning cleaningNathan Letwory
* accidently left priority tests around.
2008-11-05* enable openjpeg building for win32/msvcNathan Letwory
* add support for building redcode on win32/msvc, but disabled for now, as there are linking problems - I cleaned the redcode sconscript - the copying of headers within the source tree is not a clean solution This needs to be fixed later on. For now, lets use redcode from extern/ until a better way is found.