First, check on the new files, which are listed below.
The new butspace.h is a local include, only to be used for the buttons
drawn in the buttonswindow.
- editbuts, animbuts, gamebuts, displaybuts, paintbuts, work now
- i quite completely reorganized it, it's now nicely telling you what
context it is in
- sorting error in panel align fixed (tabs were flipping)
- align works correctly automatic when you click around in Blender
- editsca.c renamed to buttons_logic.h
- button names are truncated from the right for allmost all buttons
(except text buttons and number buttons)
- while dragging panels, you cannot move them outside window anymore
And of course fixed loads of little bugs I encountered while testing
it all. This is a version I really need good test & feedback for.
Next step: restoring material/lamp/texture/world
The original headerbuttons.c is for now kept as headerbuttons.txt
The included .h files were updated to only include needed ones in each file.
Makefile.am (for the autotools build) was updated. Didn't test with original makefiles.
Other build systems will of course need to be updated.
layout. Old size was 800x600, just not too nice
New size is 900x768. this default small size is for older macs that
dont allow full size 32 bits opengl windows... silly er! :)
- automatic pulldown opening can now be controlled ( user setting?)
it has two thresholds:
- when no menu was opened before, it waits A milliseconds
- when (in the same block a menu was opened, it waits B millisec.
Currently A= 0.4 sec, B= 0.1 (or so)
- 3d window header; brought back old drawtype menu (test, compare!)
- another test: the old menubutton doesnt work anymore with hold-mouse
only, you can also use it as the other popups (old method still works)
- proposal; all buttons that pop up a block, get special drawtype (arrows)
- removed src/buttons.c and include/BIF_buttons.h
- added src/buttons.txt, which is the old buttons.c for review and adding
code to new panels structure
- changed internal events to match new buttonspace structure
- added tabs for new shading group of buttons
- removed loads of little warnings, -Wall now compiles src/ almost without
error (hint: setenv NAN_QUIET to see it all better)
Now I'm ready to do actual buttons -> panels conversion. I will do the raw
versions first, others then can cleanup
- changed meaning of F4-F10 keys (as compatible as possible, but we need
something!) check UI design doc for proposal
- made new call for switching direction of buttons in Y, for when pulldown
moves direction
- cleaned up all redundant manual switching code from headerbuttons.c
startup
- made nexted pulldowns easier to enter with diagonal mousemovement.
coded a heuristic like:
- while mouse moves in good x direction
- while mouse motion x is bigger than y motion
- while distance to center block diminishes
- only for 1 second
Works nice, but i left debug prints commented in for those who'd like
to tweak it.
without moving for 0.25 second. Also works for sublevels in pulldowns.
- removed hacks from mainloop, which caused setting the main window and
active subwindow for each event (including mousemove).
WARN: test for all OS's that no events get lost, and active window focus
is OK. For OSX it works nicely
- reduced load for uibuttons with 50%....
People in blendercoders seem to think they need to pay attention to rigid, conservative users.....ok...so I moved the selection-> center snap in the shift-s menu to place number 5....sigh
modules.
* .setLocation(), .setDeltaLocation() and .setEuler() now can accept 3 floats
or a list of 3 floats.
This finally makes the following possible:
obj.setLocation (obj.getLocation())
obj.loc = obj.loc
Of course this applies to the other functions as well.
this is part 1 of the UI makeover. It has:
- menu system from Matt integrated
- buttons drawing from Matt
- generic button panel system implemented
- converted displaybuttons (not the rest yet)
- cleaned up a lot in drawing spaces itself, to make it aligned and pixel exact.
- cleaned loads of little compiler warnings, protos...
still a lot of work needed, will all be in next week i hope!
(warn: 2 new c files! butspace.c and buttons_scene.c)
1. Rendering with material without radio flag sometimes caused scanline
errors. The 'rad' value for rendercore loop wasn't reset in all cases
2. The color didn't truely match the color when using 'radio tool'.
Cleaned up a few old lines in rendercore loop... accidentally one
calculation was done double.
3. When adding new radiosity block, 'max iterations' is set at 120. this
prevents noobies/experiment from going into radio-solving with a long
itteration time (it exits at convergence < 0.1)
key, among which is a crash related to lensflares rendering even though no
render buffer exists (after pressing ESC). Fixed this one. Be sure there
are more! :)
Multiple environments now can be rendered in one pass. Previously the other objects with environment maps didn't show up in a reflection. Like this:
http://www.blender.org/bf/dep.jpg
By default, Blender renders now this result:
http://www.blender.org/bf/dep0.jpg
For a further 'recursive ray-tracing effect' you can give each EnvMap texture a higher "Depth" value. Here is a result with depth set at '2':
http://www.blender.org/bf/dep2.jpg
Related new options:
- in (F10) DisplayButtons, environment map rendering can be turned on and off.
- in EnvMap texture buttons you can free all environment maps
- Environment map sizes are also reduced with the (F10) 'percentage' option.
Tech note: with this commit the VlakRen struct has on *ob pointer!
- "Seperate loose parts" is an option in the new pkey popup (in mesh editmode) that seperates a mesh based on objects in it that are not connected.
- "Select same uv" is an option in the wkey popup (in facemode) that selects all faces in the mesh that have the same uv texture assigned as the current active face.
ps. first commit! I hope I can live up to expectations...but don't expect too much! :D
- Object: implemented getBoundBox and makeDisplayList methods
- NMesh and Object: small internal changes for nicer behavior
- Draw: added function PupMenu
- Docs: updated for the additions above
Auto build tiny fix: added the imbuf include dir to source/creator/Makefile.am