Commit Graph

222 Commits

Author SHA1 Message Date
Nick Samarin
b822f0bb7a added option for automatic facing in steering actuator 2010-08-15 12:58:13 +00:00
Dalai Felinto
350e6d22fd Logic UI: name mismatch on motion blur property (report and patch by Jacob F.)
I forgot to update the UI code (or to commit) when I changed the rna name to match docs. (0 to 1 values should be called factor)
2010-08-11 21:51:31 +00:00
95aa8cfa4a Update address in license block. 2010-08-10 21:22:26 +00:00
f2d77e4496 remove unused includes from editors/space_* 2010-08-08 08:14:07 +00:00
Nick Samarin
f09cd6974e synched with trunk at revision 31065 2010-08-05 13:54:56 +00:00
1f77f7b05a Brush/Paint internal changes
- remove brush array for each Paint struct, just use a single brush pointer.
- removed rna function based template filtering.
- filter brushes using a flag on the brush and the pointer poll function.
- set the brushes using a new operator WM_OT_context_set_id().

TODO
- remake startup.blend, currently brush groupings are lost.
- rewrite WM_OT_context_set_id() to use rna introspection.
2010-08-04 12:18:07 +00:00
708ef64663 include cleanup, no functional changes
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases)
- removed DNA_wave_types.h (never used)
- removed Main.wave
2010-08-04 04:01:27 +00:00
5fa7d1c1b4 2.5: code changes to reduce the usage of G.main and pass it along
or get it from the context instead.
2010-08-01 12:47:49 +00:00
0972d05b4b Logic Editor:
*Removed the old header menu code, replacing with Python menus.
2010-07-30 15:44:26 +00:00
Nick Samarin
c6ea23c77c synched with trunk at revision 30597 2010-07-21 20:54:53 +00:00
75410037fd - correct some spelling errors.
- remove FreeCamera struct (wasnt used)
- remove world color alpha values (not used anywhre).
2010-07-20 10:41:08 +00:00
Nick Samarin
0fbca1dc19 - added options to enable visualization for obstacle simulation and steering actuator
- added python attributes for parameters of steering actuator
2010-07-15 18:41:29 +00:00
Nathan Letwory
4242baa704 Logic UI: Changing Controllers names to follow Sensors and actuators (back to have only the first latter capitalized) + change the controller state only when in expanded mode (show the number otherwise).
Cosmetic commit, no structural/big code changes (patch by dfelinto).
2010-07-14 23:51:21 +00:00
5505697ac5 Merge GSOC Sculpt Branch: 28499-30319
https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-jwilkins
See log of that branch for details.
2010-07-14 14:11:03 +00:00
Nick Samarin
81021db4f9 synched with trunk at revision 30243 2010-07-14 07:35:39 +00:00
Dalai Felinto
f533a70a4b Logic UI: HEADERS changes:
adding option to change state + showing the name, type as label when not-expanded + renaming rna prop "states" (from state_number) + small UI changes + capitalizing Controller Type names (as we had in 2.49). Why? I'm not sure. Therefore let's stick to 2.49 way of doing it for a bit longer.

