Commit Graph

  • ee5a087570 Added hover background color & selection color to Text. Added qualifier key support to Input & UI. Lasse Öörni 2011-02-07 22:28:55 +0000
  • 3dddb2be16 LineEdit scrolling fix and code cleanup. Removed the HoverColor feature from UIElement, as it is rarely useful. If Text has nonzero max line width, it also fixes the element width. Lasse Öörni 2011-02-07 11:20:06 +0000
  • 523559f1a0 Added setFixedUpdateFps() to ScriptInstance. Added setSelected() to UIElement. Visually it is the same as hover. Added onKey() to UIElement. Added cursor movement by arrows or mouse click and DEL key support to LineEdit. Added possibility to query each char position from Text. Script code cleanup. Lasse Öörni 2011-02-06 22:47:24 +0000
  • 16aa868d4f Fixed AnimatedModel's animation possibly not updating when loading the scene. Added light's shadow intensity & shadow fade distance parameters to the NinjaSnowWar scene. Lasse Öörni 2011-02-04 23:31:07 +0000
  • ea9cc96e52 Added shadow intensity and shadow fade distance parameters for Light. Fixed light XML load not loading all shadow parameters. Lasse Öörni 2011-02-04 13:51:46 +0000
  • d1bf5d5702 Added getResourceRefs() function to Component. Lasse Öörni 2011-02-03 22:21:56 +0000
  • e6d971139d Fixed incorrect stencil clearing in deferred rendering when there is a point light which has some sides unshadowed. Fixed particle emitter network update. Completely removed garbage collection support from CScriptArray. Garbage collection will first detect garbage using one step, then destroy garbage fully. Lasse Öörni 2011-02-03 17:05:55 +0000
  • 7b30e4ca01 Fixed C++ NinjaSnowWar to use updateFixed() instead of postUpdateFixed(), like the script version. This ensures no forces are accumulated to be applied next frame (these would not be replicated properly.) Fixed enemy ninjas' initial heading. Added parameter passing to the script example batch files. Added a profiling block to C++ NinjaSnowWar gameobject update, to be able to compare between C++ & script. Lasse Öörni 2011-02-02 07:57:17 +0000
  • 43e374b4a3 Execute removal of scripted entities inside a scope block so that the array shouldn't keep the entities alive. Lasse Öörni 2011-02-01 23:01:23 +0000
  • bb67b6d7fe Playable scripted NinjaSnowWar. Disabled garbage collection from CScriptArray again because of some very odd "objects not getting deleted" bugs. Unprepare script contexts before garbage collection. Lasse Öörni 2011-02-01 22:51:45 +0000
  • c73c30fde1 Added the script-only function Entity::createScriptObject() for convenience. This is for cases where only the script object is significant, instead of the ScriptInstance component that is also created at the same time. Lasse Öörni 2011-02-01 07:07:34 +0000
  • bd1e1d879a Minor script bugfixes. Lasse Öörni 2011-01-31 22:39:37 +0000
  • 7cc3d7d842 Script API fixes and additions. Changed ScriptInstance to hold a weak pointer to the ScriptFile to avoid circular references. Fixed missing RigidBody pointers in entity collision event. More objects for scripted NinjaSnowWar. Lasse Öörni 2011-01-31 22:29:36 +0000
  • 91eb98128d Removed unnecessary try-catch. Lasse Öörni 2011-01-31 09:10:37 +0000
  • 21152191ac Added Engine::setDefaultScene(). The default scene will always be accessible as the "scene" global property. Exposed functions to get number of entities & components, and to return all components of an entity. Lasse Öörni 2011-01-31 07:34:37 +0000
  • 080d52e93c Exposed Model::getSkeleton() to script. Added possibility to throw an exception without logging an error. Added function to retrieve the last log message. Added check for ScriptFile loading successfully in the Urho3D Shell. Lasse Öörni 2011-01-30 22:50:34 +0000
  • e4bb607126 Console & DebugHUD code cleanup. Lasse Öörni 2011-01-30 21:56:48 +0000
  • ffce296795 Further cleanup of exceptions. Lasse Öörni 2011-01-30 21:19:44 +0000
  • bac80cd8eb Handle window resize in the script examples. Lasse Öörni 2011-01-30 18:49:53 +0000
  • fba7a7dba1 Removed some exceptions. Now failing to load a resource returns a null pointer instead of throwing an exception. Lasse Öörni 2011-01-30 18:38:43 +0000
  • d4666eaacb Added snowballs to the scripted NinjaSnowWar. Documentation update. Lasse Öörni 2011-01-30 16:26:54 +0000
  • 6d015d064a ScriptFile method search cache. Documentation update. Lasse Öörni 2011-01-30 11:49:03 +0000
  • dcc4765d6a Tweaked garbage collection. Exposed immediate execution & running a full garbage collection cycle to script. Lasse Öörni 2011-01-29 23:11:26 +0000
  • f119d7b275 Split functionality to GameObject base class. Updated documentation. Lasse Öörni 2011-01-29 22:16:39 +0000
  • 56f39329cc GCC fixes. Lasse Öörni 2011-01-29 19:43:16 +0000
  • b8bc819b71 Removed ScriptTest. Lasse Öörni 2011-01-29 18:29:25 +0000
  • e7a3473066 Examples restructuring. The old Test is now remade in script and called GraphicsTest. The ScriptTest has been renamed to NSWRemake. The executable for running the script examples is renamed to Urho3D.exe. Various script API fixes. CScriptArray is again garbage collected. More file & ProcessUtils functions exposed to script. More random functions exposed to script. VolumeNode & GeometryNode exposed to script. Lasse Öörni 2011-01-29 18:28:10 +0000
  • 21e87d6a1b Made the debug console manually toggleable. Registered convenience forms of print() to script (print int / float / bool.) Lasse Öörni 2011-01-28 23:20:06 +0000
  • 74b348c0a5 Fixed bug with rendering nontextured UI elements. Fixed EVENT_TEXTFINISHED being sent for every change in LineEdit. Added possibility to specify less than fully opaque colors for UI elements, instead of having to use the opacity property, which is always inherited. Added variant userdata to UI elements. Added defocusable flag to LineEdit. This makes it possible to disable the default ESC-defocusing. Added debug console, which prints log output, and executes AngelScript from the input prompt. Lasse Öörni 2011-01-28 22:19:33 +0000
  • ba3d4d726d Log resource paths in fixed form. Lasse Öörni 2011-01-27 20:35:22 +0000
  • 52c5055c4e Fixed show/hide bugs with popup menu hierarchies. Lasse Öörni 2011-01-27 20:16:34 +0000
  • 92c4f706c1 Added mouse wheel input. Lasse Öörni 2011-01-27 19:10:42 +0000
  • 79df63289c ScriptInstance & ScriptFile no longer allocate own script contexts. Instead ScriptEngine preallocates a fixed number of script contexts, to account for the maximum allowed script execution nesting level. Removed the need to delay entity removes from Scene. Lasse Öörni 2011-01-27 18:27:32 +0000
  • 8f67b457c6 Removal of self from script is now properly delayed until the end of the scene update. Lasse Öörni 2011-01-27 08:50:28 +0000
  • 174ba5cdb5 Refactoring of script object creation. Lasse Öörni 2011-01-26 21:17:49 +0000
  • 956cac7648 Script reloading support. ScriptInstances register themselves with ScriptFile so that on reload, objects can be deleted and recreated. Automatic caching for ScriptFile::getFunction() into a std::map. Lasse Öörni 2011-01-26 21:00:16 +0000
  • 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. Lasse Öörni 2011-01-26 19:09:48 +0000
  • 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. Lasse Öörni 2011-01-26 18:35:02 +0000
  • 5d53f2240a Check that script classes implement the empty "ScriptObject" interface. Lasse Öörni 2011-01-26 06:59:59 +0000
  • 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. Lasse Öörni 2011-01-25 21:43:19 +0000
  • 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. Lasse Öörni 2011-01-25 20:12:22 +0000
  • 613d51b7bb Added pause toggle. Lasse Öörni 2011-01-25 19:22:14 +0000
  • 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. Lasse Öörni 2011-01-25 19:05:07 +0000
  • bdb5f427c0 Create overlays in script. Lasse Öörni 2011-01-25 15:49:38 +0000
  • 19d0ed0e45 Added ScriptTest example, which will be a script-based (partial) reimplementation of NinjaSnowWar. Script interface bugfixes. Lasse Öörni 2011-01-25 15:14:56 +0000
  • 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. Lasse Öörni 2011-01-25 07:58:38 +0000
  • 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. Lasse Öörni 2011-01-24 21:39:54 +0000
  • 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. Lasse Öörni 2011-01-24 13:46:04 +0000
  • f638f5cbf9 Added clear() to UI, which removes all UI elements except cursor. Added layoutHorizontal() & layoutVertical() to UIElement. Lasse Öörni 2011-01-24 11:54:16 +0000
  • 152c641d24 Restart cursor blink cycle when text edited. Lasse Öörni 2011-01-23 21:27:54 +0000
  • 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. Lasse Öörni 2011-01-23 13:32:37 +0000
  • ceb2475a01 File/PackageFile refactoring. PackageFile no longer keeps a file handle open constantly, instead handles are opened for individual files as necessary. Documentation update. Lasse Öörni 2011-01-22 13:30:49 +0000
  • a7628dcc73 Removed special case forced animation update if animation blending changes. Lasse Öörni 2011-01-21 17:20:24 +0000
  • 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. Lasse Öörni 2011-01-21 14:40:39 +0000
  • 5c8ef686de Fixed local animation mode under higher latency. Lasse Öörni 2011-01-20 19:45:45 +0000
  • 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. Lasse Öörni 2011-01-20 17:52:56 +0000
  • 4f1e1ce9b8 Added Slider UI element. Lasse Öörni 2011-01-18 22:11:22 +0000
  • 61b2af9c14 Code cleanup. Removed debug prints. Lasse Öörni 2011-01-18 18:18:24 +0000
  • 916b30bcb3 Removed exception throwing from XMLElement code. Fixed divide by zero bug in AnimationState. Lasse Öörni 2011-01-18 16:50:50 +0000
  • ed09fb3e67 Use ordinary exceptions in UIElement::setStyle(), as the function has a script wrapper. Lasse Öörni 2011-01-17 22:09:59 +0000
  • 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. Lasse Öörni 2011-01-17 22:03:43 +0000
  • 7d27a44d19 Added CheckBox UI element. Lasse Öörni 2011-01-16 21:46:17 +0000
  • ec14f7a3a2 Further UI refactoring. A hover color modification is now defined for all UI elements. Lasse Öörni 2011-01-16 18:49:21 +0000
  • 4ef7ce7d3f Renamed ModelConverter to OgreImporter. Updated documentation. Lasse Öörni 2011-01-16 12:54:42 +0000
  • 88a24c5bd0 Added LOD combine mode to AssetImporter. Documentation update. Lasse Öörni 2011-01-16 12:05:58 +0000
  • 22bc96f2a6 Added material support to AssetImporter. Lasse Öörni 2011-01-15 23:12:41 +0000
  • 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. Lasse Öörni 2011-01-15 20:35:13 +0000
  • 8cdbcab464 Enabled nlerp interpolation in the Test example. Fixed too high animation update rate in orthographic mode for invisible objects. Lasse Öörni 2011-01-14 20:25:45 +0000
  • 665790609c Registered setUseNlerp() / getUseNlerp() to script. Documentation update. Lasse Öörni 2011-01-14 07:25:05 +0000
  • 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. Lasse Öörni 2011-01-13 21:05:51 +0000
  • f11e811262 Added binary scene save option. Added resource base path option. Lasse Öörni 2011-01-13 07:37:05 +0000
  • 437c8cd97e Use scene path for models. Lasse Öörni 2011-01-12 22:10:28 +0000
  • cd9a426fc9 Added initial scene save support to AssetImporter. Lasse Öörni 2011-01-12 22:03:38 +0000
  • bcaf35fd4b Removed debug prints from AssetImporter. Removed unnecessary functions from Animation. Lasse Öörni 2011-01-12 06:13:19 +0000
  • 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. Lasse Öörni 2011-01-11 21:01:50 +0000
  • 2d2d98fd5d Added skeleton support to AssetImporter. Added setBones() function to Skeleton, which does not copy the bones. AnimatedModel now shows skeleton in debug geometry. Lasse Öörni 2011-01-11 08:04:44 +0000
  • e14db52ca0 More AssetImporter functionality. Moved getD3DColor() as an inline function outside Renderer. Fixed terminology in shaders: bitangent instead of binormal. Lasse Öörni 2011-01-10 21:23:24 +0000
  • 039aa0c73a Initial model conversion & save in AssetImporter. Initialize the GeometryBoneMappings of a Model when the number of geometries is set. Lasse Öörni 2011-01-10 11:24:43 +0000
  • f345ef3776 Slight optimization of skeleton reset. Lasse Öörni 2011-01-09 18:43:07 +0000
  • 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. Lasse Öörni 2011-01-09 16:01:48 +0000
  • 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. Lasse Öörni 2011-01-09 14:42:50 +0000
  • 7b7e885515 Changed View related profiling block names. Simplified the signature of markInView() & isInView(). Lasse Öörni 2011-01-08 19:29:49 +0000
  • 925512a1f9 Added Channel::getTimePosition(). Simulated sound playback uses the time position to also support compressed sounds. Lasse Öörni 2011-01-08 16:38:04 +0000
  • 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. Lasse Öörni 2011-01-08 14:58:30 +0000
  • 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.) Lasse Öörni 2011-01-08 10:37:10 +0000
  • 51629b18c6 Added Open Asset Import Library. Added skeleton of AssetImporter tool. Lasse Öörni 2011-01-07 17:08:09 +0000
  • 6c1227c4f8 Implemented save for Material. Refactored material & texture parameter loading. Modified XMLFile's save() function to fit the new signature. Lasse Öörni 2011-01-06 21:20:19 +0000
  • 4e37bbd3cc Added optional save() function to Resource. Implemented save for Model & Animation. Lasse Öörni 2011-01-06 18:12:28 +0000
  • ec1465adb7 Fixed Z-fail stencil clearing after drawing a split shadowed light. Removed ResourceCache debug print. Lasse Öörni 2011-01-06 16:14:05 +0000
  • 8efc696275 Added #include directive for scripts. Added note of Resource::load() throwing exception on failure. Lasse Öörni 2011-01-06 14:13:39 +0000
  • a37f84c0a6 Added procedural scripted event handling support. Reduced the maximum script execution nesting level. Lasse Öörni 2011-01-05 22:35:35 +0000
  • a9bde7738f Use asynchronous scene loading when connecting to a server, so that there is no risk of timeout if the scene takes a long time to load. Do not render while the scene is being loaded asynchronously. Lasse Öörni 2011-01-05 20:50:36 +0000
  • e488c7a155 Scene throws exception if null file specified for async load. Made null pointer exceptions and errors more descriptive. Lasse Öörni 2011-01-04 09:35:39 +0000
  • 24ef4f94f3 Moved most of the script API registration to Engine library. Removed static instances from subsystems that do not need them. Lasse Öörni 2011-01-03 22:57:00 +0000
  • ad9edd8e72 Moved NinjaSnowWar audio initialization to script for quick verification of the script API. Added possibility to transmit a VariantMap of custom login data when connecting to a server. Added isClient() and isServer() functions to the script API. ScriptFile::execute() borrows the ScriptEngine's immediate context automatically if a null context is specified. Changed AngelScript x86 function calls to use EMMS instead of FNINIT to clear the floating point stack, to not affect the floating point control word. Updated documentation. Lasse Öörni 2011-01-03 20:49:08 +0000
  • 526f35bf16 Minor changes to binary formats for consistency. Documented the binary scene format. Lasse Öörni 2011-01-03 14:57:40 +0000
  • 04716f5115 Documentation update. Lasse Öörni 2011-01-03 00:26:00 +0000
  • 902dfd4a13 Re-commit for the new year. Let's aim for less wiki update spam this time! Lasse Öörni 2011-01-02 23:33:36 +0000