Commit Graph

9612 Commits

Author SHA1 Message Date
Lasse Öörni
2ebe2a36b4 Fixed constness of some Scene & Entity functions exposed to script.
Exposed functions to get all scene entities, or scene entities with a specific script class.
2011-01-26 19:09:48 +00:00
Lasse Öörni
044ef4d5a9 Exposed Engine's runFrame() and associated sub-functions to script.
Moved ScriptTest scene init & frame iteration fully to script.
Added optional retained mode script engine logging. This is used for collecting errors during script module compile.
2011-01-26 18:35:02 +00:00
Lasse Öörni
5d53f2240a Check that script classes implement the empty "ScriptObject" interface. 2011-01-26 06:59:59 +00:00
Lasse Öörni
c13916474e Allow access to the ScriptInstance's object from script. The object should implement the empty interface "ScriptObject", so that a handle to it can be correctly returned.
Script context userdata is no longer used to identify the active ScriptInstance.
Removed ExecuteCache from ScriptInstance, as execute() should now be mostly unnecessary from script, and C++ code should perform its own method pointer caching in any case.
Removed the use of execute() from ScriptTest script code in favor of direct method calls.
2011-01-25 21:43:19 +00:00
Lasse Öörni
27a21e140e Made the CScriptArray a non-garbage collected type; otherwise a full garbage collection cycle would be required each frame to prevent memory use build up.
Release ScriptFile resources at ScriptTest exit to prevent memory leaks being reported.
2011-01-25 20:12:22 +00:00
Lasse Öörni
613d51b7bb Added pause toggle. 2011-01-25 19:22:14 +00:00
Lasse Öörni
b9250e7c04 Ninja movement, controls & camera update in ScriptTest.
Method pointer cache for ScriptInstance::execute().
Script interface additions & bugfixes.
Changed LineEdit & Text constructors to take the UI element name as the first argument.
2011-01-25 19:05:07 +00:00
Lasse Öörni
bdb5f427c0 Create overlays in script. 2011-01-25 15:49:38 +00:00
Lasse Öörni
19d0ed0e45 Added ScriptTest example, which will be a script-based (partial) reimplementation of NinjaSnowWar.
Script interface bugfixes.
2011-01-25 15:14:56 +00:00
Lasse Öörni
9f91d37518 Moved bringToFront() to UIElement.
Added getRootElement() to UIElement.
Cleaned up menu popup code.
To optimize UI rendering, only ScrollView & LineEdit clip child UI elements by default.
2011-01-25 07:58:38 +00:00
Lasse Öörni
8c780caa0e Added MenuItem UI element.
Added TryFocus UI event, sent whenever the focus element is attempted to be changed.
Added setBringToBack() & getCombinedScreenRect() functions to UIElement.
Do not transmit hover to other UI elements during mouse drag.
Minor UI code cleanup.
Documentation update.
2011-01-24 21:39:54 +00:00
Lasse Öörni
3eb7da1993 Fixed bug where a child UI element completely outside the parent element's bounding box would not be found by UI::getElementAt().
Exposed UIElement's isInside() & isInsideCombined() to script.
2011-01-24 13:46:04 +00:00
Lasse Öörni
f638f5cbf9 Added clear() to UI, which removes all UI elements except cursor.
Added layoutHorizontal() & layoutVertical() to UIElement.
2011-01-24 11:54:16 +00:00
Lasse Öörni
152c641d24 Restart cursor blink cycle when text edited. 2011-01-23 21:27:54 +00:00
Lasse Öörni
b0642caa78 Added LineEdit UI element.
Added getNumLogicalProcessors() to ProcessUtils.
Lose UI element focus when left-clicking over an inactive or nonexistent UI element.
Include cleanup.
2011-01-23 13:32:37 +00:00
Lasse Öörni
ceb2475a01 File/PackageFile refactoring. PackageFile no longer keeps a file handle open constantly, instead handles are opened for individual files as necessary.
Documentation update.
2011-01-22 13:30:49 +00:00
Lasse Öörni
a7628dcc73 Removed special case forced animation update if animation blending changes. 2011-01-21 17:20:24 +00:00
Lasse Öörni
8e5cfdc68e Added ScrollView UI element.
Added ClipBorder-setting to UIElement, which controls the scissor clipping of child elements.
Fixed not being able to move a non-resizable Window by dragging from the top or bottom.
2011-01-21 14:40:39 +00:00
Lasse Öörni
5c8ef686de Fixed local animation mode under higher latency. 2011-01-20 19:45:45 +00:00
Lasse Öörni
ffb2908516 Added AnimationController component.
Removed animation code from GameObject.
Improved the local animation mode. Now it is active only for predicted components.
Added getLength() to AnimationState.
2011-01-20 17:52:56 +00:00
Lasse Öörni
4f1e1ce9b8 Added Slider UI element. 2011-01-18 22:11:22 +00:00
Lasse Öörni
61b2af9c14 Code cleanup.
Removed debug prints.
2011-01-18 18:18:24 +00:00
Lasse Öörni
916b30bcb3 Removed exception throwing from XMLElement code.
Fixed divide by zero bug in AnimationState.
2011-01-18 16:50:50 +00:00
Lasse Öörni
ed09fb3e67 Use ordinary exceptions in UIElement::setStyle(), as the function has a script wrapper. 2011-01-17 22:09:59 +00:00
Lasse Öörni
bf9f51ba4d Refactored setting UI element style.
All UI elements derived from BorderImage can now define different graphics to be used on hover.
UI layout loading support.
2011-01-17 22:03:43 +00:00
Lasse Öörni
7d27a44d19 Added CheckBox UI element. 2011-01-16 21:46:17 +00:00
Lasse Öörni
ec14f7a3a2 Further UI refactoring. A hover color modification is now defined for all UI elements. 2011-01-16 18:49:21 +00:00
Lasse Öörni
4ef7ce7d3f Renamed ModelConverter to OgreImporter.
Updated documentation.
2011-01-16 12:54:42 +00:00
Lasse Öörni
88a24c5bd0 Added LOD combine mode to AssetImporter.
Documentation update.
2011-01-16 12:05:58 +00:00
Lasse Öörni
22bc96f2a6 Added material support to AssetImporter. 2011-01-15 23:12:41 +00:00
Lasse Öörni
347fe0815d Added more default materials.
Re-added fast square root & fast inverse square root, and fast variations of normalizing vectors & quaternions.
Skinning & instancing vertex shaders are now chosen automatically without the material having to specify them.
Refactored Button logic.
2011-01-15 20:35:13 +00:00
Lasse Öörni
8cdbcab464 Enabled nlerp interpolation in the Test example.
Fixed too high animation update rate in orthographic mode for invisible objects.
2011-01-14 20:25:45 +00:00
Lasse Öörni
665790609c Registered setUseNlerp() / getUseNlerp() to script.
Documentation update.
2011-01-14 07:25:05 +00:00
Lasse Öörni
6c762c029c Fixes to skinning & bone bounding box information and skeletal animation save in AssetImporter.
Model format changed: now the offset matrix is explicitly specified in the skeleton.
Removed onParentChanged(), onChildAdded() & onChildRemoved() from Node as unnecessary for now.
2011-01-13 21:05:51 +00:00
Lasse Öörni
f11e811262 Added binary scene save option.
Added resource base path option.
2011-01-13 07:37:05 +00:00
Lasse Öörni
437c8cd97e Use scene path for models. 2011-01-12 22:10:28 +00:00
Lasse Öörni
cd9a426fc9 Added initial scene save support to AssetImporter. 2011-01-12 22:03:38 +00:00
Lasse Öörni
bcaf35fd4b Removed debug prints from AssetImporter.
Removed unnecessary functions from Animation.
2011-01-12 06:13:19 +00:00
Lasse Öörni
ba10256fca Added animation support to AssetImporter.
Added functions in Animation to set name and length, and add/remove tracks.
AnimationState now uses name hashes to query for bones.
Use world bounding box size for LOD scaled distance of GeometryNode and subclasses.
Removed manual animation LOD adjustments from NinjaSnowWar, as they became unnecessary.
Lowered the animation LOD basescale slightly, as now the bounding box dimensions are taken into account correctly.
2011-01-11 21:01:50 +00:00
Lasse Öörni
2d2d98fd5d Added skeleton support to AssetImporter.
Added setBones() function to Skeleton, which does not copy the bones.
AnimatedModel now shows skeleton in debug geometry.
2011-01-11 08:04:44 +00:00
Lasse Öörni
e14db52ca0 More AssetImporter functionality.
Moved getD3DColor() as an inline function outside Renderer.
Fixed terminology in shaders: bitangent instead of binormal.
2011-01-10 21:23:24 +00:00
Lasse Öörni
039aa0c73a Initial model conversion & save in AssetImporter.
Initialize the GeometryBoneMappings of a Model when the number of geometries is set.
2011-01-10 11:24:43 +00:00
Lasse Öörni
f345ef3776 Slight optimization of skeleton reset. 2011-01-09 18:43:07 +00:00
Lasse Öörni
09644088b8 Removed the autosyncsource feature from AnimatedModel as it is difficult to ensure that animation LOD updates line up correctly. Manual sync should be used instead.
Added local animation flag for AnimatedModel. When enabled, animation and morph updates will not be sent over network.
Added missing registration of syncAnimation() & syncMorphs() to script.
2011-01-09 16:01:48 +00:00
Lasse Öörni
265239438e Combined script API registration includes to one file.
Optimized quaternion * vector function.
Separated VolumeNode update before octree reinsertion, and the actual reinsertion. Now the update has to be requested explicitly.
Changed animation update. Now also invisible AnimatedModels will update at a low frequency, so that renderer raycasts can be performed on invisible parts of the world with relative accuracy. Headless mode always updates all animated models at full frequency, as there is no concept of visibility.
Removed tracking of whether a skeleton has attached nodes, because it is no longer necessary.
2011-01-09 14:42:50 +00:00
Lasse Öörni
7b7e885515 Changed View related profiling block names.
Simplified the signature of markInView() & isInView().
2011-01-08 19:29:49 +00:00
Lasse Öörni
925512a1f9 Added Channel::getTimePosition().
Simulated sound playback uses the time position to also support compressed sounds.
2011-01-08 16:38:04 +00:00
Lasse Öörni
852cdeef0e Added Signal & Thread classes. Audio is now a Thread subclass.
Removed MutexImpl class. Now the critical section is dynamically allocated instead.
Re-added LOD levels to the Jack model.
2011-01-08 14:58:30 +00:00
Lasse Öörni
46f4938c37 Removed cppunit, because Open Asset Import Library itself does not need it.
Script garbage collection is now one step only on each frame.
Audio thread adjusts its sleep time on how long it took to update (aims for 100 FPS.)
2011-01-08 10:37:10 +00:00
Lasse Öörni
51629b18c6 Added Open Asset Import Library.
Added skeleton of AssetImporter tool.
2011-01-07 17:08:09 +00:00