Q 3ASE Changes

 
   
 
C  hanges
15/08/2002 (Release 1.5.2)
  • Support for multiple q3map_sun
08/07/2002 (Release 1.5)
  • Bugfix : some MD3s seem to be empty (bad mesh or read problems) -- used to crash on those
07/07/2002
  • Added some shadow parameters -- lightposition, darkening factor, floor shader, etc
25/06/2002
  • Added some basic options to the MD3 dialog for moving the light and enabling/disabling shadows
  • Bugfix : proper pixelformat enumeration. Desktop should be in 32bpp for shadows though
  • Bugfix : MD3 render style (normal/flatshaded/wireframe) checkboxes no longer blank at startup
24/06/2002
  • Finally got decent stencil shadow volumes for MD3s
15/05/2002
  • Added support for RoQ playback to the ActiveX
  • Switched AX version to .2 so check-for-presence VB scripts can work properly
  • AX will no longer load local files in their entirety into memory -- good when playing back large roqs
12/05/2002
  • Marked the control Safe for Scripting and Initialisation
  • Changed the ActiveX GLSetup code -- again
11/05/2002
  • Fixed some bugs in the RoQ decoder
09/05/2002
  • Added RoQ support to the app (not the activeX yet) -- thanks to Tim Ferguson for the Roq spec
06/05/2002 (Release 1.4)
  • Better thread safety and shutdown code for the AX
  • Added a TimeDelta property to the AX
21/04/2002
  • Bugfix : looping frames in an MD3 was not correct
  • Trying a different scheme for loading OpenGL in the AX
19/04/2002
  • Rolled the experimental ActiveX control into the q3ase codebase so it'll be part of the package in the next version
13/04/2002
  • Support for unparsed data in XML input/output
  • Finally support for doubleclicking (most of the) items in the tree
  • Reduced "Unparsed data" item clutter in the tree

12/04/2002

  • Adding support for unparsed data -- ie "syntax errors" that are treated as raw text

05/03/2002 (Release 1.3)

  • Finished XML input/output

04/02/2002

  • Started working to support XML input/output based on an XSD by Oliver Weichhold

25/11/2001 (Release 1.2.1)

  • Bugfix : the "Unsaved changes" dialog when closing the app didn't always work right
  • .shader files can be associated with Q3ASE (shows the icon + allows doubleclicking to edit)
  • Bugfix : empty list of recent files screws up the config

22/11/2001

  • Finished a beta of a syntax-highlighting .shader file editor

07/11/2001

  • Bugfix : selecting textures could sometime get the GUI totally out of sync
  • Bugfix : trying to change the map parameter twice in a row doesn't always work
  • Finally fixed the mouse-cursor not taking shape properly in the preview window -- duhuh
  • Dialogs now actually show their neato 16x16 icon rather than the 32x32 all squished

06/11/2001

  • New PC, new network. At last Q3ASE compiles again

17/10/2001 (Release 1.2)

  • Small fix for MD3s that don't auto-assemble to a full player

04/10/2001

  • Added basic help dialog

02/10/2001

  • More MD3 code refactoring
  • "Loading" no longer triggers a window-resize
  • Bugfix : auto-opening a shader for an MD3 or a BSP did not properly add it to the Recent Files list

01/10/2001

  • Started reorganizing the MD3 code so that (Spinning) Box can become an MD3 too

24/09/2001

  • Upgraded light from "obsolete" to "ok" (ST:EF)

23/09/2001

  • Added surfaceparm forcefield, detail, sky, shotclip (ST:EF)

22/09/2001

  • Fixed "Reload textures", which had stopped working sometime
  • Shift-rightclick in the preview window to get a list of shaders at that location
  • Added alphaGen const (ST:EF)

27/07/2001 (Release 1.1)

  • Added the ability to export, import and merge (ie, save into a new BSP) a BSP's lightmaps

28/06/2001 (Release 1.0)

  • Added "No to All" button to "Unsaved changes" dialog

26/06/2001

  • Reimplemented some shaky shadercode

25/06/2001

  • Normal, Flat and Wireframe now all work together in MD3 mode. Should also have reduced Z-fighting

24/06/2001

  • Support for 1.29PR animation.cfg files
  • Added automatic loading of files that "probably" have the shader a BSP wants (ie, barring any syntax errors)
  • Bugfix : New/Paste Shader After This didn't work on last shader in file
  • Added support for comments just before a shader (ie, not inside a shader/stage/.. -- ok for credits etc)