* It would be really nice to have a drag&drop system for logic (instead of the move up/down button)
* The controller header is so messy :/ definitively should find a better way to handle that (for one the "change state" operator doesn't need this up/down arrow. I'm (temporarly) using the old code for that, so this will wait for when we use proper rna ui here.
* I wonder if it's possible to get the name of the logic type straight from the rna prop (instead of using sensor_name(sens->type) )
2010-07-13 11:06:19 +00:00
Dalai Felinto
37173c0cd8 Logic Editor UI: Make the Active object always the first one of the list, and have the ADD button only for it.
The reason for that is because I can't find a way to change the active object for a particular context (it may be even a bug in the rna/UI base code). So for the time being (a.k.a. for Beta) this will make it.

I actually like this solution, maybe the bug is for the good afterall.
2010-07-13 09:29:02 +00:00
Dalai Felinto
1f019c23fd Logic Editor UI: move s/c/a operators and interface buttons
Tchatcharantcharan ...

Three new operators:
bpy.ops.logic.sensor_move
bpy.ops.logic.controller_move
bpy.ops.logic.actuator_move
direction is a parameter (UP,DOWN)

Moved some interface code to sca.c instead of logic_window.c. (and changed accordingly).
One note: as in 2.49, the move up/down button is only available in non-expanded mode. However instead of one button with two options we have 2 buttons (as we had originally in 2.50).

That also means the s/c/a header is getting more clunky. Design, thoughts, ideas are appreciated. For the time been functionality back is still the priority (mine at least ;)
2010-07-09 00:14:46 +00:00
Dalai Felinto
ff51a96d58 Logic UI: small commit - set visible flag for sensor and actuator (so it works with the move logic bricks operator to be committed) 2010-07-08 09:25:18 +00:00
Dalai Felinto
779368fd45 Logic UI: fix for #Motion Actuator Dynamic options not showing for Soft Body and Rigid Body (reported by Mal Duffin (malCanDo) over email)
Originally (2.49) we were testing for ob->game_flag to see if the object is dynamic.
That could work here (it would require a new rna prop for the object (a read-only is_dynamic) or similar.
However using ob.game.physics_type is more explicit, therefore may be more interesting. I have no strong opinions on that...
2010-07-08 06:49:08 +00:00
d9bcd249cf remove some warnings 2010-06-27 21:03:39 +00:00
Dalai Felinto
51170fdee3 Logic UI: small fixes
1) "Actuators" menu wasn't working (it was showing the sensors one)
2) s/c/a top menus (the one showing options to hide/show objects and logics) with a big space.
- To have those options like this sounds a bit like a legacy, but for the time being at least, let's make it better :)
3) not show the s/c/a common header when object not visible
2010-06-24 04:52:28 +00:00
Dalai Felinto
5215e410c6 Logic UI: small change: make pin always visible (disable sometimes instead of hiding)
I still think we could use a more compact header for the non-expanded mode (ala 2.49). To be addressed later
2010-06-23 06:09:30 +00:00
72d21c35ad sequencer swap data operator.
needed for durian so we can swap out preview AVI's for EXR sequences.
2010-06-21 17:37:50 +00:00
Dalai Felinto
3f4121cea5 Logic UI: Pin option for sensor and actuators (from 2.49)
- implemented the old functionality of pin a sensor or actuator when "show state" is on.
- fixed code for setting/resetting VISIBLE and LINKED flags for sensors and actuators
(so states buttons is working for actuators and sensors)
- move the flag setting code (^^^) to a pre-processing part of the logic ui code.
2010-06-21 07:51:40 +00:00
Nick Samarin
c92d0dfdf6 Added:
- obstacle culling for correct simulation in 3d
- flag for steering actuator termination on reaching target
- path recalculation period
- advance by waypoints (for path following)
2010-06-18 23:48:52 +00:00
Dalai Felinto
038e674cdd Logics ops: add s/c/a can now be called with an object parameter (e.g. bpy.ops.logic.controller_add_exec(name="name", object="non_active_object")
If no parameter is passed it uses the active object.

To do: make logic_window set "active object" in context before calling add s/c/a operator
So far I tried this before uiItemMenuEnumO(row, "LOGIC_OT_controller_add", "type", "Add Controller", 0); :

+RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ob_ptr);
+uiLayoutSetContextPointer(row, "object", &ob_ptr);

Not working though :) (not committed either). to be investigated.
2010-06-17 08:42:15 +00:00
Dalai Felinto
3d562ddaa9 logic ops: accepting no object as argument into "remove s/c/a" operators (uses the active object in those cases) 2010-06-17 07:33:57 +00:00
Dalai Felinto
a8f6a198a6 Logic ops: uncommenting + fix remove ops to use full RNA code :)
The problem here was that it as passing Object *ob, while it should be Object **ob. Otherwise you can't change where the pointer is pointing to.
2010-06-17 06:34:11 +00:00
Dalai Felinto
6a70a6bee2 Logic UI: partial implementation of state per controller
Adding two rna properties: state and state_number

For scripting "state_number" (integer) makes more sense while "state" (boolean/array) may be needed for the UI.
So far the UI is only showing the state number (using Label). Still have to decide how is the better way to "change the state".

If we don't need "state" (as boolean) for the UI, we can have only the integer one and rename it to "state".

+ some cosmetic changes (renamed ob "states" to "visible states")

ps.: 2 goals == 2 commits... let's see if I can keep that ratio until the middle of July ...
2010-06-16 08:29:40 +00:00
Dalai Felinto
bc8e0c0f93 Partial fix for [#22574] Logic Panel missing buttons (when selecting multiple objects)
This commit allows you to see the Logic Bricks for multiple objects at once. It still will only add s/c/a for the active object.

@Matt,
currently "LOGIC_OT_controller_add" uses the active object. That's good for the operator to work in scripts, however for the UI we need something different.
Ideally I would like to pass the object as an (optional) parameter to the operator. Not sure if it's possible.

The solution in 2.49 looks too "2.50 incompatible". In there ob->scaflag is set to be retrieve later by "do_logic_buts". Smart but too hacky imho.
2010-06-16 06:20:56 +00:00
Nick Samarin
147e8d01eb - added acceleration and turn speed parameters for obstacle simulation
- added debug visualization for object velocities
2010-06-11 21:13:59 +00:00
2ebb1c63f7 finish cleanup to cmake editors, also removed some stuff from scons thats not needed. 2010-06-05 23:27:49 +00:00
Nick Samarin
0932f365bf added obstacle avoidance code; object movement is implemented via setting velocity 2010-06-04 23:29:49 +00:00
129bee4743 remove cruft from cmake files, more to go 2010-06-04 20:56:56 +00:00
55d3a2014c have cmake build editors as different libs like scons and nan-makefiles 2010-06-04 11:34:57 +00:00
Dalai Felinto
44845b8965 Logic Editor: more datablock lookups :)
Now all the material properties have the nice Datablock Lookup menu (thanks a lot Matt !). They still store the property as a string, therefore if you change a material name the logic bricks using it don't get updated. it would be nice if we had a way to communicate that in the interface.

