Commit Graph

16327 Commits

Author SHA1 Message Date
Brecht Van Lommel
52135dd4fa 2.5: Space Image ported back
Organized as follows:

uvedit/
	uv editing related code
	uvedit_draw.c: drawing code
	uvedit_ops.c: operators, just a few done
	uvedit_unwrap_ops.c: will be operators for unwrapping
	uvedit_paramatrizer.c: lscm/abf/stretch/pack

space_image/
	space_image.c: registration and common getter/setters
	image_draw.c: drawing code, mostly functional
	image_panels.c: panels, all commented out
	image_render.c: render callbacks, non functional
	image_ops.c: operators, only view navigation done
	image_header.c: header, menus mostly done but missing buttons

Notes:
* Header menus consist only of Operator and RNA buttons, if they
  are not implemented they're displayed grayed out. Ideally the full
  header could work like this, but std_libbuttons looks problematic.

* Started using view2d code more than the old code, but for now it
  still does own view2d management due to some very specific
  requirements that the image window has. The drawing code however
  is more clear hopefully, it only uses view2d, and there is no
  switching between 'p' and 'f' view2d's anymore, it is always 'f'.

* In order to make uvedit operators more independent I move some
  image space settings to scene toolsettings, and the current image
  and its buffer is in the context. Especially sync selection and
  select mode belonged there anyway as this cannot work correct with
  different spaces having different settings anyway.

* Image paint is not back yet, did not want to put that together with
  uvedit because there's really no code sharing.. perhaps vertex paint,
  image paint and sculpt would be good to have in one module to share
  brush code, partial redraw, etc better.
2009-01-15 04:38:18 +00:00
Brecht Van Lommel
2213fa1c52 RNA
* Work around bScreen/Screen DNA name patching, so bScreen does not
  require manual callbacks to be written for properties.
* Added SpaceLink and SpaceImage RNA.
* Fix issue initializing ID property arrays with default values.

DNA
* Some DNA changes for space image.
* And a fix for corrupt clone image pointer in reading brushes.
2009-01-15 04:22:23 +00:00
Brecht Van Lommel
f08032e8f9 UI: various changes
* View2D to region now returns ints instead of shorts.
* Use "Numpad" instead of "Pad" in automatic keymap menu info.
* Menus can now use buttons other than BUTM and SEPR, in
  particular TOG and ROW are now supported instead of flipping
  bits manually.
* Added a simpler uiDefMenu* api for making menus now, and it
  only supports Operator and RNA buttons at the moment, will be
  used in next commit. Not sure how this will evolve .. makes
  menu code look cleaner anyways.
* Ensure that interface code doesn't crash when getting unknown
  Operators and RNA properties, and display their buttons grayed
  out in that case.
2009-01-15 04:13:38 +00:00
Roland Hess
ad50055610 Action Editor header menu structure ported, but menu items not yet linked up to functionality. Just wanted to get this committed in case I skid off a cliff in the snow tomorrow. 2009-01-15 03:12:21 +00:00
Nicholas Bishop
caa9e7b133 Brought back the layer brush in sculpt mode. 2009-01-15 03:10:01 +00:00
Shaul Kedem
18b1bc88f7 edit mesh primitives: ctrl+1 to ctrl+6. monkey does not show and tube,cone and cylinder show with problems 2009-01-15 03:05:19 +00:00
Nicholas Bishop
ba755e3265 Brought back symmetry for sculpt mode, also added RNA for sculpt flags. 2009-01-15 02:36:24 +00:00
Benoit Bolsee
509ca83ef1 BGE patch 18065: gameobj mass writeable + setmass actuator. This patch allows to change the mass of a dynamic or rigid body object during the game. Two methods are available: in a Python script by setting the mass attribute of the game object; by logic brick with the Edit Object->Dynamics->Set Mass actuator. The mass can only be set on dynamic objects and must be a positive floating point value. 2009-01-14 22:33:39 +00:00
Ton Roosendaal
029bbb3489 2.5
Editmesh: add primitive basics back. Had to clean up a load of
crap there... but it's sorta in control, so I think Shul can
pick it up again.