22/06/2001

  • BSP preview moves forward when right mouse button is held
  • Browse MD3 animations with num + and num -

21/06/2001

  • Added warning when closing an unsaved file
  • Warn when closing the app with unsaved files around
  • Save As presents default filename
  • Shaders now also preview on lower LOD MD3s
  • Added automatic loading of files that "probably" have the shader a skin wants (ie, barring any syntax errors)
  • Undo/Redo get greyed out when there's nothing to undo/redo -- looks a bit nicer :)

10/06/2001 (Release 0.9.1)

  • Bugfix : The "Loading..." display in the preview window sometimes would never go away anymore

07/06/2001

  • Bugfix : BSP kept eating mouse and keyboard events even if preview mode was no longer BSP
  • Made the URL in the about box clickable -- thanks Chris Maunder !
  • Finished (partial) refactoring to three-tier model. Celebrated with unlimited Undo/Redo

31/05/2001

  • Started conversion from two-tier to three-tier model
  • Major code cleanups

25/05/2001 (Release 0.9)

  • BSP preview shows the "black and white" texture for a missing shader instead of the currently selected shader
  • Added gamma support

24/05/2001

  • tcMod scale now scaled around ST coordinate (0, 0)
  • Changed BSP navigation keys to sdfe/tg
  • Added secret stuff ;)

04/05/2001

  • Dragged continuous MD3 spinning is now approximately the per second movement

03/05/2001

  • Increased linesize to 2 pixels (md3 wireframe)
  • MD3 flatshading now actually filters textured rendering, making it useful even if shader is not transparent
  • Added experimental way to keep MD3 spinning (for showing off envmaps etc during grabs)
  • Added a freeze/unfreeze time option

29/04/2001

  • Finished early stages of BSP loader

28/04/2001

  • Fixed missing space between alphaGen portal and the following number

19/04/2001

  • Started work on BSP

18/04/2001 (Release 0.8.3)

  • Added deformVertexes bulge to the list of actually previewed effects

17/04/2001

  • Rewrote autosprite2

12/04/2001

  • Bugfix : MD3s with zero meshes crashed
  • Bugfix : skins without a ".tga" or ".jpg" in the shadername crashed
  • Bugfix : removed obscure code that sometimes locks up the animation's texture browser
  • Rewrote the autosprite code

09/04/2001

  • Changed tcGen environment code to be more "true" on MD3s. Other preview modes still use the old code
  • Added a "Prefix" filter to the MD3 selection box
  • Grabbing to targa no longer emits an alpha channel
  • Added grabbing to jpeg

03/04/2001

  • Added a frame grabbing feature
  • Added some feedback during mousemovements (using windowcaption as statusbar)

02/04/2001

  • Added list of recent files in File submenu

01/04/2001

  • Changed the MD3 transformation orders for a more natural feel
  • Bugfix : Autosize now takes window frame into account
  • Main dialog is now resizable

31/03/2001

  • Added mouse-drag translation support (leftmousebutton + CTRL)
  • Fixed problem with preview window not closing when pressing ESC in preview window
  • Added option to reload textures

30/03/2001

  • Added mouse-drag scale support (rightmousebutton)
  • Added auto-reload and auto-assemble checkboxes to MD3 dialog
  • "Fill in skin and animcfg" is only asked if MD3 starts with models/players

29/03/2001

  • Added mouse-drag rotation support
  • Reset time (and the new reset orientation) also work if Preview has focus

26/03/2001 (Release 0.8.2)

  • Fixed autosprite not previewing correctly in MD3 mode

22/03/2001

  • Fixed broken Cascade mode
  • Added support for animation.cfg files
  • Added speed and scale factor for more flexible previewing

21/03/2001

  • Reenabled previewing of Depthwrite
  • Updated code so that autosprite in an MD3 now works (eg magneto model)
  • Fixed issues with coordinate system
  • Proper interpolation of meshes and orientations

20/03/2001

  • Shaders with surfaceparm nodraw are indeed not rendered now (useful for eg hunter/harpy skin)
  • Added skinning support

19/03/2001

  • Added auto-assembly of a full md3

