c32101b67413641c5cf90f271071359509456b8d
[xonotic/netradiant.git] / TODO
1     
2
3
4 BUGS
5
6 MSI: installer bug with new folders? : create custom dir, click New Folder icon, type "FOLDER\" - gets stuck
7 GTK2: gtk2 crashes when trying to use bitmap fonts such as MS Sans Serif http://bugzilla.gnome.org/show_bug.cgi?id=142579
8 GTK2: alt+tab while mouse button is held down: see http://bugzilla.gnome.org/show_bug.cgi?id=145156
9 UI: changing resolution in floating-windows mode can screw up window positions.
10 HalfLife: half-life maps saved in q1 map format are not supported - currently have to convert them to hammer map format using hammer editor. And vice versa.
11 Entity: creating a new entity with all the brushes of another entity selected results in the latter entity having no brushes.
12 SConscript: build fails if SETUP=1
13 SConscript: svn.py fails if not using C locale - set LC_ALL?
14 GUI: can't use arrow keys to navigate in camera view when capslock is enabled
15 GUI: screensaver causes: gdkgc-win32.c: line 905 (gdk_win32_hdc_get): assertion failed: (win32_gc->hdc == NULL)
16
17
18 FEATURES
19
20 - paint-select or equivalent (e.g. area-selection with occlusion)
21 - select-complete-tall or equivalent (e.g. subtract-from-selection modifier key)
22 - need some equivalent to select-inside.
23 - texture pane names are often illegible, becuase 1. they are long and overlap each other and 2. they overlap the outline rectangles around the images themselves.
24 - texture sizes sometimes vary wildly.  It would be nice to find a way to normalize their display size so that very big textures are shrunk a little, and very small textures are blown-up a little.
25
26
27 Build: document build-menu xml format.
28 The build menu in GtkRadiant 1.5 is entirely customisable - you can make it run qbsp3/qvis3/arghrad or any tool you want. Use 'Build > Customize...' to edit the menu.
29
30 Menu commands are the shell commands that Radiant will execute when you choose the menu item. You can add as many commands as you want to a single menu item, and they will be executed in sequence. The commands contain variables, specified using []. The values of variables will be substituted when the command is executed.
31
32 For example:
33 <pre>[q2map] -bsp "[MapFile]"</pre>
34 becomes:
35 <pre>"C:\Program Files\GtkRadiant 1.5.0\q2map" -fs_basepath "c:\quake2" -bsp "c:\quake2\baseq2\maps\blah.map"</pre>
36 This uses the predefined variable 'MapFile' and the custom variable 'q2map'. 'q2map' is defined in the XML file, and 'MapFile' is the full path to your map.
37 The 'MapFile' variable is enclosed in quotes, because the path to your map may contain spaces.
38 At the moment you can only create custom variables by editing the XML file. A custom variable for arghrad would look something like this:
39 <pre><var name="arghrad">"[RadiantPath]arghrad"</var></pre>
40 This variable could then be used in a command like this:
41 <pre>[arghrad] "[MapFile]"</pre>
42
43 Entity: option to filter non-world entities (e.g. not func_group or func_static)
44 Rotate Tool: if more than one object is selected, with different local orientations, use parent-space rotation pivot instead of local-space
45 Texture Browser: add a way to make large texture sets more manageable - shaderlist.txt was previously used this way
46 Brush: MMB+ctrl to paint texture on whole brush/patch.
47 Camera: add alternative highlighting styles (used to be J).
48 Doom3: filter func_splinemovers
49 Entity: draw arrowheads to show direction of connection-lines.
50 ? MMB to select a texture should also apply that texture to all selected faces.
51 Mouse: support 2-button mouse.
52 Grid: background colour should be different when the smallest grid is invisible due to being zoomed out.
53 Brush: option to disable dots on selected faces when not in face mode.
54 Entity: draw direction arrow for func_door and func_button angle.
55 Toolbar: add button for refresh-models.
56 Build Menu: support for editing variables.
57 Shaders: handle doom3 materials with multiple bumpmaps stage - use first stage, ignore later stages.
58 Brush: warn when a brush is dragged into a configuration with <0 volume
59 Textures: add option to give new brushes a specific texture instead of the last selected.
60 ? QE-tool: click anywhere on xy view to drag entity instead of requiring clicking directly on entity.
61 Camera: option to toggle stats on/off.
62 UserDocs: how to use multi-vertex selection - replaces vertex-edit-splits-faces option:
63 UserDocs: how to use parent-selection:
64   Parent-selection works like Maya: it allows you to 'reparent' brushes
65   onto other entities than the one they're currently part of. To use it,
66   select some brushes, select an entity, Edit -> Parent.
67 Textures: add anisotropic filtering.
68 Preferences: allow preference settings to be shared across games.
69 Preferences: add colour 'theme' files using prefs format.
70 Preferences: sensible default size for prefs window.
71 GUI: detachable submenus.
72 Doom3: add model browser.
73 Doom3: s_diversity light key.
74 HalfLife: enable HL-mode on linux/osx.
75 Renderer: doom3 'parallel' and 'spot' light support.
76 Entity: add mouse-editing for doom3 light_center key
77 Shaders: add support for texture transforms.
78 Shaders: add support for 'addnormals' keyword - e.g. models/mapobjects/healthgui/healthguidirty
79 TGA Loader: check that true-colour images with palettes are properly handled.
80 Module System: reinstate 'refresh' feature.
81 Surface Inspector: add button for 'axial' projection for doom3.
82 Build: fix hardcoded engine-launch commands - use similar system to build-menu command description.
83 Filters: use q2/heretic2 content flags to filter brushes.
84 ? Surface Inspector: allow material names not relative to 'textures/' for doom3
85 Module System: add versioning for module-system api.
86 svn: remove install/ dir, create it during build process on win32
87 Editing: add option to choose the default startup tool mode.
88 Renderer: lighting for doom3 materials without bumpmaps (e.g. mcity/mchangar2)
89 Renderer: realtime doom3 materials preview
90 Renderer: realtime doom3 shadows preview
91 Renderer: add shortcut to toggle between lighting/textured modes.
92 Linux: Provide .tar.gz of example-map data for et/wolf.
93 Textures Window: add inner dark outline to distinguish 'is-shader' outline from white textures.
94 HalfLife2: add HL2 map load/save.
95 Selection: add move-pivot mode to allow rotation/scale around a custom pivot-point.
96 Selection: add rotate increment for rotate manipulator.
97 Selection: visibly distinguish between entity and brush selections
98 Selection: need 'add to selection' and 'subtract from selection' modifiers
99 Selection: Finish scale manipulator.
100 Toolbar: add shortcut to tooltips for toolbar buttons
101 FaceCopy/PasteTexture: Make face-copy/paste-texture shortcuts customisable.
102 Manual: add documentation about search paths for .ent/.def/.fgd, shaders etc for each game.
103 Halflife: add support for cstrike fgd.
104 HalfLife: disable patches
105 HalfLife: add HL .mdl model loader.
106 HalfLife: add HL .spr support.
107 HalfLife: support fgd 'flags' attributes.
108 Model: add support for doom3 md5anim format
109 Model: support doom3 ragdolls
110 VFS: add ability to browse VFS from file-open dialogs.
111 Installer: enable q3 brush-primitives map support.
112 Installer: add editor manual to linux installer
113 Textures: remove "shaders only" option for doom3
114 Map: add conversion between map formats
115 Map: add conversion between entity definition formats
116 Build: add build-menu dmap support (doom3)
117 Entity: optionally draw target connection lines thicker than one pixel.
118 Entity: add specialised attribute-entry in entity-inspector for integer/real/color attribute types.
119 Patch: add cap-texture, fit-texture and natural-texture toolbar buttons
120 Patch: draw patches in wireframe from the back, make patches selectable from the back
121 Patch: add option for convert-selection-to-new-brush/patch
122 Patch: fix bobtoolz merge-patches feature
123 Patch: fix insert/remove rows/cols indicated by current selected patch vertices.
124 Autosave/Snapshots: Add support for multi-file maps.
125 Quake2: Q2 hint transparency support
126 XYWindow: save show-workzone option
127 Shortcuts: make shortcut list editable within radiant.
128 Shortcuts: convert shortcuts.ini to xml.
129 Shortcuts: warn when duplicate shortcuts are registered
130 Shortcuts: rename commands in order to group shortcuts list better.
131 upgrade to new API for SymGetModuleInfo - required for compiling with Visual Studio 8.0
132
133
134 LOW priority features
135
136 Selection: Add shear manipulator?
137 Textures Window: Improve texture-manipulation and texture-browsing tools.
138 Undo: make selections undoable?
139 Win32 Installer: Automatically upgrade existing installation.
140 Selection: grow-brush-selection feature - select all neighbouring brushes
141 General: refactor game-specific hacks to be parameterised by .game file
142 Patch: Overlays, Bend Mode, Thicken.
143 Brush: Add brush-specific plugin API.
144 Entity: Draw light style numbers.
145 ... Entity: Show models with model2 key.
146 Entity: Interpret _remap* key (_MindLink_).
147 Entity: Support _origin _angles _scale on groups.
148 Selection: Add Primitive-mode shortcut key/button.
149 Selection: Customisable manipulator size - +/- to change the size of the translate/rotate tool. 
150 Selection: Add optional screen-relative control for constrained rotations.
151 Clipper: Change selection/manipulation to be consistent with other component editing.
152 Filtering: Either deselect filtered nodes, or render filtered nodes that are selected.
153 Texdef: Make texdef formats abstract, add conversion between texdef formats (use generic affine-texture-matrix format for conversions).
154 Textures Window: Precise display of texture size when selecting.  (tooltip, possibly)
155 Status: 'Size of brush' display on status bar.
156 Colours: maya scheme default?
157 Quake: add support for adjusting gamma on quake palette?