TODO/UFORadiant

From UFO:AI
Jump to navigation Jump to search

TODO list for UFORadiant

Things have been done Things to do

Engine

  • [WIP] Replace depracted gtk function calls
  • [open] Use realpath() (MinGW has this afaik, too) to get the path of the binary. This will allow us to run uforadiant from anywhere - even without specifying the working directory. Useful for e.g. assigning the action to open a *.map file in UFORadiant by double clicking it.
  • [open] Replace image plugin with GtkImage
    • [done] A first step was to replace the jpeg and tga implementations with those from GDK (jpeg, tga and png support is included now) - the next step would be to remove the plugin completely and use the GtkImage
  • [open] Remove picomodel and use libg3d for the model plugin
  • [open] (Windows) fix integration with ufo2map for error checking
    • gtk package issue - there is a helper executable which seams to be missing from the gtk package we provided earlier - it's maybe fixed in current trunk with recent gtk package --Mattn 21:10, 16 January 2009 (UTC)
    • output on pastebin is gone. I think it also could be related to exec behavior which is different for windows - we have to figure a way to interact with the started processes. - RudolfoWood 14:42, 6 February 2009 (UTC)
  • [open] use data dir from configure for better packaging options

Sidebars

  • [open] entity inspector - typesafety (see entities.ufo):
    • [done] parser for entities.ufo (remove entities.def)
    • [done] new value: only show valid keys
perhaps some kind of combobox inside the keys column? - RudolfoWood 14:08, 22 February 2009 (UTC)
implemented a combobox, still some issues to fix with multi-selection (related to inconsistency below) - RudolfoWood 08:12, 26 March 2009 (UTC)
    • [done] fill with reasonable default value (from parsed definitions)
    • [done] after choosing the new value, default value should be selected and editable, and this field should receive focus.
    • [open] typecheck after edit of value

improvements/features

  • [open] Terrain/footstep improvements:
    • [open] Add SoundPreview widget to the surface inspector if only faces are selected the the GlobalUFOScript() terrain functions found a sound for the selected texture.
    • [open] render sound icon for footstep marked surfaces
  • [open] generate ump files or add map tiles to existing ump files
    • [WIP] UMPFile class for reading and writing ump files
    • [open] Add tile to ump feature
    • [done] UMPEditor
  • [WIP] map load preview: Basic code is there, see MapFileChooserPreview class
  • [open] render sun angles in the 2d viewports as a circle and a line in the upper right corner of each viewport.
  • [open] add a misc_sound renderer that is showing the area where the sound is hearable. We have a renderer for this already for the light entity.
  • [open] particle editor
    Basic layout of the particle editor
    • [WIP] a particle browser is now in the sidebar
      • [open] improve the data structures and the parsing functions to be able to get all the data that is needed to play the animations
      • [open] render particle animations
  • [open] texture browser should highlight those textures that have a material in the map material file
  • [open] integrate materials into render engine
    • [done] some blending is already implemented
  • [open] render particle images (3d) and/or models (2d + 3d) in the views
  • [open] make 3D freelook also work with num/capslock on
  • [done] make brush cutting preserve contentflags
  • [open] Radiant should not save incorrect maps - for example, scientific notation texture offset does not make game happy (report at Bug#2484239&)
  • [open] Radiant uses absolute paths for models, should save relative ones (to base\models directory)
    • Not a problem on Linux - seams to be windows only - maybe mixed directory separators --Mattn 13:11, 17 January 2009 (UTC)
    • mixed directory separators caused problems in path_get_filename_start, perhaps other occurences. - RudolfoWood 16:35, 5 February 2009 (UTC)
      • Still a problem? --Mattn 19:33, 27 August 2009 (UTC)
  • [done] TextureCache is not freed before destroy (load big maps like corrupter_crash and close Radiant) ->textures.cpp:Textures_Destroy must be changed
    • there is still a todo for particles - there was a problem with releasing textures - RudolfoWood 14:25, 8 February 2009 (UTC)
  • [open] integrate md2.pl features into uforadiant
    • we've ufomodel now - not all md2.pl feature are included yet, but we should use ufomodel as backend, uforadiant only as frontend.
  • [done] Texture panel shouldn`t steal keyboard focus when it`s open. It`s impossible to change for example grid when texture panel is open.

-- interactive search (enabled by default for treeviews) grabs focus, is disabled in r27334 and can still be used with Ctrl-F (or another default search shortcut) RudolfoWood 18:50, 30 November 2009 (UTC)

  • [open] Remade
    proposal of treeview for filter panel
    filter system, currently it has many useless for game entries, but misses some really needed things like misc_particle. It can be done via sidebar panel, with tree of possible filtered items, look to screenshot.

-- added some more filter options in r27337 as temporary solution

    • [done] introduce filter settings from xml like darkradiant has
    • [done] create filter tree view
  • [open] Make texture sidebar's "Hide Unused" state persistent. If I select "Hide Unused", then switch to a folder whose contents haven't been loaded, currently it loads all the textures and then I have to select "Hide Unused" again. If "Hide Unused" has been selected, I would like the sidebar to hide and NOT LOAD the unused textures as I browse through different folders (not loading will save time switching between folders).

-- darkradiant uses an improved TextureBrowser, perhaps it would be good to use their version RudolfoWood 19:12, 7 December 2009 (UTC)

  • [done] An option to apply texture to all selected surfaces except nodraws. I may be getting greedy here, but it would be nice to be able to select brushes and apply a texture to all selected surfaces EXCEPT any surfaces already textured with nodraws (maybe also the other tex_common textures. That way if I've already marked the nodraws but want to change textures, I don't have to individually select all but the bottom face of a brush. Not worth implementing unless it's fairly easy on the coding side, but thought I'd write it down. -- H-Hour
    • quite easy - class FaceSetShader
  • [open] It would be great if the Map -> Compile -> Check for errors feature (= using ufo2map -check out of radiant) would work. ShipIt
    • radiant does not save (or load) the compiler binary path