18/03/2001 (Release 0.8.1)

  • Fixed once more a potential crash bug when using Cut on the first shader in a file
  • Added rudimentary MD3 support : load an MD3 and preview it with the selected shader pasted all over it (ie, no skins). Special thanks to Erwin 'klr8' Vervaet from JavaMD3View fame
  • Added a "Find shader" under Options to search shaders by name

03/03/2001 (Release 0.8)

  • Cut/copy of data now exports it to the windows clipboard as well -- as plaintext, HTML or UBB code (example)
  • Resurrected q3map_flare and q3map_backsplash from 'obsolete' into 'supported' status

18/02/2001

  • Added support for rgbGen const ( )
  • Fixed problem with stages that are map $lightmap and tcGen environment (eg comp3b_dark)
  • Auto fill-in of the shadername when picking a qer_editorimage now chops off the fileextension

07/02/2001

  • Added videomap keyword support, but ROQ files currently show up as just a white image

05/02/2001

  • Bugfix : saving a file with Save As into a directory that's a resource -- file didn't show up in a subsequent Open
  • Added q3map_lightmapsamplesize, q3map_vertexscale

21/01/2001

  • "Clamp" checkbox is now properly set when selecting Edit... on a clampmap

05/01/2001

  • Automatically sorts by Filename in Open Shader dialog when opened
  • Warn that Save really means "replace every shader in the file" before the first Save
  • Automatically highlight the current selection when picking a map, editorimage or lightimage

04/01/2001

  • Finished the new Open Shader dialog

03/01/2001

  • Renamed Save... to Save
  • Setting qer_editorimage in an unnamed shader automatically sets the picked image as the shadername
  • Started working on a new Open Shader dialog

29/12/2000

  • Added support for all new q3map_ keywords of type boolean (flags) : tracelight, vlight, patchshadows, vertexshadows, novertexshadows, forcesunlight, notjunc
  • Added support for surfaceparm monsterclip, botclip, hint, dust, pointlight, lightfilter. Exposed already supported ladder

28/12/2000

  • Added ability to exclude a single stage from being rendered. Kudos for this one (and other suggestions) to Dany "BinaryOfLard" Rioux -- welcome aboard

27/12/2000

  • GUI enhancements : doubleclick to open a shader, basic keyboard accelerators (no full ctrl-c/x/v thing yet)
  • Back from the dead. How's that for maintainable ? =)

21/08/2000

  • Bugfix : Window showed bizarre behavior if resized in a non-standard theme/desktop

03/08/2000

  • Bugfix : Don't know when or how, but tcgen lightmap got broken, probably a long time ago too

31/07/2000 (Release 0.7)

  • Bugfix : Wireframe view of (rotating) box got broken somewhere along the road

26/07/2000

  • Textures that are not a power-of-two sized are now scaled until they are, rather than clipped
  • Added partial support for the undocumented (and obsolete) surfaceparm ladder : it's parsed and will be saved as well, but it's invisible in Q3ASE
  • Increased maximum line length from 256 to 1024 characters : certain funky animmaps outran that

23/07/2000

  • Bugfix : Ugly little bug screwed up blendfunc after a "bad luck" copy/paste sequence

16/07/2000

  • Bugfix : Insert or paste of a new shader before the first shader in a file locked the program up. Duh.