Test: ctrl+0 adds plane, or ctrl+9 adds grid.

Notes for Shul:
- i've added a transform function, which gets correctly passed
  on to the add_prim function, should work for all object 
  transforms. Only the code inside add_prim might be needed
  to check (it uses 4x4 mat now, not a 3x3)

- The old code with buttons has been ifdeffed out, check for
  user input and make it rna properties, which get read
  in the exec(), and handed over to the add_prim. Set them
  default now to the values from old buttons.

- Operator naming is preferred lower case, I gave this
  a new name.

- check a bit on formatting code, but don't use the old code
  as example! Look also at ED_keymap_mesh() for example.
2009-01-14 19:26:11 +00:00
Nicholas Bishop
0d05b2c767 Added missing sculpt/brush RNA properties.
Also a few more tweaks to CMake/gcc warnings.
2009-01-14 18:48:16 +00:00
Nicholas Bishop
2ecb371950 Removed a second declaration for BLI_uniquename.
Also supressed cmake/gcc warnings about unused parameters since these are everywhere (sometimes with good reason, for callbacks)
2009-01-14 17:36:13 +00:00
Nicholas Bishop
8eb035f64f Fixed warnings in sculpt, also brought back brush curve. 2009-01-14 17:22:30 +00:00
Ton Roosendaal
fd37c07e28 2.5
Bugfix;
- do not set active base/object yourse, but use ED_base_object_activate
- view3d buttons was reading NULL pointer.
2009-01-14 16:54:36 +00:00
Ton Roosendaal
30e851b8a5 2.5
A small round of warning cleanups; unused variables, missing
headers and some const types.
2009-01-14 16:37:52 +00:00
Ton Roosendaal
9aec7aaf6c 2.5
GPencil code back!

Joshua will probably take this further. I've added XXX notes
where fixes are required. Also note that ED_gpencil.h has
all old exports, which is probably not needed, most can go
to gpencil_intern.h

Also added Makefile fixes for sculpt
2009-01-14 16:13:50 +00:00
Nicholas Bishop
3e756ca0a6 Moved some more sculpt data into operator properties, also the test brush is now properly created so you can edit its state in the RNA viewer. Added an RNA property for the brush sculpt tool as well. 2009-01-14 15:29:29 +00:00
Ton Roosendaal
126b9ca1a6 2.5
Hrmf; sconscript apparently can't do emtpy dirs!
2009-01-14 13:18:10 +00:00
Ton Roosendaal
b4df27c50d 2.5
Still old editNurb here... last part
(I committed in parts, have gpencil restored here and can't 
commit that yet!)
2009-01-14 13:06:09 +00:00
Ton Roosendaal
3b56ee7880 2.5
Still old editNurb here...
2009-01-14 13:05:10 +00:00
Ton Roosendaal
efc4ccc974 2.5
Still some old editNurb here...
2009-01-14 13:04:48 +00:00
Ton Roosendaal
ea2d6fe0d0 2.5
Another one back: editcurve.c

- removed global editNurb everywhere
  (cu->editnurb now has listbase with edit data)
- also added 'active bpoint' and 'active nurb' in
  Curve struct
- editmode in/out works, mouse/border select works
2009-01-14 12:26:45 +00:00
Nicholas Bishop
07e85b265d Moved a couple more sculpt settings into operator properties, including shiftkey for flipping stroke direction in or out 2009-01-14 03:02:44 +00:00
Nicholas Bishop
9b1199d6a3 Noticed that sculpt was quite slow because of string lookups in RNA, so added a separate sculpt stroke cache for some values that usually aren't even changed except at stroke initialization. 2009-01-13 23:21:05 +00:00
Benoit Bolsee
00c12e0906 BGE patch: dynamically update the coumpound parent shape when parenting to a compound object.
This patch modifies the way the setParent actuator and KX_GameObject::setParent() function
works when parenting to a compound object: the collision shape of the object being parented
is dynamically added to the coumpound shape. 
Similarly, unparenting an object from a compound object will cause the child collision shape
to be dynamically removed from the parent shape provided that is was previously added with 
setParent.

