blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python).
also only build wm_apple.c on apple+carbon configuration.
Added central compatibility header file, which enables blender to compile
against very old ffmpeg versions as well as very new versions using the
*NEW* API. (Old API functions are simulated using macros and inline functions)
Added a whole lot of additional checks, tested against 6 different versions
down the timeline, hopefully, now finally all is well.
* removed a lot of old cruft code for ancient ffmpeg versions
* made it compile again against latest ffmpeg / libav GIT
(also shouldn't break distro ffmpegs, since those API changes
have been introduced over a year ago. If it nevertheless breaks,
please send me an email)
Submitted by Amorilia.
DXT1 .dds textures with 1-bit alpha channel have their alpha channel imported in Blender.
The patch also makes change to contact info for the patch submitter.
I left the sync with upstream nvtt for another commit.
- made EXPANDED_AGRP take bAnimContext as an argument.
- remove unneeded NULL check drawFacesColored functions.
- comment some vars which are set but not used.
- allow building blenderplayer with redcode.
- when ffmpeg is enabled remove strict compiler errors for imbuf and blenkernel since its hard to avoid these warnings across ffmpeg versions.
* memory corruption when skipping over long marker (was attempting to read over end of file)
* also updated internal jpeg macros to be the same as in jpeg lib
really old one!, since initial commit blender would crash scaling down large sizes eg: 60962 -> 128 (width or height).
the problem is scaledownx/y doesn't check buffer endpoints, with really large images theres a loop on a float value which can fail with large image sizes.
previous commit added asserts if the buffer runs over (assuming it doesnt crash),
This commit changes an epsilon value, tested this with random small images as well as images over 200,000 px, and it works fine, this is still flakey though and for really really big images it probably still fails.
note: BPY_class_validate() could come in handy later if we need to check classes for properties/functions but for now there is no point in keeping it in.
- WITH_OPENJPEG wasn't defined for creator.c with CMake.
- remove shadowed/redefined vars.
- remove some unused RNA report args.
- re-arrange IMB_FILE_TYPES so IRIS is not the first format tested, since its not very common test JPEG and PNG first.
Very nasty UI code issue: since every button is re-defined on a
redraw, having UI redraws while using a button was not possible.
This was solved long ago by copying over data from previous button.
However, this fails when buttons have callbacks with its own (or
a parent button) pointer.
This bug reporter found crashes in draw-overlap UI mode, this
draws entire UI over for every menu redraws, making previous button
pointers invalid. (for triple buffer, the UI is not redrawn, only
the menus).
In general: all systems falling back to old swapbuffers would have
suffered some instability because of this.
Fix is that now the old button gets lifted out from the previous
list and inserted in the new list. Works fine, but needs some tests!
Also in this commit: TIFF endian switching not needed for 16 bits tiff.
- fix mistake with grease pencil UI (&& was intended but & used).
- use (void) rather then () across _all_ blenders code.
- a few minor edits, don't shadow stack variables in roll calculation & avoid running memset() for VBO vertex map.
most local modifier,GPU,ImBuf and Interface functions are now static.
also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
- modifier code was using sizeof() without knowing the sizeof the array when clearing the modifier type array.
- use BLI_snprintf rather then sprintf where the size of the string is known.
- particle drawing code kept a reference to stack float values (not a problem at the moment but would crash if accessed later).
Adding a byte rect to float ImBuf was always freeing the mipmap levels.
Removed this convention since it crashes renders + image texture draw.
Proper ownership handling of ImBuf is high on the wish list :)