12/07/2000

  • Changed the code so that an empty stage does not render. This also means you only get a black picture as long as no texture source is set in a stage, thus you can no longer use the logo as the default texture. Update : made this an option
  • The dialogues to add pakfiles (initial & under "Edit Pakfiles"->"Add Pak") allow multiple selections
  • Bugfix : small problem reading data from the ZIP which was not compressed at all ("storage" method)
  • Updated the parser to make sure that a shader always has at least one stage (otherwise things such as "Render Current layer only" don't work properly). General-keyword-only shaders can use the "Don't render empty stages" menu option (also see today's first change item)
  • Deleting the last shader in a file automatically added a new empty shader, but left the tree in an out of date state
  • Background texture selection is saved in the config
  • Shaders are by default fully expanded
  • Added a safety hiding all textures whose name contains spaces
  • Preview properly follows selection when browsing shaders with the keyboard

04/07/2000

  • Bugfix : incorrect updating of the TreeView after a Save
  • Added possibility to load a texture as the preview background (settings not saved in the config though)

03/07/2000

  • Rewrote the zip reader; browsing of shaderlibs is now much faster

../../2000

  • Lots of code reorganisation going on which didn't affect things feature wise -- hence the lack of updates to this page

17/06/2000

  • More work on the copy/paste code

16/06/2000

  • Started support for cut/copy/paste of stages, general keyword set, and shaders
  • Added possibility to create multiple shaders in a file

09/06/2000 (Release 0.6)

  • Bugfix : fixed a crash in the parser (obscure input files only)

07/06/2000

  • Bugfix : fixed a crash caused by the cache getting confused after closing a file
  • Added a horizontal scrollbar to the "Open Shader" and "Browse for Shader" dialogues

06/06/2000

  • Bugfix : inconsistent saving of tcgen Vector and tcgen transform

02/06/2000

  • Added q3map_backshader; the browser lists all, but only, shaders that are opened in Q3ASE

01/06/2000

  • When opening a shaderfile whose base filename is in readonly.txt, the file will be readonly (ie no "Save", only "Save As")
  • At startup Q3ASE takes it resources from the present directory, and only if not found goes to q3ase.pk3 (thus you can replace files without changing the pak)
  • Added a request for confirmation when trying to open a file that's already open

31/05/2000

  • Changed the filenames to reflect if a file is from PAK or from disk
  • Fix : after browsing for a texture when editing the texture source, the preview would revert to the Q3ASE logo until "OK" was pressed

30/05/2000

  • Added "Close" to the Filemenu
  • Added "Save", "Save As" to the filemenu
  • Added a fix to cut textures that are not a power of 2 until they are

23/05/2000

  • More selective updating in the TreeView
  • Resizing window now preserves the current aspect ratio, instead of just a fixed 1:1

20/05/2000

  • New lightmaps
  • Replaced nomipmap with nomipmaps in the rightclick menu as well
  • Parser now properly reads blendfunc blend and filter (used to swap them -- duh ?)
  • Changed triangle waveform to be from -1 to +1, not like the doc says from 0 to 1
  • Fixed tessSize dialog to prevent tessSize of zero to nuke the geometry
  • Feedbackbuffer disappears with culling disabled, added a fix (this prevented sfx/protozztblu3 from rendering properly)
  • Autosize now properly skips stages until there is actually a stage with a texture (ie ignore lightmap/$white)
  • Resizing the window is constrained to a 1:1 aspect ratio, unless the CTRL key is held down

17/05/2000

  • Added 5 lightmaps made by fatmanfat for more variation in viewing conditions
  • Added code to reset the pipeline before opening a dialog
  • deformVertex now works in Preview Current Layer Only mode
  • Bugfix : cascade preview mode was broken when browsing shaders

16/05/2000

  • Added warnings for qer_lightimage, exactVertex, *white, text0, text1, entityMergable

15/05/2000

  • Parser fills in 128 if a skyparms' cloudheight is '-'
  • Bugfix : animmap was parsed & executed, but didn't print or save
  • Bugfix : parser didn't recognise rgbGen wave noise properly
  • Report window appears even if there are only warnings, no errors
  • Bugfix : incorrect parsing of clampmap

12/05/2000

  • Fixed a parser crash
  • Replaced identitySpecular with lightingSpecular
  • Added warnings (so parser no longer stops) for the following obsolete keywords/syntax : light, turb <wave> x x x x, q3map_backsplash, cull twosided, cull backsided, q3map_flare, surfaceparm nomipmaps, sky
  • Bugfix : it's "alphaGen wave ...", not "alphaGen ..."
  • Added noise as a legal keyword for rgbGen
  • Replaced nomipmap with nomipmaps
  • Parser support for alphaGen portal [distance], clusterportal, polygonOffset
  • Fixed parentheses in tcGen vector syntax

09/05/2000

  • Finished a pretty basic top down predictive parser. It resyncs on '}' tokens, so shaders can be read that have faulty stages; files can be read that have faulty shaders.

07/05/2000

  • Added cool new icon from David 'dines' Durrenberger

06/05/2000

  • Added a scanner recognising all Q3A shader keywords
  • Tree no longer fully re-expands when it refreshes. Thanks to Tom Mahieu for the simple but elegant solution to do this without messing up 75% of the code

05/05/2000 (Release 0.5)

  • Bugfix : Box or Spinning Box went crazy if tcMod rotate, scale or stretch was used without Bypass Driver set

04/05/2000

  • Some more tweaks to the fogtunnel, it lines up almost perfectly with the graticules now -- rock on ! :)