The only "datablock" field that doesn't have lookup is "property" in collision and ray sensors and Constraint Actuator. The reason being is that there is no global ListBase to gather the properties of all the objects in the scene. And it may be too overkill to create a list with all the properties on-the-fly only for that (it would be cool though)
2010-06-03 08:26:47 +00:00
Nick Samarin
d3d2e92fcc synched branch with trunk at revision 29109 2010-05-31 23:44:43 +00:00
Nick Samarin
05b92f0fc9 Added new actuator type for following steering behaviors: seek, flee, path following; renamed KX_Pathfinder to KX_NavMeshObject 2010-05-31 22:35:22 +00:00
8082d845de Fix Open Sound operator, bring it in line with Open Image:
* Add relative paths option
* Set the pointer used in the ID template properly

* Tweaked the Sound actuator ui
2010-05-28 23:12:45 +00:00
c877d2358d possible un-initialized value 2010-05-19 17:06:36 +00:00
Dalai Felinto
a7a9862cc9 Logic UI and Operators: adjusts on Layout + copy properties operator + fix on copy logic bricks operator (and moved to OBJECT_OT)
* adjusts on Layout:
 - in order to avoid much changes when copying Logics, it's nice to have the logic s/c/a always displaying even though it's not valid (e.g. edit mesh used from a camera object).
Now a message shows in the s/c/a alerting to the problem.

* logic operators under OBJECT_OT - copy properties and logics

Matt, is it possible to have the object game properties listed as a submenu from "Copy Properties" ?
So from the "Copy Game Property" menu we would have three options:
"Copy a property" -> (submenu) prop1, prop2, prop3 
"Replace all Properties"
"Merge all Properties"

For the current task list in Logic Editor:
http://www.pasteall.org/13245
2010-05-19 09:40:45 +00:00
Dalai Felinto
ce6e6112eb Logic UI: copy logic operator (old Ctrl+C) + add logics (shift+a)
According to Matt the RMB->Copy to selected wouldn't work for logics because the copy we need is for the whole logic (s/c/a). So (at least for the time been), copy logic is possible again.
It work as 2.49 (replacing the existent logic).

Add Logics is a python menu to give quick access to add logics. I have to see how to put that in Add Menu. I should be easy, but I'll leave it for later.
2010-05-16 16:28:50 +00:00
Dalai Felinto
8b4b68becb Logic UI: add name option for add operators + ALL button in controller states is working now + fix for actuator STATES filtering option.
Extra comments related bugs:
1)"actuators_show_active_states" doesn't seem to produce any effect (maybe because PIN is not implemented yet? therefore it's always on?

2)If you set the name to be bigger than 32 it will crashes blender (somehow for s/c/a the get function instead of using the defined 32 maxlen it's using 160 (from UserPrerencesFilePaths_python_scriptsdirectory_get ),

3)properties currently can have the same name as s/c/a and they shouldn't.

4)we need an option to show and/or set the STATE of a given controller (in 2.49 it's the number by the controller name)
2010-05-14 10:45:50 +00:00
Dalai Felinto
285a73d274 Logic UI: Controller header, moving the text to the left 2010-05-12 08:53:44 +00:00
Dalai Felinto
e544530226 Logic UI: Controller State
http://www.pasteall.org/pic/show.php?id=3255

New design, with an option to hide/unhide it.

Matt:
1) the way I managed to have the I selected is kind of nasty :) but I think it will have to wait for proper icons.

2) the ALL is so far only working visually, It's still have to change the code to make all sensors and actuators visible when ALL is on. I think this is better than actually marking all states as before (2.49). Maybe it's even nicer nice to have not only have the states disactivated (in gray as they are now), but also to show them as temporary marked. Is that interesting/possible?

3) Can't centralize it :(

4) I think you are right, the icons are nice, but uninformative ... for someone else curious:
http://www.pasteall.org/pic/show.php?id=3254
2010-05-12 08:34:15 +00:00
Dalai Felinto
8828234902 Logic UI: using the RNA interface as default - commit pre-subversion bumping (i.e. no DNA changes here)
Also: extra set funcs, layout adjustments

The patch for the subversion commit was getting too big, and it will be hard to distinguish what was essentially do_version + DNA changes and what was layout adjustments.

So this is the first part of the commit. The next may take a bit more because I'm not so confident in my readfile changes.
2010-05-11 06:56:59 +00:00
523f8e3557 Give Sensors/Controllers/Actuators more sensible names when they're created
(based on their type)
2010-05-10 05:46:01 +00:00
f9495c7bef Added search list widget for 'actuator sensor' too. 2010-05-10 04:59:44 +00:00
1e0caad5da Update Armature actuator UI to use pointer list widgets, rather than text entry fields 2010-05-10 04:49:09 +00:00