Wintermute Engine ever growing TODO list ======================================== Features / bugs --------------- -Redo? -"canvases" in SceneEdit (predefined Scene States) -MIDI? -color gradient for regions (linear, radial, bitmap) -custom font in ProjectMan -Speex support -loading progress indicator -LipSync stuff (silence detection + Pamela support) -check out bzip2 (http://sources.redhat.com/bzip2/) -check project consistency in ProjectMan -user definable actor directions (number, angles) -pixel operations on sprite frames -odnorf font(TM) -slider control -skew -keyboard: enter on project tree node; keyboard shortcut for switching between settings and preview pane in SpriteEdit (-possibly FadeOut/FadeIn for music) -script method for changing light pos -talk/anim transitions: http://forum.dead-code.org/index.php?topic=927.0 -tools bug-collection: http://forum.dead-code.org/index.php?topic=826.0 -RunDocument (and wait) -setup API dll -walking velocity; definable angle ranges for walking directions; http://forum.dead-code.org/index.php?topic=1472.0 -object.ResetScripts() -music queue -subframe/frame/sprite/entity dimensions -gamma correction -reload script in debugger -get actor's region(s) -bug: if(m_Driver) delete [] m_Descript; (in hwdevice.cpp) Solved ------ x -BUG: Settings window is always displayed x -BUG: Game.PrevScene returns in the first scene x -BUG: misspellings in alphabet in font preview x -BUG: SceneEdit screws up the scene viewport definition x -BUG: TurnTo(object) doesn't always work x -BUG: the templates reference .fnt files instead of .font x -BUG: cannot delete a sound file in ProjectMan while it's being "previewed" x -BUG: sound panning doesn't work for the "sound" entities ('cause the Display isn't called for them, they are EditorOnly) x -BUG: weird string behavior when the string table ID is very long x -BUG: Game.PlayVideo() freezes the game forever... (bug introduced in build030) x -BUG: PlayAnim doesn't set the animation owner x -BUG: entity.SetSprite followed by Talk sometimes crashes the engine x -BUG: bmp loader fails for certain photoshop-generated bitmaps x -IMAGE_HOVER for inventory items x -reverse the searching order in Scene.GetRegionAt x -display scene name in debug info x -optionally trigger an event after a sound finishes x -add a method for querying number of remaining reponses in the response box x -add a GetCurrentDlgBranch() method x -alpha color property for actors/entites (will override region settings?) x -allow scene layers to be "exclusive" (for close-ups) x -SpriteEdit - copy key color to all frames x -PNG support x -calling html help file from tools x -scale attribute for actors/entities x -icon change for wme.exe (NT only) x -IsMusicPlaying x -StickToRegion x -expose scrolling speed modifiers to the scripting layer x -RelativeScale attribute x -user defined methods for objects x -absolute/relative subtitles position x -startup scene in ProjectMan x -new Object x -Math class x -correct slashes in filenames when opening packaged files x -vertical alignment for static controls x -thumbnails for savegames + taking screenshots x -jpeg support x -LoadFromFile for window controls x -object.CanHandleMethod() x -overridable build-in methods x -Entity.SetTalkSprite; EntityContainer.SetEntity; Scene.Offsetx/OffsetY; Entity.GetSprite x -Static.HeightToFit() x -object.SetFont(); object.GetFont() x -independent scaling in x/y x -sprite rotation x -control.MoveToTop() / MoveToBottom() x -Game.LoadStringTable() x -grayscale save thumbnails x -PNG/TGA transparency in compatibility mode x -document the entity container and keyboard state object x -calling tools from ProjectMan x -music loop start x -actor.IsWalking() x -Game.GetMusic() x -dynamic object creation x -AlphaColor for windows x -scriptable sprites x -multichannel music + crossfade x -fix multiple packages bug x -animated fonts x -BUG: scaled sprite doesn't handle vertical speed changes x -allow to specify amount for inventory items + display x -Game.PrevSceneFilename x -private inventories for different actors/entites x -enhance inventory items scripting-wise (for talking frogs etc. :) x -Game.DestroyItem() x -Scene.IsScrolling() x -save/load indicator x -region entry/leave events x -Game.Reset() // reset global vars and scene states and responses x -window.PauseMusic x -BUG: resume all sounds after window is closed x -Game.OpenDocument(), Game.WindowedMode x -Game.GetResponseWindow() x -take a break (hi odnorf! ;) x -FadeOut starts from current value x -default GoTo coordinates in SceneEdit x -automatically generate scripts for new nodes in SceneEdit x -extend scene states x -alternative non-freezable fader ? -disable drives scanning at startup (possible slowdowns in case of mapped network drives) x -save/load window x -fix the GetResponseWindow and SetMusicPositionChannel method names; and EDITOR should read EDIT in the UI chapter x -scaled screenshot with a custom filename x -const (i.e. a global variable unaffected by Game.Reset()) x -expand the amount label for items to any string x -add a method for querying an item whether it's taken or not x -mouse goes offscreen in multi-monitor environments x -"none" direction in SceneEdit X -revive the 3D characters (+shadows) x -BUG: HRESULT CBGame::Freeze(bool IncludingMusic) -> pass IncludingMusic to PauseAll X -setting nonint cursor X -disable volume preserving in the tools x -loading icon - http://forum.dead-code.org/index.php?topic=737.0 x -recursive string table x -setting camera FOV in SceneEdit x -direct control support for 3D characters x -configurable save dir x -a script method for clearing the script cache x -auto-switch to user's private directory if game dir is read-only x -disable mouse-over events in non-interactive mode x -Game.AcceleratedMode attribute x -SubtitlesPosx specifying optionally left edge or center point of the subtitle (SubtitlesPosXCenter) x -reload inventory/response box at runtime (LoadResponseBox, LoadInventoryBox) x -scaling in entity containers - http://forum.dead-code.org/index.php?topic=689.0 x -check if it would be possible to have events and infinite loops in one script x -prevent actors from getting stuck while walking x -MemBuffer object x -File and Directory objects x -BUG: tools crash if DX 8.0 isn't installed x -mem dump command (Game.DumpTextureStats) x -SF implementation: make one or two init functions DLL exports x -BUGGIE: MusicCrossfade should use current music volume, not 100% x -sound FX (SoundFXNone, SoundFXEcho, SoundFXReverb) x -actor.SetSprite() x -document SetMusicChannelVolume/GetMusicChannelVolume x -docs: fix this: http://forum.dead-code.org/index.php?topic=846.0; broken links in GUI into chapter x -docs: ScrollingSpeed* -> ScrollSpeed* x -BUG: reloading actor doesn't invalidate Game.MainObject, causing crashes on Win9x x -loop start for playsound x -TTF support, UTF8 support (Game.TextEncoding) x -BUG: crash on RemoveMesh ? -BUG: jpg textures don't work?: http://forum.dead-code.org/index.php?topic=939.0 x -BUG with .Length (below) x -reload items after Game.Reset(); x -Game.LoadItems(); method x -entity_containter.Freezable x -make Game.DisplayLoadingIcon() optionally persistent and add Game.HideLoadingIcon() x -BUG: some MS3D animations don't animate correctly x -BUG: occasional crashes when saving game/changing scene after load x -BUG: streaming animations don't work with JPGs x -DOC: put back the dialogue article x -advanced plugin support x -configurable clipping planes and waypoint height x -Game.Direct3DDevice, Game.DirectDrawInterface x -BUG: occasional crashes with TTF fonts x -RTL (Game.TextRTL) x -Theora x -PlayVideo for entities (+masks; external aplha channel or something like that) ? -BUG: PlayVideo crashing (see below) ? -GetMusicChannelVolume crashes?? x -optionally don't mute the music while playing video x -BUG: TTF captions wrapping/ TTF alpha doesn't work x -Game.Frozen x -user-defined fonts for various responses x -ISubFrame plugin class; IWmeObject.GetInterface() method x -ISubFrame serialization x -revive the .NET wrapper x -automatically look for speech files based on string table ID x -Game.AddSpeechDir(), Game.RemoveSpeechDir() x -BUG: crash on shutdown when using custom TTF fonts x -make all defined inventory items queriable (Game.TotalNumItems, Game.QueryItem()) x -BUG: CAdItem's sprite doesn't get an owner reference (http://forum.dead-code.org/index.php?topic=1370.0) x -readable mouse button states (can be queried using Keyboard.IsKeyDown()) x -scriptable viewport dimensions (Game.SetSceneViewport(), Scene.SetViewport()) x -sound buffer size settable from a script (Game.SoundBufferSize) x -BUG: restoring custom camera FOV http://forum.dead-code.org/index.php?topic=1308 x -RightDoubleClick x -GUI buttons shouldn't react in non-interactive mode x -private inventories remember their scroll offset + Game.InventoryScrollOffset -support for X format x -load, animate & render x -smooth animation transitions x -attachments x -release beta 1 :) x -texture changing x -turning animations x -2D or 3D pathfinding x -optional backface culling for 3D actors (actor3d.DrawBackfaces) x -Entity.PlayTheora() should inherit scaling from Entity.Scale (if set) x ---> http://forum.dead-code.org/index.php?topic=1406.0 x -BUG: X serialization (below) x -BUG: Direction/Angle needs to be normalized (http://forum.dead-code.org/index.php?topic=1434.msg10208#new) x -BUG Item.GetHoverSprite() doesn't work x -BUG: ActorX.PlayAnimAsync() x -check if active object can respond to selected item (Game.SmartItemCursor) x -object.BlendMode x -two devices with the same GUID? (dual screen) x -particles x -particle additions: http://forum.dead-code.org/index.php?topic=1360.msg10411#msg10411 x -Game.SuspendedRendering x -BUG: blend mode isn't restored after alt+tab x -accessibility x -dcgf.ini -> wme.ini x -redesign startup dialog x -ProjectMan doesn't check for updates if there's no inet connection x -BUG: Division by zero when dividing by decimal number < 0.5 x -multimon improvements x -absolute path warning http://forum.dead-code.org/index.php?topic=1051.0 x -more particle additions: http://forum.dead-code.org/index.php?topic=1360.msg10441#msg10441 x -DOC: mistake http://forum.dead-code.org/index.php?topic=1475.0 x -accessibility: global pause; only display highlight when ctrl is held down x -Game.LastResponseOrig x -GLITCH: SpriteEdit/SceneEdit shouldn't complain about absolute path when opening a sprite file x -BUG: crash in tools after changing HW settings x -BUG: incorrect texture assignment in some x models x -BUG: WME crashes on Theora playback whenever Theora uses sound and you setup in engine settings [no sound] option. x -responses alignment within the response area (top, bottom) --- 1.7b1 x -Game.TalkSkipButton x -AnimTicksPerSecond x -low-poly model for 3D actors for stencil shadow purposes x -upgrade to libtheora a7 x -actorx.AnimTransitionTime x -Button.TextAlign x -RTL in settings dialog x -Spacebar swaps node activity in SceneEdit x -don't show hidden files in ProjectMan x -bounding box bug? http://forum.dead-code.org/index.php?topic=1520.msg10931#msg10931 x -BUG: 3D actors events skipping http://forum.dead-code.org/index.php?topic=1552.0 x -loading/unloading x individual animations (actor.MergeAnims(), actor.UnloadAnim()) x -particles: single burst only (Emitter.MaxBatches) x -Game.MaxShadowType; Game.IsShadowTypeSupported(); Scene.MaxShadowType; actorx.ShadowType x -GoTo() one pixel tolerance to prevent erratic behaviour or actors (actorx.GoToTolerance) x -camera roll for 3ds --- 1.7b2 x -check SetTexture (see below) x -Game.ClearResponses() x -BUG: blending mode can affect 3D actors x -low-res shadow model is also used for flat shadows x -BUG: CScValue double constructor: m_Type = VAL_INT; x -port the entire source tree to VS2005 x -3D geometry scrolling x -BUG: Game.HideLoadingIcon() doesn't return any value causing stack corruption x -STM: strings not written to game files shouldn't be added to string table x -debugging console x -BUG: alpha < 8 --- 1.7final x -script event triggered on particle batch generation (emitter.EmitEvent) x -Game.ChangingScene x -Game.LockMouseRect() x -initial animation in SceneEdit --- 1.7.1 x -iterating free scene nodes (Scene.GetFreeNode(), Scene.NumFreeNodes) x -dynamic region creation (Entity.CreateRegion(), Entity.DeleteRegion(), Entity.Region, Region.AddPoint(), Region.InsertPoint(), Region.SetPoint(), Region.GetPoint(), Region.NumPoints) x -sprite attachments (AddAttachent(), RemoveAttachment(), GetAttachment(), NumAttachments) x -Game.SuppressScriptErrors x -block selection/deselection in STM (Shift+Click, Shift+Ctrl+Click) x -watches; native props | -string table issue? (and I found a funny bug/feature. If you have assigned string.tab file and call Game.ExpandString() for text which isn't contained in this file (I have a general talk which does this always) diacritics gets eaten. If I detach the string.tab file in Project Manager or fill the key in, it works ok.) x -scene should probably reset its sound volume on ChangeScene --- 1.7.2 x -SetFont(null) shouldn't try to load a file named "null" x -ProjectMan issues http://forum.dead-code.org/index.php?topic=1956.0 x -Scene.AddLayer(), Scene.InsertLayer(), Scene.DeleteLayer() x -Layer.AddEntity(), Layer.AddRegion(), Layer.DeleteNode() x -Layer.Width / Layer.Height settable x -BUG: .geometry files parsing x -Window.Transparent x -Scene.AmbientLightColor x -Game.MusicCrossfade() fix x -Integrator x -Bundle SciTE --- 1.7.3 x -GeSHi support for Integrator x -docs: MergeAnims/UnloadAnim are placed in wrong section x -BUG: StickToRegion reset on scene transition x -BUG: PlayTheora volume x -BUG: memory leak in String.Split() x -BUG: changing script order in ProjectMan x -BUG: Sprite.AddFrame() x -BUG: alpha color for entity containers x -3D scene viewport tweak x -Scene.EnableFog(), Scene.DisableFog() x -display hotspot for entities in SceneEdit --- 1.8b1 x -BUG: custom scene props not reset on scene transition x -BUG: package directory corruption x -crash reporting x -SceneShutdown event | -resize blocked_region according to current scale (it DOES scale) | -BUG: after adding new package ProjectMan needs to be restarted for the templates to work ok (seems to work ok now) | -BUG: http://forum.dead-code.org/index.php?topic=1099.0 (can't repro) x -require sound x -uxtheme tweaks x -manual FOV in SceneEdit x -direct walk vs 2D-based pathfinding x -BUG: Particle emitter always using the same sprite x -Game.StartupScene x -Scene.GetLightColor() x -BUG: abs path warning on personal saved games x -Game.MaxActiveLights, Game.HardwareTL x -D3D9 port x -T&L --- 1.8b2 x -crash on missing x models (new in 18b1) x -no missing dll warning when running game from projectman (new in 18b1) x -make 2D actors' animation handling more similar to the 3D act model x -Game.StoreSaveThumbnail(), Game.DeleteSaveThumbnail() x -rich saved games support + use "saved games" folder (vista) x -game explorer integration (vista) x -debugging options in projectman x -'copy as is' filter in projectman x -BUG: Enable/DisableLight not working (new in 18b1) x -Scene.NumLights, Scene.GetLightName(Index), Scene.IsLightEnabled(), Scene.IsNode3DEnabled() x -HSL color model -> MakeHSL(), GetHValue(), GetSValue(), GetLValue() x -actor3D.IsAnimPlaying(), actor3D.IsAnimChannelPlaying() x -actor3D.SetAnimTransitionTime(), actor3D.GetAnimTransitionTime() x -actor3D.TalkAnimChannel --- 1.8b3 x -BUG: occassional bitmap font text corruption (new in 18b1) x -WindowEdit --- 1.8b4 x -hide mouse pointer in sceneedit if ctrl is held down; +/- for waypoints x -accept SPACE or TAB as stringtab separator x -crc Game.GetFileChecksum() x -actor.AnimStopTransitionTime; TransTime for actor.StopAnim[Channel]() x -support for uestudio and fix ultraedit ini searching --- 1.8 final x -localizable .sub files, subtitle parameter in PlayVideo/PlayTheora x -open verb in ProjectMan x -private ttf font reg x -compile single package --- 1.8.2 x -BUG: actor.GoTo3D() is not documented x -Scene.ScrollToAsync x -editor control shouldn't eat the keys it can't handle x -Game.AutorunDisabled --- 1.8.5 x -actor.GetBonePosition2D(), actor.GetBonePosition3D() x -CreateParticleEmitter() -> optionally follow owner; CreateParticleEmitterBone() x -BUG: particles now always drawn when owned by 3D characters x -BUG: crash on terminating script with child threads running x -PERF: image being loaded twice when referenced instead of sprite x -option to keep streamed sprites in memory x -sprite mirroring x -PAINT_WHOLE_CELL property for bitmap fonts x -actor3d.SetTheoraTexture() x -drop DirectDraw support x -actor3d.AddIgnoredLight(); actor3d.RemoveIgnoredLight() x -WindowEdit - hidden controls can't be selected by mouse --- 1.8.6 x -the update installer really should request elevated rights in Vista... x -BUG: misplaced theora videos played by entity containers x -add option to violate Directx EULA x -Sprite.Reset() now stops all sounds being played by the sprite x -crash reporter is disabled if debugger is attached x -utf8 and RTL support for editor controls x -deprecate Game.PlayVideo() x -private blocked regions for 3D actors --- 1.8.7 ? BUG: rendering GUI controls with zero dimensions crashes the engine (somehow can't repro it now) x -widescreen support (experimental) x -change link to www.malasieno.com x -BUG: clipping rectangle for nested windows isn't properly offset x -get save dir (Game.SaveDirectory) x -BUG: anim transition glitch http://forum.dead-code.org/index.php?topic=2852.0 x -BUG: talk anim not resetting when in channel > 0 http://forum.dead-code.org/index.php?topic=2858.0 x -BUG: drop to floor for attachments