Commit Graph

57 Commits

Author SHA1 Message Date
Nick Samarin
0932f365bf added obstacle avoidance code; object movement is implemented via setting velocity 2010-06-04 23:29:49 +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
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
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
e8a2059b84 Improved the Ray Sensor UI in the updated Logic Editor. 2010-05-10 00:12:36 +00:00
Dalai Felinto
94cd746566 Logic UI - lookup for properties (matt need your help to finish it)
I based this code on drawnode, so I hope this is the right way of doing this.

Working Sensors:
- keyboard
- property

Working Actuators:
- property (partly)
- ipo
- action
- shape action
- message
- random

Need help with:
- actuator sensor
- property actuator (for the second object)

- touch/ray/collision sensors + constraint actuator
(for the material lookup, not the property one)
maybe a doversion + changing the type to material work better here
(as we have in touch sensor)

+ added notifier for the game property.
2010-05-08 22:11:00 +00:00
Dalai Felinto
2909a4988b Logic UI: add notifiers for sensors and controllers (so the ui updates if you change the value through script) + some layout adjusments. 2010-05-08 19:52:13 +00:00
Dalai Felinto
0511086d5f adjusment to constraint actuator layout (forgot to expose normal and before) 2010-05-07 23:56:26 +00:00
Dalai Felinto
22978ebfdc Logic UI - fixing missing rna default values
there are some cases (i.e. Constraint Actuator) where the same DNA property is being used by different RNAs with different ranges.
It's easy to change (reset the values to their default in the set func of the constrant type rna).
Not sure it's necessary though.
2010-05-07 18:53:28 +00:00
Dalai Felinto
27acb95cad Logic UI: All Sensors, Controllers and Actuators are ported now... (let's the tests begin)
* get/set funcs
* unifying rna_props for Constraint Actuator
* Collision sensor
* Ray sensor
* State Actuator

* We need icons! at least one for Sensor, one for Controller and one for Actuator

* Layout artists:
Keyboard sensor really need some help :)
The other as well. I mainly copied the layout from 2.49 with some adjustments here and there.

* some get/set functions in rna_actuator.c are exactly the same (e.g. rna_ConstraintActuator_range_get, rna_ConstraintActuator_spring_get) and other could be easily distributed. maybe something for later.
2010-05-07 07:31:39 +00:00
Dalai Felinto
d559cf97bb Logic UI: small fixes: order of sensor type enum + state actuator showing used states now 2010-05-07 02:37:05 +00:00
f259da6141 Added dynamic enum itemf for add sensor/actuator operators 2010-05-07 02:01:50 +00:00
Dalai Felinto
9768796926 Logic UI: State Actuator done :) all actuators are there now. [and stubs update]
(it's a small commit, but couldn't help not doing it ;)
2010-05-07 01:30:12 +00:00
Dalai Felinto
6e3812d7bc Logic UI: constraint actuator+rna 100% (finally !!!) + other fixes/improvements:
- s/c/a type enum update function replaced by set function
- rna_Sensor_type_itemf and rna_Actuators_type_itemf implemented (but not working ... it was working yesterday before I updated the set func, so need further investigation). Matt, if you have any clue on that ...

Roadmap:

i) I definitively gotta unify the maxloc, minloc rna properties.
the way it's right now (based on 2.49 makes the layout code really clunky
ii) - actuator missing - State Actuator (I'll probably need help on that).
iii) - sensor missing - collision and ray (they are partly implemented, but the enums are a mess there).
iv) - get/set funcs missing (not many) and default values (not many)
v) - have more lookup functions for properties and material (I'll definitively need help on that).

Eventually will fix (iii, iv and v) changing bge and dna code and doing a subversion/do_version.
2010-05-06 19:12:08 +00:00
Dalai Felinto
092bd9f300 Logic UI: actuators - action+rna 100%, sound 100%, constraint+rna 50%
Notes:
1) I had to pass Context to the draw_actuator_sound in order to access the open_sound_operator
uiTemplateID(layout, C, ptr, "sound", NULL, "SOUND_OT_open", NULL);
According to Campbell they are better ways to do that (mdef bind for reference). but for now it works.

2) for the record: action actuator is equal to shape actuator (but runs in armature)

