root/trunk


Mode:

Legend:

Added
Modified
Copied or renamed
Rev Chgset Date Author
(edit) @203 [203] 08/11/10 12:16:04 JoeCoder

Added yage.system.libraries for loading/unloading DLL's
Added yage.core.types.Nullable temlate
Made Style.color inherit from parent properties.
Added Style.display in addition to style.visibility (in order to make something hidden AND ignore events).
Fixed a large memory leak in surfacegeometry.d
Fixed some bugs in local to parent coordinate transformations in Surface.
Removed Surface.updateDimensions() and replaced it with widh()/height()/top()/right()/bottom()/left() functions that calculate dimensions on demand.
Updated documentation

(edit) @202 [202] 07/27/10 00:31:49 JoeCoder

Added yage.gui.controls unimplemented classes for ideas how to create ui controls.
Added Surface.this(parent) constructor.

(edit) @201 [201] 07/26/10 00:52:41 JoeCoder

Improved cursor positioning for home/end/up/down
Fixed bugs and improved event system interface for mouse events and buttons/scroll wheel.
Fixed Surface.getPolygon not matching its rendered position.
Cursor positioning on mouse click.
Added Surface.localToGlobal, localToParent, parentToLocal, and globalToLocal (although they're not quite finished).
Added Input.mouse to get the current mouse state.
Added Vec toInt and toFloat.

(edit) @200 [200] 07/24/10 23:59:28 JoeCoder

More work on editable text and cursor positioning (home/end/up/down, etc.)
Happy bicentennial for Yage!

(edit) @199 [199] 07/24/10 01:06:43 JoeCoder

--

(edit) @198 [198] 07/24/10 01:04:23 JoeCoder

More work on editable text--inserting line returns, correct cursor positioning when at the end of a line.
Updated UI skin.

(edit) @197 [197] 07/22/10 00:39:20 JoeCoder

Updates to editable text and cursor positioning.
Updated the text layout algorithm for better support of long lines w/o breaks.

(edit) @196 [196] 07/19/10 20:39:02 JoeCoder

Fixed some typo's in yage.scene.terrain comments.

(edit) @195 [195] 07/18/10 00:14:00 JoeCoder

Editable text (somewhat)
Added Input key-repeat settings.
Surface keyDown/keyUp are not affected by key repeat, but keyPress will be called multiple times when holding a key down.
Added TextBlock?.cursorToXy and xyToCursor functions.
Preliminary work on drawing a cursor where text entry occurs.

(edit) @194 [194] 07/11/10 16:40:16 anarky

The toLower() function needs only one argument. Passing 2 args is possible, in this case the second arg must be writable, which was not the case here (hence segfault).

(edit) @193 [193] 07/05/10 23:15:46 JoeCoder

More work on editable text
Added onClick event.
Fixed an event propagation bug.
Added ArrayBuilder?.splice

(edit) @192 [192] 07/04/10 14:32:17 JoeCoder

Fixed a bug in ResourceManager?.texture that prevented textures from being cached (There was a missing opCmp for the hash.)
Renamed gui/textlayout.d to gui/textblock.d

(edit) @191 [191] 07/03/10 21:58:03 JoeCoder

Added css style inheritance and auto properties to yage.gui.style
Created Surface.getComputedStyle() to get styles in terms of pixels and replause "auto" with inherited values.
Reworked Surface.updateDimensions to work off of the new getComputedStyle()

(edit) @190 [190] 06/27/10 14:17:58 JoeCoder

Added support for DXT1, DXT3, and DXT5 compressed DDS textures. DDS stores texture data in the same format that textures are compressed in video memory, reducing texture load times. Thanks go to Bill Baxter and his Luigi project on dsource.org for 95% of the DDS code.
Fixed a regression that broke tangent vector calculation and bump-mapping along with it.

(edit) @189 [189] 06/26/10 15:58:28 JoeCoder

Rebuild documentation.
Improvements to Collada loader for better ColladaMaya? and ColladaMax? support.

(edit) @188 [188] 06/14/10 23:31:08 JoeCoder

Loading joint position and vertex assignment skeletal animation data from Collada files. Loading and playing animations remains unimplemented.
A few extra material properties such as line widths and depth culling modes.

(edit) @187 [187] 06/03/10 23:09:11 JoeCoder

Fixed auto-shaders for when no Texture is used.
Improved Collada support once again.
A few other very minor bug fixes.

(edit) @186 [186] 06/01/10 13:21:18 JoeCoder

Renamed Texture to TextureInstance?.
Renamed GPUTexture to Texture.

(edit) @185 [185] 06/01/10 00:03:08 JoeCoder

Improved collada parsing again. Geometry data referenced by skeleton controllers is also loaded. Fixed parsing number lists with multiple spaces between numbers.

(edit) @184 [184] 05/31/10 13:28:34 JoeCoder

Improved support for the older collada 1.3 format (has a few things incorrect instead of crashing).
Fixed a bug that caused Geometry.optimize to leave more vertices than needed.

(edit) @183 [183] 05/31/10 11:14:55 JoeCoder

Bump mapping + specular support!
Added Geometry.optimize() which allows loaded collada meshes have about 4x fewer vertices.
Improvements to the rendering system to better handle multitexturing and also older hardware.
Material techniques are now honored. If a technique fails, the next in line will be used.
If an auto-shader fails to run, a new version with one fewer light will be attempted.
Modified SpriteNode? so it always looks at the Camera's position instead of rotating to match the Camera's rotation. This prevents sprites rotating when the camera isn't moving and only rotating.
Reorganized some of the art assets, added some new ones to show off bump-mapping.
Added better support for logging to file, and made it the default in addition to logging to console.

(edit) @182 [182] 05/25/10 16:49:56 JoeCoder

Updated TerrainNode? interface for further discussion. There's no implementation yet.

(edit) @181 [181] 05/16/10 16:01:32 JoeCoder

Added more of an interface for a TerrainNode? (no implementation for now).

(edit) @180 [180] 05/16/10 00:42:49 JoeCoder

Fixed some build errors in Demo2.
Fixed culling issue with previous build.
Started work on an interface for a new TerrainNode?, but it's very primitive at this point.

(edit) @179 [179] 05/15/10 12:06:44 JoeCoder

Created a revised OpenGL.bindTextures() for more straightforward multitexture support.
Moved shader generation from OpenGL to Render.
Modified the build script to automatically embed resources in src/yage/resource/embed
Preliminary work on getting normal maps working.
This build (and possibly others before it) has a bug relating to Node size/scale that causes some objects to be culled that should be rendered.

(edit) @178 [178] 05/07/10 00:34:59 JoeCoder

Translucent polygons are now properly sorted.
Added yage.core.parallel for parallel foreach.
Made culling offscreen Node's a little faster.
Switched from Bill Baxter's WeakRef? to Tango's.
Added Matrix.transformAffine

(edit) @177 [177] 04/26/10 00:56:16 JoeCoder

Fixed the three regressions from the last commit.

(edit) @176 [176] 04/25/10 19:42:10 JoeCoder

Added a class to auto-generate phong-illuminatin shaders based on number of lights, light types, and fog.
Reduced the number of OpenGL state changes for a significant boost in rendering speed.
Added some integration tests for lights+fog, and lots of objects.
Fixed a regression that prevented the doppler effect to be applied to sounds in some cases. Parent node's angular velocity is still not taken into account.
Regression: Rendering glitches on overlapping translucent items.
Regression: Some objects are culled too often and become invisible when they should be seen.
Regression: Sometimes the brightest lights aren't always enabled for an object.

(edit) @175 [175] 04/08/10 00:31:29 JoeCoder

Replaced Milkshape3D and custom material format with Collada.
Shaders are turned off until I finish integrating them with the new material system.
Yage no longer requires tangobos, works with the DMD tango bundle 0.99.9
Updated to latest sdl.
Debug builds now work along with tango's stack traces.
Updated documentation.
Haven't tested on linux in a while.
A zillion other little changes. I'm the only contributor so I don't have to document them all, haha.

(edit) @174 [174] 02/07/10 21:47:44 JoeCoder

Finished migrating OpenGL shader code out of resource.layer and into graphics.api.opengl.

(edit) @173 [173] 02/06/10 22:15:55 JoeCoder

ditto.

(edit) @172 [172] 02/06/10 01:54:17 JoeCoder

Halfway through migrating OpenGL shader code out of resource.layer and into graphics.api.opengl

(edit) @171 [171] 02/05/10 00:35:44 JoeCoder

The OpenGL class now managers texture and vbo id's internally instead of relying on Texture and VertexBuffer? to store their own.
This allows for easier cleanup, instead of the random order of the GC calling destructors.

(edit) @170 [170] 01/31/10 01:06:18 JoeCoder

Graphics code refactoring.
Removed the heavy, low-level OpenGL wrapper (system.graphics.Graphics) and replaced it with the higher level system.graphics.api.OpenGL.
Modified textures so the graphics engine tracks all of their opengl id's.

(edit) @169 [169] 01/24/10 21:27:43 JoeCoder

Removed deprecated ExternalResource?
Made SoundContext? static instead of a singleton (it's simpler and less code that way).
Fixed some of the slowness and crashes on exit when compiled in debug mode on Windows.

(edit) @168 [168] 01/24/10 17:27:51 JoeCoder

Started work on a calculateStyle that stores absolute style values.

(edit) @167 [167] 01/22/10 23:12:06 JoeCoder

Updated mime types in order to properly display docs through apache (hopefully).

(edit) @166 [166] 11/01/09 00:25:22 JoeCoder

Reorganization of yage.gui.textlayout in preparation for allowing editable text.

(edit) @165 [165] 10/31/09 01:02:38 JoeCoder

Added yage.core.memory for faster temporary memory allocations.
Created a TLS version of singleton that allows one unique instance per Thread.

(edit) @164 [164] 10/25/09 00:03:57 JoeCoder

Embedded a small-sized ttf font into the source code to serve as a default font.
Migrated everything to the new logger.
Began work on receiving text input for editable text fields.

(edit) @163 [163] 10/24/09 13:32:45 JoeCoder

Ported more phobos code to tango.

(edit) @162 [162] 10/24/09 03:31:27 JoeCoder

Added yage.core.format (based on phobos's std.format).
Replaced the logger with a more robust version that doesn't rely on phobos.

(edit) @161 [161] 10/22/09 22:53:22 JoeCoder

Removed unused code from yage.core (async, closure, fastmap, and freelist).

(edit) @160 [160] 10/21/09 23:29:06 JoeCoder

Removed yage.util (merged into demo1)
Removed unused code from yage.core.
Added an updated version of yage.system.log
Made OpenGL wrapper faster (more still to do) and added a benchmark for it under unittests.

(edit) @159 [159] 10/18/09 17:32:38 JoeCoder

Added stencil op functions to yage.system.graphics.graphics

(edit) @158 [158] 10/18/09 16:33:13 JoeCoder

Modified yage.system.graphics.graphics to not push matrix stacks with push/pop state, for theoretically improved performance.

(edit) @157 [157] 10/17/09 21:24:48 JoeCoder

Fixed a bug with Surfaces with overflow: hidden that caused one Surface's clip area to clip another.
Added Window.toImage to get images of the color, depth, or stencil buffers.

(edit) @156 [156] 10/16/09 18:53:16 JoeCoder

Additions to system.graphics.graphics
CSS color support for 3, 4, 6, an 8 digit hex clor strings.
Support for parsing te css font property.

(edit) @155 [155] 10/02/09 20:35:08 JoeCoder

Added CSS overflow support to Style and Surface
Added transform property to style that allows transforming surfaces in 3d.
Some fixes for system.graphis.graphics.OpenGL and core.fastmap that prevented opengl states from being pushed and popped correctly.

(edit) @154 [154] 09/20/09 01:41:53 JoeCoder

ditto.

(edit) @153 [153] 09/20/09 01:38:40 JoeCoder

Changed license from LGPL 2 to LGPL 3.

(edit) @152 [152] 09/19/09 21:50:33 JoeCoder

Moved layer.unbind into system.graphics.render.

(edit) @151 [151] 09/19/09 21:35:45 JoeCoder

Updated documentation.
Fixed search box on documentation page.

(edit) @150 [150] 09/19/09 12:42:56 JoeCoder

Fixed one crash when compiling in debug mode (in Repeater).
Fixed OpenAL default device name querying.
Removed the need for system.graphics.resource (resources are acquired and released by the renderer as needed.
Optimized Image.resize by almost 2x.
Replaced gluBuild2DMipmaps with custom image resize code for better control and slightly more speed.
Replaced Camera.toTexture with Render.scene(Camera, target);
Added Array template for 3-6x faster opCat
Added system.graphics.Graphics and replaced all OpenGL calls
Moved layer.bind and texture.bind into Render to keep all OpenGL code in one place.
Added tangotrace3 for stack tracing on windows.
Render target support, allowed rendering directly to buffer instead of to a texture first.
unittests folder for automated tests and benchmarks.
New yage3d.exe for windows.
This build hasn't been tested on linux!

(edit) @149 [149] 08/29/09 21:22:17 JoeCoder

insignificatn build script changes.

(edit) @148 [148] 08/11/09 00:10:08 JoeCoder

Simplified yage.node.scene.

(edit) @147 [147] 08/04/09 22:08:18 JoeCoder

Added support for opacity to Surface styles.

(edit) @146 [146] 08/04/09 00:08:05 JoeCoder

Added system.graphics.graphics as a wrapper around OpenGL to provide error checking, improved state management, and thread safety.

(edit) @145 [145] 08/01/09 23:53:48 JoeCoder

Added support for Style.TextAlign?.CENTER and Style.TextAlign?.RIGHT

(edit) @144 [144] 08/01/09 23:16:21 JoeCoder

Fixed miscoloration on overlapping text glyphs.

(edit) @143 [143] 08/01/09 16:47:41 JoeCoder

Made LightNode? simpler by replacing getters/setters with public properties.
Fixed rendering of <i style="font-style: normal">foo</i> (so that it's not italicized.)
Replaced some instances of tango.text.Ascii.toLower with tango.text.Unicode.toLower.

(edit) @142 [142] 08/01/09 15:20:19 JoeCoder

updated docs.

(edit) @141 [141] 08/01/09 14:55:57 JoeCoder

Added support for better-rendered italic fonts.
fixed missing imports for tango.text.Unicode.toLower.

(edit) @140 [140] 07/15/09 23:59:44 JoeCoder

Added basic support for italic text and inline <i> tags in surface html text.

(edit) @139 [139] 07/15/09 00:01:21 JoeCoder

Added support for text boldness w/o the need for a bold version of a font.
Fixed freeze on negative font sizes.
Fixes to Image function array index out of boounds errors.

(edit) @138 [138] 07/12/09 15:02:43 JoeCoder

Replaced a lot more phobos calls with tango calls.

(edit) @137 [137] 07/12/09 13:43:02 JoeCoder

More textlayout performance improvements.

(edit) @136 [136] 07/04/09 17:28:28 JoeCoder

readded htmlmime type typ docs?

(edit) @135 [135] 07/04/09 17:14:34 JoeCoder

Added back documentation.
Performance improvements to Image.overlayAndColor

(edit) @134 [134] 06/28/09 14:40:31 JoeCoder

Fixed most of the performance issues in TextLayout?

(edit) @133 [133] 06/27/09 23:13:38 JoeCoder

Small fixes to textlayout and build script.

(edit) @132 [132] 06/23/09 21:10:45 JoeCoder

Converted build script to use CDC (Compile D Code) build script.
Removed phobos dependencies from yage.core.timer.

(edit) @131 [131] 05/19/09 00:05:32 JoeCoder

Added a preliminary version of TextLayout?, which moves text layout functionality out of Font.
Renamed /proj to /build so it would be easier to find.
Regression: text rendering speed needs some work.

(edit) @130 [130] 03/21/09 22:06:18 JoeCoder

More additions to yage.gui.TextLayout?
More conversions from tangobos to tango.

(edit) @129 [129] 03/15/09 00:04:37 JoeCoder

Removed all use of phobos from yage.gui

(edit) @128 [128] 03/14/09 23:54:59 JoeCoder

Removed almost all of the phobos dependencies from yage.core.* (replacing them with Tango)

(edit) @127 [127] 03/14/09 22:41:55 JoeCoder

Removed yage.system.constant and move the constants into enums in the classes that use them.

(edit) @126 [126] 03/14/09 19:44:43 JoeCoder

Refactoring:
Moved yage.core math related classes into yage.core.math
Moved yage.system graphics related classes into yage.system.graphics
Moved yage.system sound related classes into yage.system.soundsystem

(edit) @125 [125] 03/14/09 01:05:51 JoeCoder

Added yage.core.object2 to consolidate a custom object class, exceptions, and interfaces.
Added support for gui Surface borders, css3's border-image property (partial), and padding.
Added yage.gui.TextLayout? to help compose text.
Modified Surface to use geometry for rendering.
Began moving all opengl specific code into yage.system.graphics.*
Fixed a text layout issue with line returns.
Removed OpenAL code from yage.scene.camera.
Other smaller changes.

(edit) @124 [124] 02/01/09 23:18:08 JoeCoder

Fixed crash when rendering a model with no vertices.
Added preliminary code for SurfaceGeometry?, a new class to store and modify geometry for gui surfaces. This will allow for easily supporting borders and padding.

(edit) @123 [123] 01/31/09 23:40:54 JoeCoder

Consolidated yage.resource.vertexbuffer and yage.resource.mesh into yage.resource.geometry

(edit) @122 [122] 01/31/09 22:46:26 JoeCoder

Refactored VertexBuffer? into a more re-usable form.
Created a Geometry super-class with code that was refactored out of Model. Hopefully this can be used for all 3D geometry.
Moved more OpenGL calls out of other modules and into yage.system.Render. Although Yage will probably always use OpenGL, this still makes the rendering system more modular.
Terrans, Graphs, and skeletal animation hasn't been tested since the above refactoring.
Updated yage.core.repeater to no longer cause a hang when the program terminates abnormally
Updated yage.core.repeater to use tango's Thread.sleep(). The framerate now seems more fluid with less jerks.
More tangobos to tango migration updates.

(edit) @121 [121] 01/28/09 22:52:49 JoeCoder

Converted a few more phobos imports to tango.

(edit) @120 [120] 01/24/09 23:35:59 JoeCoder

Fixed a bug in the build script for windows that arose sometime during the transition to Tango.
Make sure to delete any libs in the lib folder from before the switch to Tango, so that they can be rebuilt.

(edit) @119 [119] 01/24/09 01:19:13 JoeCoder

Experimental build that's been converted to use tango + tangobos.
This has only been tested with dmd on Linux.
Hopefully, Tango can provide a bright future for Yage.

(edit) @118 [118] 01/20/09 22:44:13 JoeCoder

Mostly minor changes.
Renamed yage.system.device to yage.system.system, since most of the hardware device functionality has been moved elsewhere and is continuing to do so.
Updated yste.system.openal to feed a few missed openal functions through the error checking wrappers.
Updated copyrights to 2009.

(edit) @117 [117] 01/18/09 21:54:24 JoeCoder

Added a completely rewritten sound system that allows for an unlimited number of SoundNodes?, instead of the OpenAL implementatin's max (often as low as 16 or 32). This new sound system is also much more stable and better at cleaning up after itself.
The stability of the new sound system allows for scenes to be recreated and destroyed without any errors--great for restarting a level.
Fixed new build script for Windows.
Fixex a bug in yage.core.timer when calling play() multiple times.
Moved all OpenGL functionality in yage.scene.light into system.renderer, to keep rendering code more self-contained.
Updated auto-generated API documentation.

(edit) @116 [116] 01/13/09 22:29:29 JoeCoder

Modified build script (renamed to proj/buildyage.d) to build derelict libs (for dmd or gdc) if they don't exist.
Partial fixes for being able to delete and recreate scenes at runtime.
Portions of a new (but currently unused) sound system added.
This build hasn't been tested on Windows or thoroughly tested for stability.

(edit) @115 [115] 01/03/09 21:32:44 JoeCoder

Added error callback functions for Scene's threads. This allows the program to terminate when one scene crashes, or custom behavior.
Added Device.abort to serve as a global error callback for asynchronous code.
Fixes for scene's background color and fog.

(edit) @114 [114] 01/01/09 23:47:56 JoeCoder

Added setScale() to MoveableNode? and added methods to Matrix to modify rotation/scale in a transformation matrix without modifying the other.

(edit) @113 [113] 12/30/08 23:55:33 JoeCoder

Added system.ALContext to allow virtual wrappers around a single OpenAL context.
Modified each scene to have a sound_thread that handles decoding/playing all of the scene's sounds in its own thread.
Deleted some old resources that are never used (mostly because they're ugly).
Removed res2 folder, all resources are now public domain or close enough to it that it doesn't matter.
Other minor changes.

(edit) @112 [112] 12/24/08 22:59:26 JoeCoder

Fixed a segfault that could occur in GDC-compiled versions of the engine involving a node's update function.

(edit) @111 [111] 12/14/08 00:13:56 JoeCoder

Added global list of external resources so they can be cleaned up by Devince.deInit()
Regressions from around revision 109 are still present.

(edit) @110 [110] 12/07/08 17:58:32 JoeCoder

Fixed some compilation problems for GDC with yage.core.closure and yage.core.async.
Created VertexBuffer? class that uses closures and got rid of LazyVBO.
Regression: GDC compiled code often has runtime segfaults.
Regression: Every now and then, DMD compiled code has segfaults on init or exist.
Revision 108 is probably the most stable for the time being.

(edit) @109 [109] 12/06/08 21:41:51 JoeCoder

Added yage.core.closure
Modified LazyResourceManager? to maintain its list of actions in an array of closures.
Modified GPUTexture to use LazyResourceManager?.

(edit) @108 [108] 11/29/08 20:08:09 JoeCoder

Fixed some SoundBuffers? not being cleaned up when Sounds and SoundNodes? are deleted.

(edit) @107 [107] 11/24/08 22:44:43 JoeCoder

Renamed Resource to ResourceManager?
Created Resource as a base class of all filesystem resources.

(edit) @106 [106] 11/23/08 18:49:18 JoeCoder

Added LazyResource? to allow resources to be created and then later bound when the rendering thread is ready to make the openGL calls to create them.
Updated buildme.sh backup build script to use rebuild instead of bud.
Added finalize methods and Device.deInit for better resource cleanup (instead of relying on the unpredictible order of cleanup of D's gc).
Fixed some crashes and freezes that were occurring in the last build.

(edit) @105 [105] 11/19/08 22:34:52 JoeCoder

Simplification of VisibleNode?.enableLights.
Other minor changes.

(edit) @104 [104] 11/17/08 23:58:14 JoeCoder

Yage now builds and runs with GDC on Linux!
Added Device.deInit();
Additional cleanup on SoundNode? destructor.

Note: See TracRevisionLog for help on using the revision log.