03/05/2000

  • Reduced precision of a float to 3 digits behind the dot when printing (saving is still in full precision) for clariy
  • Removed the irritating "Enter a number" popup in the numeric dialog elements of fogparms, alphagen, texture source, tesselation, skyparms, q3map_sun
  • Removed the "Edit" option from the popup menu for deformvertexes autosprite (-2)
  • Added a very good looking "HUD" in the fogparms preview, made by Eutectic : it shows the distances along the walls, Terminator 2 style
  • Changed the way floats are printed again -- can you say %g ? :)
  • Bugfix : the default preview window turned out to have a renderable area of 254x274 ?!? This is now 256x256

01/05/2000

  • More tesselation in the fogtunnel for less aliasing artifacts -- also seems to be less confusing to drivers

30/04/2000

  • Moved the tessSize command into the General popup menu (instead of q3map_)
  • On the fly stripifying of triangle pools if there is no CVA support

28/04/2000

  • Fixed the amplitude of a wave deform to be exactly like the game
  • Rewrote the fogtunnel so it's actually a reliable measure. Height and width is 256 game units, depth is 1024 game units
  • fogparms printing/saving now includes the undocumented parentheses
  • Bugfix : empty shaderstages were printed (with just "rgbGen identity") when saving
  • Some changes to the CVA code, although I still seem to violate the optimisation path on my NVidia...

27/04/2000

  • Some more synchronisation issues, reducing chance of "bad threading luck" crashing the app
  • Bugfix : removing a skyparms keyword while in Sky preview mode left the environment box visible
  • Added basic support for compiled vertex arrays -- against mostly for pathological tesselations/shaders
  • Disabled ZBuffer in wireframe mode

26/04/2000

  • Bugfix : Had to remove a texture source twice before it actually disappeared from the tree (or do a Redraw Dialog)
  • Bugfix : rgbGen got stuck on the last computed intensity the moment a tcgen env (with 'bypass driver' enabled) was used
  • Prepared code for supporting multitexturing extensions. Probably not that relevant for Q3ASE itself, except for very heavy shaders combined with high tesselations
  • Fixed some synchronisation issues where the editor could crash if you deleted or added layers while the framerate was ultra-low

25/04/2000

  • Bugfix : skyParms printed without a space
  • Bugfix : q3map_sun intensity didn't accept input
  • Bugfix : rightclick menu said skyparams, not skyparms
  • Bugfix : sky preview got broken in a last minute attempt to improve seams of environment boxes - duh
  • Replaced the 'smart' box that remained seamless under a deform with a 'dumb' one that breaks apart -- like in Q3A ;)

20/04/2000

  • Finished glFeedbackBuffer code so for now, tcgen Env/vector + tcmod scroll/turb works again. Hope this experimental stuff doesn't fall apart though :)
  • Added full GUI support for all deformVertexes types
  • Added renderer support for deformVertexes wave and deformVertexes move
  • Added Box preview mode (as opposed to Spinning Box) since deformvertexes move moves the box first, then rotates it, which is annoying (swapping those operations breaks deformvertexes wave consistency)
  • Fixed incorrect loading of certain compressed TGAs

19/04/2000

  • Started experimenting with glFeedbackBuffer to get tcmod scroll/turb and tcgen env to work together again, without reimplementing half of the pipeline. Thanks to Cyrax and Leath Muller for pointing out this option

18/04/2000

  • Bugfix : since the move to threading, map or animmap turned just white after a second edit of the frames
  • Bugfix : it's fogparms, not fogparams
  • Added numeric entry fields for the degrees and elevation parameters of q3map_sun

15/04/2000

  • Support for skyParms is complete, including a preview for environment maps and rendering of far- and nearboxes in sky preview mode

14/04/2000

  • Rewrote the Spinning Box module so it's ready for deformVertex
  • Discovered a few driver quirks and implemented some workarounds. Could be the fix for the G400 texture blur bug
  • Implemented a sky preview mode. It's not as seamless as in the game, but close enough ;)
  • Fixed a problem with the threads that caused massive GUI hickups in the texture browser

13/04/2000

  • Bugfix : tcMod turb didn't work in spinning box or cascade mode
  • Added q3map_sun with nifty (and sort of funny) polar-coordinate preview window
  • Added fogparams again with a custom preview mode which is sortof nice, but will probably need some work