3) in Constraint Actuator I think I should unify all the limit_loc_max_, loc_min, ... properties. I was thinking about replacing it with a single limit_loc_max, limit_loc_min, range, distance, and use get/set funcs to find the correct one.
2010-05-06 12:01:44 +00:00
Dalai Felinto
b88656d7f1 Logic UI: more actuators: armature, motion, edit object (ui) and 2dfilter (layout fix) 2010-05-06 03:26:46 +00:00
7245d935eb Tweak for dfelinto, logic ui 2010-05-06 01:38:17 +00:00
Dalai Felinto
09e6190b49 BGE Logic UI: 2dfilter actuator + object (motino) actuator + commenting out buggy sensors 2010-05-05 21:25:34 +00:00
96aa9f7002 Logic Editor UI work
* Re-structured code (can delete the old function entirely when this is done)
* Fixed links/inlinks
* Fixed some bugs in add and remove controller/actuator
* Cleaned up some ui layouts
* Use key event types in keyboard sensor
* Implemented object controller 'state' in RNA/layout engine (still needs tweaks)
2010-05-05 00:12:31 +00:00
Dalai Felinto
c3cd8175c1 BGE Logic UI: fix for scene actuator
Any volunteer for this?
//XXX to do: an operator that calls file_browse with relative_path on and blender filtering active
2010-05-04 22:05:41 +00:00
Dalai Felinto
74f5a0928f BGE Logic UI: more actuators + almost all sensors
* Matt, I'm marking some "property" rna properties that will need some speacial lookup.
Talking with Campbell we thought that it will be nice to have the lookup with autocomplete for the properties, but giving you the freedom to type whatever prop_name you want (so you can use python created properties).
That way we would still store it as a string.

Whenever the property doesn't exist (or was renamed, therefore can't be found) the property name tints in red ...
Is that possible?

* Matt: in draw_actuator_random I used a uiItemL for one of the modes. Is there another way to do that (having the label in the rna file?). I noticed draw_nodes has some cases of that as well.

* Andrea, the actuator_game property filename (in rna_actuator) is the one that needs to open the filebrowser but saving the result as relative path (or to have relative path as the default in this case)
2010-05-04 21:31:46 +00:00
Dalai Felinto
cef3e3099a BGE Logic UI: more sensors + rna fixes + actuator empty draw functions (+ camera actuator) 2010-05-04 07:34:46 +00:00
Dalai Felinto
44c0f38e6c BGE Logics UI: commit to receive some feedback from Matt
To test use debug mode > 0 (Ctrl+Alt+D)

* primarly the goal is to put all the bricks there, and then to worry about the proper layout
* sensor header added (need to be more compressed). Also checkbox will not work that well here in my opinion.
we need to see what can be used instead (icons?)
* sensors, and actuators in alphabetical order
* a lot of sensors using the rna (//XXXSENSOR in the ones not using it)

* the logic_window.c code for controller and actuator is there only to display the draw functions for controller and actuators. But the code it's a really bad copy of the sensor code, so it will be fixed later (Matt? :)

* I would love if the non-expanded mode were more compact, more like in 2.49 (the name non-editable).
but this is the kind of think we can worry in the end.
Also instead of "move up/move down" it would be nice to drag/drop the sensors/controllers/actuators

* to do: rna_actuators: to rename type to mode for the enum
2010-05-04 00:06:13 +00:00
b008f04450 Rewrite of Logic editor UI to use layout engine
This commit puts the ground work in place, swapping out the crusty old Logic Editor
UI code for the new RNA-based layout engine. It's disabled with ifdefs at the moment
because it's incomplete, but Dalai can now do the grunt work to fill it all out and get it running.

Also includes a bug fix to LINK buttons, and two new logic operators to add and delete sensors.

Dalai, just switch the #if 0 and #if 1 in logic_window.c:3412 and 3469
2010-04-29 07:01:48 +00:00
f743b583bf more lint includes
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing:  UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
2010-03-23 14:09:09 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
af835c52a9 correction pointed out by Moguri, logic button was accepting Text instead of actions. 2010-02-21 19:33:14 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
Dalai Felinto
d2e41b38df BGE: rna update for Logic Bricks
New Actuators done:
* OBJECT (aka MOTION)
* SOUND
* PROPERTY
* CONSTRAINT
* EDIT_OBJECT
* ACTION
* STATE
* ARMATURE

Actuators to be done:
* CONSTRAINT
* EDIT_OBJECT
* SHAPE_ACTION

Actuators done already:
* IPO
* CAMERA
* SCENE
* RANDOM
* MESSAGE
* GAME
* VISIBILITY
* TWODFILTER
* PARENT

once again: feedback is appreciated.
+ some typos
+ some DNA padding

Thanks for Mitchell Stokes (Moguri) for his patch on that. It saved me some time on the ENUMs and some actuator descriptions :)
2010-02-09 21:18:50 +00:00
Dalai Felinto
b2926cf8e2 BGE: rna update for Logic Bricks
New Actuators done:
* SCENE
* RANDOM
* MESSAGE
* GAME
* VISIBILITY
* TWODFILTER
* PARENT