Note: * This also works if the object is parented to a child of a compound object: the
        collision shape is added to the compound shape of the top parent.
      * The collision shape is added with the transformation (position, scale and orientation)
        it had at the time of the parenting.
      * The child shape is rigidly attached to the compound shape, the transformation is not
        affected by any further change in position/scale/orientation of the child object.
      * While the child shape is added to the compound shape, the child object is removed from
        the dynamic world to avoid superposition of shapes (one for the object itself and
        one for the compound child shape). This means that collision sensors on the child
        object are disabled while the child object is parent to a compound object.
      * There is no difference when setParent is used on a non-compound object: the child
        object is automatically changed to a static ghost object to avoid bad interaction
        with the parent shape; collision sensors on the child object continue to be active
        while the object is parented.
      * The child shape dynamically added to a compound shape modifies the inertia of the
        compound object but not the mass. It participates to collision detection as any other
        "static" child shape.
2009-01-13 22:59:18 +00:00
Nathan Letwory
0162ded15a 2.5 / Keymap definition
* For some reason builds on Windows would crash when tabbing into edit mode with default .b.blend
  Problem is that it is not very clear why it happens. The debug trace I managed to get pointed at
  SCRIPT_OT_run_pyfile being run when pressing TAB.
  Changing the way how this quickhack for running scripts is added made the crash go away, but this
  points at a potential problem in the creation of keymaps. The original form is the plenty used:
  
  RNA_string_set(WM_keymap_add_item(keymap, "SCRIPT_OT_run_pyfile", PKEY, KM_PRESS, 0, 0)->ptr, "filename", "test.py");

  But changing that to:

  km = WM_keymap_add_item(keymap, "SCRIPT_OT_run_pyfile", PKEY, KM_PRESS, 0, 0);
  RNA_string_set(km->ptr, "filename", "test.py");

  Properly prevents the execution of the script operator. It looks like somewhere
  something goes wrong, but no idea what, yet. Probably a good thing to investigate now!
  Apparently this doesn't happen on Linux (and probably not on OSX either).
2009-01-13 21:18:05 +00:00
Nicholas Bishop
a42f9163bf Now that modal sculpt does stuff, added exec code. For this, added new Stroke RNA. For now, it's just 3D brush location, but lots more will be added (e.g. tablet pressure)
Pressing f4 to redo a stroke now works as expected.
2009-01-13 20:50:07 +00:00
Nicholas Bishop
d494cd5c6e Added missing sculpt header 2009-01-13 20:38:43 +00:00
Nicholas Bishop
1300df4469 More sculpt work. Very very basic sculpt operators implemented, one for toggling the mode, the other for the brush. This just allows entering sculptmode and drawing using a simple brush. (Note the operator is still modal, no exec yet.) 2009-01-13 19:57:36 +00:00
Nathan Letwory
fecac53522 2.5 / Nodes
* add a list area for material/texture/scene selection.
2009-01-13 19:28:18 +00:00
Nathan Letwory
469b19d231 2.5 / SCons / Temporary Hack
* curve, gpencil, physics and preview don't have sources yet, so scons fails on that. Disabled for now
  Ton, when you actually put something in those dirs, remember to uncomment them in the editors/SConscript.
2009-01-13 19:01:39 +00:00
Nathan Letwory
5ecbf408c3 2.5 / Nodes
* forgot to revert this with previous commit
2009-01-13 17:10:56 +00:00
Ton Roosendaal
76cc2fef78 2.5
Added last few remaining modules in editors. Then the msvc
maintainer can already start typing! Only uv_paint is not
added, not sure how far Brecht is locally already.
2009-01-13 16:18:18 +00:00
Ton Roosendaal
b8dac71bda 2.5
- restored three more C files: editlattice, editkey
  and editgroup