12/04/2000

  • Added nopicmip, nomipmap, polygonoffset, portal
  • Added tessSize, with realtime preview of the resulting trianglestrips
  • Added qer_nocarve, qer_trans, q3map_surfacelight, q3map_lightsubdivide, q3map_globaltexture
  • cull now properly renders (meaning cull back is kindof useless on non-cube previews)

12/04/2000 (Release 0.4.1)

  • Fixed the Spinning Cube & Cascade preview modes which got broken in the move to threading

10/04/2000 (Release 0.4)

  • Added sort and cull keywords (cull is currently ignored by the renderer)
  • Fixed a few memory leaks (but some remain)

9/04/2000

  • Bugfix : texture matrix stack sometimes was underrun

29/03/2000

  • Reduced render speed doesn't help much, GUI still misses events too much. Brought it back to 30 FPS and completely changed the way the renderer is threaded.

28/03/2000

  • Reduced render speed to 20 FPS to get as much time free for the GUI. GUI still sometimes misses mouseclicks though
  • Bugfix : 'cascade preview' + 'current layer only' mode would sometimes display polygons slightly offcenter

27/03/2000

  • Partially rewrote the preview renderer to use threading for it's timing. The jerkiness is largely gone now.

26/03/2000

  • .. and once more a tcMod rewrite. This time turb is just dead on right thanks to code generously revealed by John Carmack -- thanks !

25/03/2000

  • .. and yet another attempt at a more accurate tcMod imitation
  • Faster loading of JPGs, making browsing with Preview on much more comfortable

24/03/2000

  • Bugfix : clampmap got broken
  • Bugfix : tcmod turb printed in the treeview with a waveform, which is not the right syntax
  • Better handling of time should fix the slightly-too-slow animation of textures
  • Support for any number of tcMod transforms. Also works properly together with other tcMods now
  • Funky new bitmaps from Eutectic
  • Wrote an even stranger tcMod processing loop -- and the result seems more correct. The actual turbulence function is pretty far off though, will need a better guess
  • Bugfix : removing a shader stage which used the same texture as another stage, accidentally removed the texture from memory

22/03/2000

  • Bugfix : tcMod popup menu was unreliable at times
  • Bugfix : a positive tcMod rotate value should rotate clockwise, not counterclockwise
  • Changed the way tcMod is rendered, apparently I had a few things backwards, coordinate-transform wise.

21/03/2000

  • Bugfix : when saving certain shaders, the $lightmap would be missed and the Warning about a missing lightmap would pop up
  • Some reorganisation in the Stage and Shader specific popup menus
  • Removed the "Set trans ?" warning, because there's too many reasons why trans should or should not be set to verify
  • Main dialog can be minized now; waveform editor lists items in the same order as the script
  • Changed animfreq to mean "frames per second" instead of "animation repeats per second". This is an error in the shader manual (thanks Jason Wilkins)
  • Setting tcGen to vector brings out the vector-editing dialog

