============================== History Thing if Anybody Cares ============================== Version 0.0 ----------- Implemented basic skeleton, file dialogs and menu progressions for WAD files. V0.01 implemented profile saving and loading. V0.02 completely restructured the application for future considerations. Version 0.1 ----------- Implemented skeleton routines and dialogs for map selections and dialogs for editing. Most window routines defined. Basic IWAD recognition and palette loading. Most menu functionality put in place and coded. V0.11 implemented background bitmap and window adjustment on maximize/restore. V0.12 complete reading of IWAD and skeleton for PWADs. V0.13 complete reading of PWAD and map menu functionality. There is a bug here somewhere, which causes the application to abend with a protection exception. Version 0.2 ----------- PWADs can be loaded and saved. There is something strange going on where the internal PWAD gets spontaneously corrupted if ALTER is used. DROP works fine. Version 0.3 ----------- WAD menu functions fully implemented and crash-tested. Everything seems to work fine. NEW, OPEN, IMPORT, SAVE, SAVE AS, QUIT, DROP, and ALTER now work correctly. Large multi-level PWADS can hog quite a bit of memory and will cause the SWAPPER.DAT to grow. I don't see this as a big deal because PWAD operations are lightning-fast, and OS/2's flat memory model simplifies things a great deal. V0.31 Draws initial map centered in map control, only works if you EDIT an existing IWAD level. PWAD support next. Also want to have center auto-adjust on MINMAXFRAME. V0.32 Adjusts centering on MINMAXFRAME, supports PWAD levels, allows Zoom In and Out with a #define threshold for different zoom amounts. Draws LineDefs and Vertexes with tagging for LineDef and Vertex edit modes. Performance with large levels could be an issue, so I've put in the dreaded "go for coffee" pointer. V0.33 Allows horizontal and vertical scrolling by page, line, or slider position. Slider tracking is also allowed, and works quite well. Performance enhancements were implemented which draw only those vertexes which will show up on the screen. A Thing drawing routine was implemented as were thing lookup tables and angle indications. Things are also performance-enhanced to be drawn only when they show up in the window. Grid also works, and is performance-enhanced. V0.34 LineDef performance has been added, and improves ALL redraw operations significantly. Even large levels like E2M7 scroll acceptably at typical editing magnifications. Pick correlation allows things, vertexes and linedefs to be identified by pointing at them. The correlation causes the mouse pointer to flicker, not sure why. Version 0.4 ----------- Map functions (except sectors) have been implemented. These include drawing IWAD and PWAD maps, fully-functional scroll, zoom, grid, and snap. Map elements (things, vertexes, linedefs) are identified by pointing to them with the mouse. Linedef direction indicators have been implemented. Mouse performance becomes impacted when moving over active map elements, due to object correlation. I'm not sure how sectors will work yet. V0.41 Subclassed tool icons respond to mouse actions. The icons now come up with a "no way" pointer when they're not valid. Thing properties are implemented. Drag from THING icon creates a new thing which defaults to the last thing changed. Things can be moved by dragging. Things can be cloned by CTRL-dragging. Edited levels can be saved. Snap to grid also works. V0.42 Fixed a bug which caused sectors to get munched. Added mouse movement sector detection, which works far better than I expected. V0.43 Implemented floor and ceiling texture rendering with colour compensation (gamma correction) values defined in the header. Implemented edit of sector properties and display of sector dialog with textures. Rough implementation of user interface components for linedef/vertex mode, no actual functionality yet. V0.44 Implemented Add, move, copy vertex with linedef splitting. Implemented delete linedef with sector merging. Implemented vertex merging and removal of duplicate linedefs. From testing, I can see that even though some of the stuff is handled automatically, it's still going to be necessary for the user to "touch-up" some of the linedefs when messing around with the merging functions. V0.45 Implemented linedef addition with sector splitting. This works very well. Changed the name, icon, bitmap. Implemented sector drop. Will have to put in warning about how to use this. Sectors dropped "outside" should be dropped close to other sectors with a simple border linedef, otherwise performance suffers as DEPM searches to see if it's inside a sector. Also note the method used during construction differs from the usual approach in that the idea is not to join sectors, but to mold one big sector and then split it into smaller ones. Version 0.5 ----------- Drag and drop editing has been implemented. Linedef drawing is in place. Some polishing needs to be done on the UI behavior, but this can wait until a functional beta is in test. V0.51 Linedef pop-up flip/swap has been implemented. Bugs with flags getting mucked up have been fixed. Set up linedef building flag and notifications ... once you enter linedef mode, you MUST rebuild the level. You cannot rebuild the level in linedef mode. This isn't important now because you cannot rebuild the level in DEPM anyway. V0.52 Linedef editing has been implemented. Sidedef add/edit/delete has been implemented. Sidedefs have been implemented. More bugs were fixed. Wall texture rendering skeleton code is in place. Fixed typo in lutable.h that prevented light goggles from appearing. V0.53 Fixed problem with Multi-player Things flag. Implemented sector highlighting when a linedef with a sector tag is pointed at. Fixed a bug where it would tell you to rebuild when you cancel editing from linedef mode. V0.54 Implemented wall texture rendering, which was very nasty. Version 0.6 ----------- Worked bugs out of texture rendering. Implemented multiple drops and imports. DEPM now autosaves once every minute to a file called AUTOSAVE.WAD to the working directory defined in the program object. V0.61 Changed wall texture rendering to take effect when a texture is DOUBLE-clicked in the list box, not when it is selected. This is so that when you know what texture you want you don't have to see it. Changed Autosave to not display the dialog when save is happening. V0.62 Implemented node builder as a thread that starts when you leave linedef mode. Duplicates BSP12x results 100% except for BAMS calculations which are slightly more accurate under DEPM. Oddly, BSP12x does something strange: if you rebuild E1M1, then go look at the dead green guy in the first room (after coming off the stairs with the armor), at certain angles the dead green guy vanishes. The normal doom WAD doesn't do this. Neither does DEPM. DEPM also corrects the 2-pixel problem exhibited by id's builder. V0.63 Implemented BSP Tuning preferences dialog. Implemented Colour compensation and render-on-select preferences dialog. Fixed some bugs. V0.64 Implemented Map preferences, fixed some bugs, diddled some of DEPM's behaviors. Did some testing. This cut doesn't look bad at all. V0.65 Corrected some bugs, added sidedef texture indicators on linedef identification. Corrected more bugs and changed the way the correllations are done, to eliminate pointer flickerage. Removed debugging gizmos and added optimize gizmos instead; performance is enhanced significantly. Version 0.7 (BETA) ----------- Fixed sector division/merge bug, and miscellaneous other bugs. Added RN RU RL LN LU LL texture indicators to linedef identification. Released as Beta 0.70. V0.71 Implemented DOOM2 support; all linedef and sector types in lookup table are not there yet. Implemented Check main procedure and THING checking. Implemented Zoom on Find option and functionality. Implemented mouse positioning to Found object. Debug gizmos are back in and optimization has been disabled until the next beta release. V0.72 Implemented LINEDEF checking and most sector checking. Recompiled with optimization for BETA testing. Implemented full DOOM2 support. V0.73 Implemented sector checking with FIND for incorrect linedef. V0.74 Implemented PWAD saving in or out of edit mode, unless BSP is running. Added more smarts to sector deletion and addition. Added more smarts to drawn LineDefs. This should avoid the dreaded silly textures on 2S LineDefs problem. V0.75 Fixed bugs and added more smarts to sidedef deletion. Implemented multiple profile support. Added texture validation and notification. V0.76 Implemented support for extra resources (music, sounds, patches, demos, etc.). Implemented Drop Extras dialog and put in Compression preference for later. Implemented Rename Extras. Version 0.8 (BETA) ----------- Implemented compression, Compiled with optimization, tested, and released as Beta 0.80. V0.81 Worked on tutorial, added grid back into sectors mode and fixed sector snap to work properly. Fixed empty resource load bug. Implemented Quit from Map Window. Corrected changed/invalid map behaviors and implemented Auto-Build preference. Fixed a whole mess of bugs that didn't show up until this was done. V0.82 Continued work on help. Implemented table-driven help for F1 context-sensitive help and wrote help tables. Completed IPF help files and tables. Replaced textures list boxes with combo boxes. V0.83 Fixed numerous bugs and quit behaviors. Finally nailed that weird "grey splotch" bug. Continued tutorial. V0.84 Implemented textures conversion dialog and help. Completed Tutorial. Version 0.9 (not released) ----------- Implemented help and tutorial, corrected behaviors and implemented autobuild preference. Replaced list boxes with combo boxes and implemented conversion utility. V0.91 Implemented Ctrl-Left-Click applicator. Corrected help. V0.92 Implemented background texture rendering into bitmaps. Implemented Zoom preset accelerator keys 1 through 0. Added menu entries for thing finder and palette. Corrected help. V0.93 Implemented Backup and Palette preferences. Implemented Thing Finder, and Next Thing. Implemented sector size preference. V0.94 Implemented basic texture palette with scrolling. Implemented logic for applicator. Implemented texture palette functionality. Changed applicator behavior for easier use. Corrected help. V0.95 Implemented map scrolling keys and corrected help. Implemented Palette positioning memory and CHORD palette invokation. V0.96 Implemented correct initial frame window sizing. Messed around in different resolutions. V0.97 Implemented thing details, linedef details, and sector details. Corrected help. Changed dialogs to follow details and palette order. Version 1.0 (Release) ----------- Updated version number, removed debugs, compiled optimized, and released as DEPMV100. V1.01 Added some performance enhancements, popups for object deletion, converted line flipping swapping thing to a popup. Messed around with DEPM under Warp. Added light level indicator for sectors. V1.02 Implemented texture palette saving and loading. Altered lookup table processing and added basic Heretic thing support. V1.03 Implemented Render into Bitmaps preference and functionality. V1.04 Implemented Preload Textures preference and functionality. V1.05 Implemented applicator for sectors mode. Version 1.06 (Release) ------------ Implemented Colour Preferences dialog. Future Versions --------------- V107 Heretic Lookup Tables