- editmode lattice working, (mouse select works)
- accidentally removed yesterday 3d cursor drawing
- removed global editLatt entirely now.
2009-01-13 15:18:41 +00:00
Joilnen Leite
b3d8cbd113 fix from sirdude i patched and fixed my linkage erros in linux 2009-01-13 13:13:04 +00:00
Ton Roosendaal
25483d10bd 2.5
Added poselib.c back, non functional entirely still.
2009-01-13 12:32:01 +00:00
Ton Roosendaal
d263911eac 2.5
Renamed sequencer file to conform editor specs.
Couldn't yesterday, svn refused for some reason :)
2009-01-13 11:41:52 +00:00
Michael Fox
806bc87a97 2.5
******
small commit
	- ported Select Linked (shift-L)
	- it does have IPO for now
2009-01-13 09:48:25 +00:00
Campbell Barton
0066b6a8aa fix for big in yesterdays commit, color values were not initialized 2009-01-13 05:55:48 +00:00
Michael Fox
4e1ad1aaaa 2.5
*******

- Ported  ObData to center, center new and centur cursor
	- its currently 1 operator
	- no warning or error popups until its figured out how best to do so
	- possibly full of ugly code and things done worng way, had a hard time trying to understand this code

- some more house cleaning and removal of unused functions
2009-01-13 05:31:33 +00:00
Matt Ebb
6cfbb0017a * Little feature, blend texture can have extrapolation modes (like repeat).
This should probably go in trunk, but I'll stay away for now with all the 2.5 work on.
2009-01-13 02:39:46 +00:00
Shaul Kedem
d8a269541f edit mesh operators for edit mesh view 2009-01-13 02:09:58 +00:00
Joshua Leung
ae25863d6c 2.5
* Tweaked a few incorrect comments in Constraints code
* Made Sequencer use View2D system correctly (only looked at the 'time-grid' thing so far).
2009-01-12 22:54:30 +00:00
Ton Roosendaal
ab39a3f2b7 Added pthread include for windows scons 2009-01-12 19:14:33 +00:00
Ton Roosendaal
03fc5696dc 2.5
12k lines of sequencer back! Only seqaudio.c skipped for now.
Notes:

- it only draws now, nothing refreshes or edits.
- fixed bug in view2d.c with vertical grid step being 0.0f
- render code and fileselect code is #ifdeffed out
- sequence evaluation code moved to blenkernel, so it can
  be used for render without bad level calls

General note; sequencer code is very untidy, mixing styles too
much. Tried to clean it some, but it would be nice if formatting
is kept consistant from now on.
2009-01-12 19:02:08 +00:00
Nathan Letwory
ca45efba28 2.5 / SCons / Nodes
* quick "typo" fix before anybody notices.
2009-01-12 18:07:55 +00:00
Nathan Letwory
4cc7971c15 2.5 / SCons
- make sure WITH_BF_PYTHON=False is respected.
2009-01-12 16:55:46 +00:00
Campbell Barton
d0b953d860 can now add sequencer effects with the python api
also fixed crashes when incorrect args were used

cross = 13; track= 5; frame = 1 # no effect constants 
scene.sequence.new((cross, seq1, seq2), frame, track)
2009-01-12 15:58:32 +00:00
Nathan Letwory
415b9d2e84 2.5 / Nodes / SCons(mingw)
* chop the nodes library into smaller parts
  - the addition of texture tree pushed the limits for scons/mingw
  - This should still have everything compile nicely, but please,
    maintainers of other build systems should check. The only interesting
    change for them is the difference in headers.
2009-01-12 15:25:17 +00:00
Ton Roosendaal
1521260229 2.5
Quick fix; redraw 3d view when using header buttons
2009-01-12 09:04:53 +00:00
Nathan Letwory
99d10b7f76 2.5 / Nodes
* [Use nodes] added. For future improvements: a panel which enumerates
  materials, textures and scenes for selection and editing in the opened
  node-editor without having to set it in Buttons (or 'global' scene).
2009-01-12 01:02:52 +00:00