============================== History Thing if Anybody Cares ============================== Version 0.00 ------------ 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.10 ------------ 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 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.80 (BETA) ----------- Implemented compression, compiled with optimization, tested, and released as Beta 0.80. Future Versions --------------- 081 Task On Deck: Render textures into bitmaps for instant display. 082 Task On Deck: Write IPF help and tutorial. 083 Task On Deck: Get initial size of window from size of child dialogs. Version 0.9 - Should contain complete help. 091 Task On Deck: Investigate enabling mouse capturing to polish UI. 092 Task On Deck: Correct REPORTED bugs. RELEASE Version 1.0 - Should be a fully-functional dingus!