Actuators to be done:
* OBJECT (aka MOTION)
* SOUND
* PROPERTY
* CONSTRAINT
* EDIT_OBJECT
* ACTION
* SHAPE_ACTION
* STATE
* ARMATURE

Actuators done already:
* IPO
* CAMERA

once again: feedback is appreciated.
2010-02-06 06:21:42 +00:00
641774436f am learning bad spelling from blender. grr 2010-01-26 14:00:13 +00:00
Dalai Felinto
9356b1b7ee BGE: Mouse Sensor type defaults to 1 (MOUSELEFT ) + remove camera attribute from Camera objects.
(if you want to mark your camera objects create a property manually ;)

That way object.getPropertyNames() works consistently across all object types.
2010-01-17 21:46:34 +00:00
7831edbc59 needed for win32's msvc. 2009-12-29 18:57:59 +00:00
5cd837a562 * speedup for animating bones, in one scene with sintel and a dragon animated its over 4x faster.
* utility function BLI_findstring to avoid listbase lookup loops everywhere.
  eg: 
    ListBase *lb= objects= &CTX_data_main(C)->object;
    Object *ob= BLI_findstring(lb, name, offsetof(ID, name) + 2);

* made some more math functions use const's, (fix warnings I made in previous commits)
2009-12-29 15:40:26 +00:00
Dalai Felinto
f3692d5e72 BPlayer fix (we were still using old scene.r instead of scene.gm here) and more stubs update from Mitchell Stokes (Moguri)
(+ a fix in a logic_window.c comment)
2009-11-28 01:26:14 +00:00
2cb7a0b25c Fix for [#20080] Arrows Don't Scale (2.5 Alpha 0) 2009-11-27 00:45:01 +00:00
1483fafd13 Merge of itasc branch. Project files, scons and cmake should be working. Makefile updated but not tested. Comes with Eigen2 2.0.6 C++ matrix library. 2009-09-24 21:22:24 +00:00
6117d9c6e2 Fix #19361: BGE keyboard sensor allowed to set mouse events
too, should only be keyboard events.
2009-09-21 16:39:07 +00:00
b6c6610630 UI
* Removed some legacy code which is not needed anymore now.
* Move some test_*poin_but functions to logic space code,
  since that's the only place using it still.
* uiIconFromID now uses RNA info to lookup the icon, to avoid
  code duplication, and means it works for more ID types.
2009-09-16 19:36:17 +00:00
51f1e82290 Object mode Selection options brought back for view3d.select
- 'center', while Ctrl is held select objects from their center location
- 'enumerate', while Alt is held, give a list of objects under the mouse
- Object selection menu now uses icons with names
- operator object.select_name(name, extend=False)
- keybindings so combinations of Ctrl/Alt/Shift can be used (like in 2.4x)
- logic text input field was using deprecated ID_SCRIPT rather then ID_TXT

details
- added comments to DNA_ID.h ID types
- removed unused ID types Sector and Life
- added uiIconFromID() to get an icon from the object.
- using name for selection is weak but currently there isnt a really good way to do this.
2009-09-16 01:15:30 +00:00
eaa079b9b7 - buttons to move logic bricks up and down when they are collapsed
- made actuators and sensors 300 wide (like they were in 2.4x, someone must have changed that). The layout didnt take advantage of the extra width and it looked odd.
2009-09-04 22:07:33 +00:00
e80b37cd75 * KX_PythonSeq - comparisons work again. eg. act1.sensors == act2.sensors, had to copy Py_CmpToRich inline grr!, mailed python-dev about this.
* Shift-Click on states in the logic UI works again.
* New Logic Space has all the view options pressed.
2009-09-02 20:46:28 +00:00
371c3bcf7a 2.5 Sound: Bugfixes. 2009-08-29 23:13:27 +00:00
c03004f93e 2.5: Added some sound actuator UI to reveal its real power, check it out! :) 2009-08-29 14:53:00 +00:00
01d4748e5f svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22704:22717 2009-08-23 07:46:34 +00:00