20/03/2000

  • Added a Cancel button to the dialogs for rgbGen, alphaGen, blendfunc. The Cancel button on the texture source dialog only restores the source (map/lightmap/whitemap), not the frame selection
  • "Remove" on an rgbGen identity now actually removes that keyword, although the stage behind the scenes still is set to rgbGen identity
  • Added menuitems for tcMod : Insert before/after, Move up/down, Remove, Edit, with matching item-specific dialog boxes for Edit. (Note : the transform box is a bit pro-forma : only the last in a series of transforms has an effect, plus it's not clear if the final two terms (m4 and m5) are supposed to be timescales, ie animated scrolling instead of just a transform) This pretty much wraps up the conversion from 0.3 to 0.4, so this is a release candidate.

16/03/2000

  • Bugfix : Autosize command popped the preview window back to position (0, 0)
  • Added a workaround for the strange restriction Win32 imposes on the Preview window's size. This window is now always at least 128 pixels wide, even for smaller textures.
  • Bugfix : the treeview was not always refreshed properly, eg when setting detail, shuffling layers, etc
  • Bugfix : rightclick would bring out the right popup menu, but affect the wrong stage of a shader sometimes
  • Changed alphaGen portal to print as an integer in the treeview, since this value is measured in world units
  • Re-added the printing of the default rgbGen identity to the treeview
  • Added checkmarks to the Options/Preview submenu to indicate the current modus
  • Changed the Texture Source dialog to have a separate map item; you no longer need to know that a map really is an animmap with only one frame. If you build an animmap and switch to a map, that map will automatically be the first frame of your animation. Furthermore, if you switch back to animmap, your animation is remembered.
  • Created a separate dialog box for the selection of just one single texture. This is the animation-building dialog, but with all the animation specific features deleted. It pops up for map, clampmap, qer_editorimage and q3map_lightimage
  • The Preview window now can be minimized, maximized, etc. It also shows up in the taskbar now
  • Rightclicking on an animmap subitem brings up the correct popup menu

15/03/2000

  • Moved the blendfunc in a popup menu; the custom blends are created in a dialog box
  • Deleted the Stage:Effects sheet. The Redraw and Autosize buttons are in the menu. Net result : only the Treeview remains as a GUI element. This means that right now tcMod cannot be used.

13/03/2000

  • Added proper context sensitive menus for every kind of item, although most of them are empty for now
  • Moved qer_editorimage and q3map_lightimage from the tabsheet into the popup menus
  • Moved the texture source controls into a separate dialog, accessable from a popup menu
  • Moved the shader name edit field into a separate dialog. The General Properties sheet thus no longer exists
  • Moved rgbGen and alphaGen into a dialog each, again with a popup menu entry. The Stage: Sources sheet disappears
  • Added alphaFunc to the popup menus; added Move Stage Up/Down
  • Moved detail, depthFunc and depthWrite into menus
  • Moved tcGen into a popup menu

09/03/2000

  • Some cosmetic changes to the TreeView (already)
  • Removed the entire set of Preview/Render/Geometry buttons and moved these into the menu. I'll add a Toolbar and give the Preview parameters a button there; Layer navigation disappear, although reshuffling and deleting/adding stays for now (the treeview is still passive)
  • Removed the surfaceparm tabsheet into a separate dialog box, which is accessable by rightclicking on (currently any, later 'Stage') items in the treeview and hitting 'Edit SurfaceParm'
  • Added bitmaps for easy differentiation between the various components

08/03/2000

  • Not much happening because of a lack of time, and because I've become convinced the current GUI is doomed. Expect a major overhaul :)
  • Changed the blending mode to accept any existing OpenGL blending mode for both source and dest.
  • Added a Treeview control at the far right; pressing "Redraw" will output the shader in this tree, giving a read-only preview of the shader syntax. This view is not interactive for now, but will probably replace the tabbed GUI over time (screenshot)
  • Fixed the renderer to accept any amount of tcMod keywords in any order. There's no new GUI to work with this new functionality yet, though.

16/02/2000 (Release 0.3)

  • Tried adding a workaround for the Win95 bug which saves files as .sha
  • Depthfunc is no longer ignored in the preview window, so images layered on top of grates with depthtest Equal now render correct. This is automatically disabled in cascade preview mode.

10/02/2000

  • Changed preview window again so it stretches textures in 2D mode. Should help visualize how textures will look on non-square brushes
  • Added "Autosize" button which will make the preview window the same size as the first texture of the first (deepest) shaderstage

09/02/2000

  • Fixed up the Win32/MFC/OpenGL interaction; the tabsheets are here to stay.
  • Tucked a GUI on all the surfaceparm attributes. No in-tool visual effects, just saves typing
  • Added editing box for a shadername; adopted texture list browser for selecting a qer_editorimage; same thing for q3map_lightimage

08/02/2000

  • Bugfix : Texture browser preview stopped working on textures that were previously assigned to a stage frame.
  • Started splitting the controls into a "Stage: Sources" sheet and "Stage: Effects" sheet. Kindof buggy to get OpenGL + sheets to work together though

07/02/2000

  • Bugfix : when switching from Debug to Release code, I lost a #define and files are saved as .jpg again instead of .tga. #@$!& :(

06/02/2000 (Release 0.2)

  • Bugfix : printed rgbGen on same line as animmap; also changed printing to be more standard (use tabs)
  • Turns out all Q3A files are called '.tga' even if they are '.jpg's. Ugh; hacked Q3ASE to try finding file.jpg if file.tga doesn't exist, and save filenames always with .tga extension in the .shader...
  • If an error is found during config loading, reset to a decent state
  • Preserve original case of filenames; should make the generated .shaders work on Unix
  • Added Entity, One minus entity, vertex, one minus vertex and specular to the list of alpha gen sources.
  • Packed the GUI a bit to accomodate all the new controls. Everything fits but it starts to look like a Boeing cockpit.

05/02/2000

  • Bugfix : loading evil textures like xiandm9doorc.jpg crashed the app
  • Bugfix : certain custom blends would print without a space between the keywords
  • Bugfix : used to print the frames of an animmap on separate lines for readability. Apparently, that's illegal shader syntax.
  • Made the "Preview" check box in the texture browser persistent
  • Query hardware for actual maximum texture size and clip loaded files accordingly
  • Added an edit control for alphagen portal fade out distance
  • Ask the user to try 32bit bitdepth; if you answer Yes and it doesn't work, delete q3ase.cfg and when it asks again, say No ;)

04/02/2000

  • Added customisable background color option
  • Replaced alphaGen portal checkbox with more general "Identity, Waveform, Portal" radio list including editor for waveform case
  • Added a diagnostic mode in which all calls to OpenGL are logged; if the app crashes this should help find out if it was inside Q3ASE or inside the driver (currently logging : texture management). Enable by setting the last "0" in q3ase.cfg to "1"
  • Added a cascade-mode preview; this shows all layers in 3D stacked after eachother; gives better insight in how things relate (screenshot)
  • Added menu options and buttons for moving the currently selected layer back, or closer. Works particularly well together with the cascade preview
  • Added an "Is Detail Texture" toggle. When trying to set it, the tool checks if (a) the current layer is layer #2 in the stack, (b) if the layer below it is a lightmap, (c) if the correct blendfunc is used. I think I now have every stage-specific option there is.

03/02/2000

  • Changed save code to append to an already existing .shader file instead of replacing it
  • Bugfix : browsing layers reset the preview radio buttons
  • Bugfix : resizing window to >1 :1 aspect clipped the image in 2D view
  • Added support for $lightmap and $whiteimage texture sources
  • Added a check to detect a missing lightmap layer and ask to auto-add one at save time. (This check will be disabled if nolightmap is set, once added) Note this adds just a filter'ed $lightmap at the end, might look wrong in nontrivial cases.
  • Removed Identity as a waveform and added it as an RGBSource, together with identityLighting (as "Overbright" radio option)
  • Added support for depthFunc and depthWrite. These options are ignored in the preview window.
  • Added alphaFunc and alphagen portal. Not sure if alphagen is supposed to have all the RGB options ? (waveform etc)
  • Removed printing of default "tcgen base".
  • Bugfix : spinning cube in nonsolid mode (such as Additive) would sometimes cull backfacing planes - update : removed this feature again; 99% of the cases there's a solid layer below an additive one, and making the entire cube non-culled just doesn't look right in the additive layer.
  • Bugfix : after debugging why alpha looks funny, turns out I uploaded textures with RGB5_A1. DOW !
  • Upped the preview bitdepth to 32bit
  • Bugfix : Targa's had their alpha channel inverted. DOW again !
  • Added the possibility to preview the currently selected texture in the main preview window.

02/02/2000

  • Added possibility to add a directory to the list of texture sources (eg "c:/quake3/baseq3")
  • Upped the max texture size to 512x512. Thus textures above 256x256 are no longer clipped, but 3dFX hardware might freak out.

01/02/2000 (Release 0.1)

  • Added dialog to edit the list of .pk3 (and .zip) files to import textures from.
  • Saving the list of .pk3's used to a config file
  • Added a pretty ugly logo as the default texture
  • Saving & loading of the texturefilter in the config
  • Correct updating of the dialog visuals as you browse the layers

29/01/2000

  • Changed the "textures/" prefix toggle into a more general editable prefix to filter on
  • Added an About box with basic info. It credits Larian Studios as my sponsor, since they agreed to pay me to build this tool (it's useful to them) and still allow me to release it on the net. I think this is mighty cool of them :) If you agree, be sure to pay their site a visit sometime !

28/01/2000

  • Added support for clampmap
  • Added Clear All button to framelist editor
  • Changed preview window to clear background (helps in Additive mode ;)
  • Controls for Animation Frequency, lightingDiffuse
  • Saving of individual stages to .shader files
  • Added option to draw texture on spinning cube for easy TCGen preview
  • Improved preview window, opens and closes automatically and goes inactive when in an editing subdialog
  • Added TCGen support including environment mapping and projected textures. Tool probably won't be much help in positioning the projection vectors though.
  • Added support for layers : navigating, selected displaying
  • Added option to filter out filenames not starting with "textures/" in frame editor