1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462 |
- =============================================================================
- MAPEDIT History File
- Copyright (c) 1994-95 Q Studios Corporation
- Contact: Peter Freese
- pfreese@qstudios.com or CIS:74170,543
- =============================================================================
- ================
- 2D EDITING MODE:
- ================
- HIGHLIGHTING:
- The mouse cursor will highlight the nearest object within a specific
- threshold (see MAPEDIT.INI). The selected object will flash, and any
- XObject information will be displayed in the lower panel. Key
- operations in 2D will apply to the selected object.
- SPRITES:
- --------
- Sprites have various shapes in the overhead map, depending on
- their attributes:
- * Face sprites are cyan circles with a line extending from
- the center to indicate their angle. (ref. '<' and '>')
- * Thick sprites have the blocking attribute set. (ref. 'B')
- * Purple sprites have the hitscan attribute set. (ref. Ctrl-H)
- * Sprites with three or four lines extending from the circle
- are wall sprites. The shorter lines indicate which sides are
- visible. (ref. 'R' and '1' in 3D mode keys.)
- * Sprites with square centers are floor sprites, and can be
- manipulated with all the keys referred to above.
- WALLS:
- ------
- This section not complete.
- MOUSE FUNCTIONS:
- ----------------
- Mouse Move mouse cursor
- LeftButton Click and hold on an endpoint to drag.
- See RightShift and RightAlt for other options.
- To delete an endpoint, drag that point into the
- next point and it will be deleted. (NOTE: Grid-locking
- must be enabled. See 'L' key below.)
- RightButton Click to change the 3D view cursor position.
- RightShift Press and hold to highlight endpoints and sprites in
- a rectangular region. Release the key once the chosen
- region is highlighted. Drag objects in the highlighted
- area by clicking and holding the left mouse button
- down and then dragging the mouse. Release the left
- mouse button to drop the objects at the target
- position. Press RightShift without dragging the mouse
- to deselect the highlighted objects.
- RightAlt Highlight sectors for duplication or dragging. Similar
- in operation to the RightShift key, this key
- highlights entire sectors and the sprites within them.
- See the Insert key for information on duplication.
- KEYBOARD FUNCTIONS:
- -------------------
- Arrows Moves the 3D view cursor position. The cursor will be
- clipped against blocking wall and sprite boundaries.
- Press the right mouse button to move the 3D view
- cursor to a different position on the map.
- ESC Brings up the menu. Press ESC again to cancel.
- PadEnter Toggle between 2D and 3D editing modes
- SpaceBar Press the space bar when drawing new sectors. There
- are several ways of drawing new sectors. The
- following three ways of drawing sectors can all be
- done by only using the space bar. The application is
- "smart" enough to decide which method you are using.
- 1. Drawing a FULL LOOP - that is, whenever the new
- sector meets the old sector, draw over that line
- again. In full loop mode the new sector must not
- already be in another sector. The loop is done
- when you press the space bar at the first point
- again.
- 2. SPLITTING a sector - press space bar to draw points
- at which you want to split a sector. The computer
- knows you are done splitting when you end at
- another point that's on the edge of the sector you
- are splitting.
- 3. Drawing a sector COMPLETELY INSIDE another sector.
- (for example, columns) To do this, just press space
- bar at every point in the loop. The loop is done
- when you press the space bar at the first point
- again.
- Backspace
- Deletes previously plotted point during sector creation. Press
- repeatedly to get rid of all previously plotted points.
- Insert Inserts a new endpoint at the midpoint of the highlighted
- line. Then you can drag the point to wherever you like. (If
- you insert on a red line, the point will be inserted on both
- sides of the sector line.) If a bunch of sectors are selected
- (see right ALT) then instead of inserted points, the selected
- sector bunch will be duplicated (stamped). Don't forget to
- drag the selected sectors after stamping.
- Delete Use this to delete sprites. Do NOT delete marker sprites
- created by the XSYSTEM. Instead, change the sector type.
- NOTE: To delete endpoints from a line, DON'T PRESS DELETE.
- Instead, drag the endpoint onto a neighboring endpoints, while
- the grid is on. If the endpoint is dragged exactly on top of
- the neighboring endpoint, it will automatically be deleted.
- Right Ctrl-Delete
- This deletes the whole sector that the mouse cursor is in. Use
- this option with caution as it has been know to cause problems
- in maps.
- ScrollLock
- Set editing starting position (reddish arrow) to your current
- position (white arrow). Also used to define the default player
- starting positions, but level designers are expected to place
- player starting marker sprites in all maps.
- NOTE: Eight co-op and eight deathmatch markers must be placed
- on all maps. (ref. Alt-S, 3D MODE EDITING)
- TAB View attributes of the sector under the cursor.
- AltTAB View attributes of the wall or sprite closest to the cursor.
- A/Z Zoom the 2D view in and out. Text tags may disappear when the
- view is zoomed out. Zoom in to view them again. (ref. Ctrl-T)
- B Toggles blocking attribute of walls and sprites. A blocked
- wall or sprite will with a thick line in 2D EDIT MODE. See
- the description for 'B' in the 3D EDIT MODE section for more
- details.
- C Turn a line into a circle defined by short line segments.
- Press 'C' on a highlighted wall, and move the mouse cursor to
- change the arc of the circle. Press '+' or '-' to change the
- number of line segments in the circle. Press 'C' again to
- cancel circle creation, or SpaceBar to accept the changes.
- (NOTE: Grid size affects the position of the arc. Refer to 'G'
- and 'L' below.)
- E Change a sprite's status list number. Level designers should
- not have to change a sprite's status directly, unless a bug is
- reported when running the game.
- G Change grid resolution. The grid resolution cycles through the
- following sequence:
- * Off : no grid
- * 1x : 64x64 pixel grid
- * 2x : 32x32 pixel grid
- * 4x : 16x16 pixel grid (* DEFAULT *)
- * 8x : 8x8 pixel grid
- * 16x : 4x4 pixel grid (Has wall texturing problems.)
- * 32x : 2x2 pixel grid (Has wall texturing problems.)
- Use the two finest grid resolutions only for positioning
- sprites. Wall vertices should not be closer to each other
- than the grid lines at 8x resolution.
- H Edit the high tag for the sector under the cursor.
- Alt-H Edit the high tag for the wall or sprite under the cursor.
- (See also: T and Alt-T. Level designers should not edit these
- fields directly, as they are used internally by XSYSTEM.)
- Ctrl-H Toggle the hitscan sensitivity of a sprite or masked wall.
- Objects which are hitscan sensitive can be hit be vector
- weapons.
- L Turns grid locking on or off. If the mouse cursor is pink then
- grid locking is on. If it is white then grid locking is off.
- There is no grid locking if the grid is turned off. Also,
- grid locking will lock to nearby points.
- J Join two neighboring sectors. Press J when mouse cursor is
- over the first sector. Then press J again when the mouse
- cursor is over the neighboring sector. The attributes of the
- combined sector will be taken from the first sector selected.
- K Mark a wall or sprite for motion
- (blue = forward motion, green = reverse motion)
- M Make a wall masked
- S Places a sprite at the location under the mouse cursor. Refer
- to the SPRITES section (above) for more information.
- Alt-S Convert internal white sector (single-sided linedef) to a red
- sector (double-sided linedef). Ctrl-Delete can be used to
- reverse this. (NOTE: Outer loop cannot be converted!)
- T Edit the low tag for the sector under the cursor.
- Alt-T Edit the low tag for the wall or sprite under the cursor.
- (See also: H and Alt-H. Level designers should not edit these
- fields directly, as they are used internally by XSYSTEM.)
- Ctrl-T Toggle the text captions for sectors, walls and sprites.
- < | > Rotate a Sprite: Rotation has a precision of 2048 degrees, and
- sprites can have an angle value range of 0 to 2047. Pressing
- the shift key allows a finer degree of rotation.
- Rotate a Sector: Sectors highlighted with RightAlt can also be
- rotated using these keys.
- [ | ] Rotate a sprite without wrapping. Generally used for marker
- sprite rotation, allowing marked sprites to rotate several
- times throughout a busy cycle. If you don't understand this,
- talk to Peter.
- F5 Display sector specific data
- F6 Display sprite/wall specific data
- Alt-F5 Edit sector specific data in the editing dialog.
- Alt-F6 Edit sprite/wall specific data in the editing dialog.
- While in the editing dialog, the following keys are active:
- Esc Exit dialog and abandon changes
- Enter Exit dialog and save changes
- Left Previous control
- Sh Tab Previous control
- Right Next control
- Tab Next control
- Up Increase value by 1 or move radio button up
- Pad + Increase value by 1
- Down Decrease value by 1 or move radio button down
- Pad - Decrease value by 1
- Pg Up Increase value to next multiple of 10
- Pg Dn Decrease value to next multiple of 10
- Space Toggle check boxes
- F10 Get next unused channel (rxID and txID only)
- ================
- 3D EDITING MODE:
- ================
- CapsLock change zmode
- Tab Copy to buffer
- Enter Paste buffer
- Sh Enter Paste shade and palette
- Ctrl Enter Paste tile to all walls in loop
- Sh Ctrl Enter Paste tile, shade, and palette to all walls in loop
- Alt Enter Copy attribute (extra) information
- < Rotate sprite CW
- Sh < Fine rotate sprite CW
- > Rotate sprite CCW or auto fix wall panning
- Sh > Fine rotate sprite CCW
- / Set x and y repeat to default values
- Sh / Set sprite x repeat to match y repeat
- 1 Toggle 1 sides sprites and 1 way walls
- 2 Toggle bottom wall swapping
- Pad +/- Brighten / darken texture
- Ctrl Pad +/- Set texture to max/min brightness
- Pad 0 Set texture to 0 brightness
- Pad arrow Adjust tile repeats
- Ctrl Pad arrow Adjust tile panning
- PageUp Raise z by 4 pixels
- Sh PageUp Raise z by 1 pixel
- Alt PageUp Enter new floor or ceiling height
- Alt PageDn Enter new floor or ceiling height
- Ctrl PageUp Put sprite on ceiling /
- Move floor or ceiling to next higher neighbor Z
- PageDn Lower z by 4 pixels Sh PageDn Lower z by 1 pixel
- Ctrl PageDn Put sprite on floor /
- Move floor or ceiling to next lower neighbor Z
- Delete Delete sprite
- B Toggle blocking
- Alt C Change all tiles matching buffer to target
- D -/+ Adjust depth cueing level
- E Toggle expansion of floor/ceiling texture
- F Flip texture
- Alt F Turn on relative alignment in the highlighted sector.
- If already on, change the first wall in the sector.
- Relative alignment affects textures or slopes.
- G -/+ Adjust gamma level
- Alt G Change Global palette
- H Hitscan sensitivity for masked walls AND sprites.
- L Light bomb
- M Toggle maskable wall
- Sh M Toggle single side maskable wall
- O Toggle orientation or post sprite on wall
- P Toggle parallaxing for floor or ceiling
- Ctrl P Change sky parallaxing type
- Alt P Change palookup
- R Toggle floor/ceiling relative alignment or change sprite
- rotation type
- S Insert sprite
- T Toggle translucency
- V Select tile
- Alt V Select heightmap
- W Change lighting effect waveform
- F2 Toggle state
- F3 Show sector OFF z position
- Alt F3 Capture sector OFF z position
- F4 Show sector ON z position
- Alt F4 Capture sector ON z position
- F9 Auto stair builder. Highlight a group of sectors,
- then point to an adjoining sector floor or ceiling
- and press F9. The floor or ceiling you point to will
- be the lowest step.
- F11 Enable/disable panning
- F12 Toggle beeps
- Ctrl Alt - | + Decrease/Increase sector visibility
- Ctrl - | + Decrease/Increase light effect amplitude
- Shift - | + Decrease/Increase light effect phase
- [ | ] Change floor or ceiling slope
- \ Remove floor slope
- -----------------------------------------------------------------------------
- 94/12/18
- This document created. I have renamed BUILD.EXE to MAPEDIT.EXE. I hope
- this will prevent confusion between Ken's version and our version for Blood.
- Also, this allows changes specific to MAPEDIT to be documented independently.
- For maximum viewing pleasure, this document is formatted at 78 characters
- wide, tab stops of 8, and contains no upper ASCII characters.
- MAPEDIT supports loading custom palette remap and translucency tables. It
- looks for NORMAL.PLU and TRANS.TLU in the currect directory. If they are
- present, it will use them; if not, it will use the defaults in PALETTE.DAT.
- I am phasing out the CNT files and replacing them with MPX (MaP eXtension)
- files. This files store all the Blood specific information for sprites,
- walls, and sectors. The CNT files were a hack to test out adding custom edit
- controls to BUILD. I don't think anyone was using them for anything, but
- just in case you were, MAPEDIT will automatically convert the CNT files and
- remove them when you save changes.
- For a discussion of the various fields and their meanings, see the
- TRIGGERS.TXT document.
- At present, only the sprite editing fields are active. Wall and sector
- editing will be completed shortly.
- -----------------------------------------------------------------------------
- 94/12/28
- Completely replaced Ken's keyboard handler with my own. This will allow key
- repeat to work for all functions, so now you can just hold down the pad plus
- key to lighten a sprite, etc. This also gives me the ability to add new
- functionality at will, without waiting for Ken to add a new function. To
- this end, I've added stub code for Alt-P while in 3D mode. Currently, this
- just gives you the tile selection screen, but it will be used for editing
- tiled parallaxing skies.
- An assertion failure that would occur when an invalid reference was noted
- between a map and an mpx file has been changed. The invalid reference will
- now be simply deleted. This allows you to delete the mpx file if you want to
- trash all the additional map data.
- -----------------------------------------------------------------------------
- 94/12/30
- Due to some problems discovered in trying to handle keystrokes from within a
- secondary ISR (Ken's code doesn't handle it well, and I can't work around it
- because his functions are not reentrant), I've adopted a new strategy for
- adding to key functions. I'm still using my own keyboard handler, so you'll
- still get the benefit of key repeat.
- I'm now 'subclassing' Ken's editinput() function by renaming his function to
- kensinput() by directly modifying the object file. This is a true hack, but
- it should work cleanly. However, I'll need to make the same change to future
- versions of build.obj unless I can convince Ken to make a similar change.
- Just to prove that it works, I've added a few extra key functions for 3D
- mode:
- Alt-L while the cursor is on a sprite will set the sprite's shade to -42 (the
- maximum brightness without side effects).
- Alt-0 while the cursor is on a sprite will set the sprite's shade to 0. This
- should cause the sprite to have the same shade as the sector it is in (good
- for floor and ceiling sprites).
- I was going to add a function to build stairs automatically, but some of
- Ken's variables for handling highlighted sectors are static and I can't
- access them. I'll try to get him to change this and add this in a later
- version.
- -----------------------------------------------------------------------------
- 95/01/02
- Make sure you run CONVMAP6 on ALL your maps. The easiest (DOS) method
- to accomplish this is to type:
- for %1 in (*.map) do convmap6 %1
- Peter implemented a raw auto stair builder. Create your stair sectors in
- 2D mode, without (unnecessarily) changing the heights in 3D mode. In 2D mode,
- use the R.Alt key to select all the stairs you want to auto-height adjust.
- In 3D mode, point to a sector outside the selected stairs that you want use
- as the base height for the stairs and press F9. Enter the stair height in
- pixels. Use 8 or 12 pixels or risk death by immolation; other stair heights
- will be too tall to walk over. Expect more cool additions in the future!
- Peter made changes to the width of the character, as well as height at
- which things can be walked over. If you notice any peculiarities let him
- know.
- Peter has also added sector lighting effects to BUILD, but they have not
- been documented. Also, they don't work in Blood yet, but will very soon.
- The next update you get will be probably executables only.
- Note from Nick: Try to make your bonus, one-up and weapon sprites
- non-blocking. Thanks!
- -----------------------------------------------------------------------------
- 95/02/06
- Key handling has changed (again), and is now much cleaner, thanks to the
- changes Ken made to his code during his visit with us. I'll no longer have
- to keep hacking build.obj.
- Along with Ken's changes, a bug crept in which would cause F5-F8 to crash if
- you pressed them in 3D mode. This has been fixed.
- Sector lighting effects are now functional and work in Blood as well. You
- can edit them in 2D mode or 3D mode. See the new keys documented above. I
- may be making another change in the implementation of sector lighting to
- allows walls to be modified, but this shouldn't affect sectors which you have
- already worked on, so bang away on this feature.
- The MPX format has been enhanced again. It now contains version information,
- so should be easier to update periodically. Older format files are
- automatically converted when loaded. With this new version, you'll be able
- to add author name and level name to the mpx files (editing not yet
- implemented, though.) Global visibility is now saved in the mpx file and
- properly loaded in Blood.
- You can now tile parallax skies. See the new keys documented above.
- -----------------------------------------------------------------------------
- 95/02/08
- Updated sector shading effects code. Instead of storing the base floor and
- ceiling shade, the MPX structure now has a single field which is the
- current relative shade. By adding and subtracting this offset, it is
- possible to do relative shading effects to floors, ceilings, and walls
- without extra storage. The only overhead is some additional processing time,
- since I now call DoSectorLighting() and UndoSectorLighting() once per frame.
- The sectorExt dialog now has checkboxs for shading floors, ceilings, and
- walls, so it is possible to apply lighting effects to any or all of these.
- Also, for lighting effects to take place, the sector status must be ON. I'm
- going to get the message system working Real Soon Now, and the first thing
- I'll test is turning on and off lighting effects.
- A major bug was fixed in the code that ensured referential integrity between
- the sprite, sector, wall and respective Ext structures. I believe that this
- was THE bug that was causing the occasional weird sector lighting values.
- Please let me know ASAP any other problems of this nature.
- When loading maps, all item and creature sprites are automatically
- sized to their proper x and y repeats. This is intentional, and will ensure
- uniformity between levels. There is no such thing as a miniature zombie!
- Sprite Ext structures are automatically added for creatures when maps are
- loaded. This adds the proper type and view flags based on picnum.
- -----------------------------------------------------------------------------
- 95/02/14
- Did a major restructuring of source code. This was a sorely needed cleanup
- to produce organization out of a loose collection of hacks. This should make
- future changes and additions much easier.
- Fixed a problem with the IncBy and DecBy inlines functions which caused
- weird step values when you used the PageUp and PageDn keys in dialogs.
- -----------------------------------------------------------------------------
- 95/02/18
- Parallax sky tiling should be working again. I had an incorrect assumption
- about the way pskybits works. I thought it represented the width of the sky
- tiles, but it actually indicates the number of tiles. Go figure.
- I've assigned the ext editing functions to the Alt combinations of F5 and F6
- instead of F7 and F8. I'm limited to F5-F8 in 2d mode for adding features,
- so I'm going to overload these keys for all their worth. Prepare for the
- worst.
- Rewrote initialization code so that it uses the same module as Blood. You'll
- now see the same initialization diagnostic messages in both. This means that
- MAPEDIT also uses the same gamma correct and sin tables as Blood, and loads
- information from the BLOOD.INI file.
- MAPEDIT loads the gamma correction from and writes changes to the BLOOD.INI
- file. Do not use F11 to change the gamma level. Instead use the G +/-
- combination, the same as in Blood. The gamma level is displayed momentarily
- when changed.
- Changed key combination to change the depth cueing (visibility) to D +/- for
- compatibility with BLOOD.
- -----------------------------------------------------------------------------
- 95/02/18
- Fixed a bug in the key handler which caused the (G)oto command to stop
- working in the tile selection screen. The solution was to change the key
- combination for this to Alt-G. Essentially, anything you used G for
- previously, use Alt-G for now (except setting gamma correction).
- -----------------------------------------------------------------------------
- 95/02/27
- This version includes a substantial rewrite of ALL 3D editing keys. Please
- report anything that's not working as it should.
- PageUp and PageDn in 3D mode now support fine movement (1 pixel) and coarse
- movement (4 pixels). Use shift for fine movement. It did this before, but
- not correctly all the time due to the way I was intercepting the keys.
- Sprite fine z adjustment now works for highlighted sprites. Coarse z
- adjustment now moves to the next multiple of 4 pixels, rather than in steps
- of 4. You can no longer move a floor above a ceiling or vice versa.
- Fixed coarse sprite rotation so it moves to the next multiple of 256.
- Fine rotation now moves to the next multiple of 16 instead of 1.
- Changed screen capture key to PrintScreen. Now I can use F12 for something
- more useful.
- You can no longer wrap shades by going too dark or too light. Shades are now
- correctly clipped at their max values.
- Changed keys for setting shade to 0, min, or max. The key combinations for
- setting texture brightness are now Ctrl Pad + for max brightness, Ctrl Pad -
- for min brightness, and Pad 0 for 0 brightness. I would have done this
- originally, but I couldn't without rewriting a fair amount of the 3d editor
- code (which I now have done). These key combinations now present a
- consistent metaphor: Pad +/- is exclusively used for brightness; and Control
- in combination with a step key sets a min or max.
- Fixed a bug in which any sprite inserted that had a tile height of 32
- pixels or more would automatically be set to blocking. It will now
- automatically set sprites to blocking only if there is something other than a
- sprite in the tab buffer.
- Added some clicks and beeps for feedback. Let me know if they are too
- annoying.
- Ctrl Enter on a parallax floor or ceiling will now paste to ALL parallaxed
- floors or ceilings, not just neighboring sectors.
- The key to auto adjust panning will no longer change orientation of any
- walls. This means that some walls will not automatically be aligned, but you
- would have had to fix these walls anyway.
- This version of MapEdit includes a new 2D animation editor. You start this
- editor by using F7. See the new animator editor keys documented at the top
- of this file. Call me if you need help. Level designers do not need to use
- this tool. The animation editor will probably not work in unchained mode or
- screen buffer mode. Try it in these modes at your own risk. You have been
- warned, Nick!
- -----------------------------------------------------------------------------
- 95/03/05
- Fixed a bug which would cause extended keys (e.g. Page Up and Delete) to be
- dropped if NumLock was on. This bug was introduced when I added code to
- prevent filling up the keyboard buffer. These keys are actually transmitted
- as multiple make codes when Num Lock is on, hence the bug.
- Fixed a bug in the debug version of the heap. Sheesh! It would dassert out
- occasionally when it was unable to allocate a block when it thought it had
- enough memory. I wasn't subtracting out the space used for the fenceposts.
- MapEdit now uses our heap and resource caching system, so it should lurch
- less.
- I replaced the gettile() function, so now tile histories for walls, ceilings,
- floors, masked walls, face sprites, and flat sprite can all be maintained
- independently. Tile selection should now be significantly faster.
- -----------------------------------------------------------------------------
- 95/03/06
- Added an assertion to check for overflow of the ext arrays. I found out that
- some maps had sectorExt structures for nearly every sector, and were
- overflowing the array!
- -----------------------------------------------------------------------------
- 95/03/24
- BUG FIXES
- Fixed problem with allocatepermanenttile not marking the block of memory as
- locked. It could get added to the purge list during precaching....
- Added some missing modify [...] registers to an inline function in the
- dynamic fire system. This would inevitably cause problems when
- optimizations were enabled.
- Fixed the hang on exit problem. Ken's unintengine function was closing
- STDIN. Replaced his function to fix.
- -----------------------------------------------------------------------------
- 95/03/26
- Fixed a bug with adjust x and y repeats of wall textures (you couldn't). You
- can now also match x and y repeats by pressing shift / on a wall.
- Added preliminary light bomb.
- -----------------------------------------------------------------------------
- 95/04/02
- When switching between 2D and 3D mode, I now do a reference check for all ext
- structures. This will ensure that any editing done in 2D mode is
- reflected immediately in 3D mode.
- Ctrl-Enter will no longer copy shade or palette values. If you want to copy
- shade and palette values to every wall in a loop, use Shift-Ctrl Enter. Note
- that the previous function of Shift-Ctrl Enter has been removed.
- -----------------------------------------------------------------------------
- 95/04/07
- MAJOR FORMAT CHANGE. This version requires you to run CONVDB3 on all your
- maps. This new format eliminates the need for separate MAP and MPX files,
- and adds many new fields, support for which will be added *soon*.
- You can now adjust the floor or ceiling z of a red sector from outside the
- sector. Just point to one of the walls and press page up or down. This new
- feature makes it easy to open closed vertical doors.
- Increased angle resolution of light bomb. Expect it to be about twice as
- slow.
- -----------------------------------------------------------------------------
- 95/04/07
- BUG FIX. There was a problem which resulted in an incorrect file CRC if you
- deleted sprites and then saved. I wasn't checking the statnum of sprites
- which had an attached xsprite.
- BUG FIX. If you started MAPEDIT and created a new map, all sectors would have
- an extra field of 0 instead of -1. This caused an assertion failure when you
- tried to enter 3d mode. This is a kenbug which I worked around by
- initializing all extra fields to -1. There is still a problem if you create a
- new map after editing another map. When you add sectors, they will get extra
- references to old xsectors, xwalls, and xsprites, respectively.
- BEHAVIOR CHANGE. The program now automatically adds xsprites for all sprites
- and sizes them correctly before saving.
- -----------------------------------------------------------------------------
- 95/04/07
- BUG FIX. All extra fields of 0 are now set to -1 on loading. I'll fix this
- nasty bug yet!
- BUG FIX. Hooked my unitialization routine into exit so that keyboard
- interrupt and timer rate gets restored, even on crashes. This should cure
- the occasional and bothersome runaway clock.
- -----------------------------------------------------------------------------
- 95/04/18
- Separated code for tile selection into it's own module.
- Made the sequence editor use the new tile picking code.
- -----------------------------------------------------------------------------
- 95/04/31 - NCN
- BUG FIX. Fixed a bug that screwed up masked walls. MAPPERS: You may not have
- seen this bug since it occurred in an interim version.
- The H key now toggles the hitscan value in 3D mode for sprites as well as
- masked walls. Use Ctrl-H in 2D mode.
- The Alt F key combo was added in 3D mode to change the relative alignment of a
- sector. Press it once to make a sector relative aligned. The key may be
- pressed again (and again) to change the first wall in a sector. To check which
- is the first wall, press TAB in a sector and note the first wall number, then
- press Alt-TAB on each wall to figure out which one it is.
- IMPORTANT NOTE: Only use Alt-F in sectors NOT containing other sectors!
- Added crude menus to sector dialog. To edit an extended dialog box,
- highlight one of the menu selections and press Enter. When you are done
- editing in the extended dialog box, press Enter to save the dialog changes
- and return you to 2D editing mode. If you wish to go back to the menu,
- press Escape. Any changes you have made will be held until you either press
- Enter again, or press Escape to abort any changes you have made.
- Added a txID verification key to the sector and sprite trigger dialog boxes.
- When the txID field is highlighted, enter a number and press the '?' key. This
- will tell you whether the txID you entered is used and by what. I intend to
- expand on this for the rxID field and add the same features to the wall
- dialog.
- Added wind currents to sectors. There are now 8 hard-coded wind levels, which
- are selectable by changing the wind field in the sector dialog. If the field
- is 0, then no wind is generated in that sector.
- Added water current data to sectors, which can be edited in the sector dialog.
- First select a water depth from 0 to 3: 0=no current, 1=tread, 2=wade, 3=swim.
- Next select the speed and angle. If a sector has relative alignment set, the
- initial current angle will be determined by the angle of first wall in the
- sector, and the 'angle' field will is added to the wall angle.
- Added key support for certain sector effects. Change the key field in a sector
- to indicate that the sector requires a key to operate.
- MAPPERS: We will be moving from the tag system to the new extended system, a
- few effects at a time. Please watch for changes in my maps and this text file
- to show you which effects have changed. Some things, like one-shot triggers,
- don't work yet, but set the fields anyway for compatibility and so you
- won't have to go back and edit them later. For now, you should be able to go
- back through all your maps and make switches and keys function, and that
- should eat up a few days. Good luck!
- Check out the following sector types: Lift, Swingdoor, Topdoor,
- Bottomdoor, and Floor Pad. Use my example TRIGGERS.MAP to figure some of it
- out, or call me if you need to. Eventually we'll have docs explaining how this
- stuff works.
- -----------------------------------------------------------------------------
- 95/05/02 - NCN
- Fixed trigger bug with floor pads. Check out the expanded physical trigger
- flags for sprites and sectors. MAPPERS: Make sure the following things are
- applied to your maps: 1) All switches should be non-blocking with the
- Push and/or Impact triggers set. 2) Door sectors currently need the Push
- flag set. This will change as soon as wall triggers are done. 3) Lifts will
- need the Push flag set to function while the player is in the sector, unless
- a switch is installed at the top and bottom of the lift, either inside or
- outside the shaft, up to you. The switch sprite will not move with the lift.
- You can use the physical triggers with ANY sector type, including NORMAL.
- Physical triggers for sectors of type NORMAL will not change state when
- the trigger is activated. The "only once" trigger now works with the NORMAL
- type of sector. Expect the same additions to all sector types soon.
- BUGS/PROBLEMS:
- * Lifts no longer work when the action key is pressed while inside,
- though they will activate if you are next to them. This will be fixed
- in the next version.
- * Wall flags are still not implemented. Expect them also in the next
- version. These will be used to signal door sectors to open.
- NOTES:
- * Shrink all switches to 40x40. I'll try and add this in next MAPEDIT.
- * Shrink all gargoyle statues to 40x40. Same deal.
- * Shrink all chairs to 40x40. Okay, this one too.
- -----------------------------------------------------------------------------
- 95/05/07
- When relative sector alignment is set with Alt-F, flipping and xy swapping is
- cleared. This should fix water current problems.
- -----------------------------------------------------------------------------
- 95/05/08
- Added new fields to sector effects dialog. Redid all dialogs in character
- coordinates and tightened up display. Non-tab control now are highlighted.
- Add F2 to toggle state in 3D mode.
- -----------------------------------------------------------------------------
- 95/05/10
- Added display of wave form when 'W' pressed in 3D mode.
- Modified xsector and xsprite dialogs to access new waitTime and busyTime
- fields. These fields control the speed of door movement (time in .1 secs),
- and the delay before reset (time in .1 secs). If your doors or momentary
- switches don't seem to be working, check the values in these fields.
- Added xwall dialog.
- -----------------------------------------------------------------------------
- 95/05/12
- Provided a workaround for a memory allocation bug which would cause the
- editor and blood to hang in any mode which required screen buffering. This
- workaround will NOT work in stereo display modes -- I need an engine update
- from Ken to fix this.
- -----------------------------------------------------------------------------
- 95/05/19
- Added trouble-shooting section at top.
- -----------------------------------------------------------------------------
- 95/05/24
- Added lots of great new stuff that will be documented shortly. Take a look at
- the sample maps to see how most of the effects are accomplished. You will
- notice that MAPEDIT has changed significantly.
- BLUE "SPRITES" are controls for SLIDE type sectors, and come in pairs. GREEN
- "SPRITES" are controls for ROTATE type sectors.
- Use the controls to make rotating and sliding doors or other gimmicks. If you
- delete a control accidently it will be reinserted, though the angles and
- position are not retained. Sorry. Don't delete controls by accident. :)
- Here is a mini-tutorial on how things work, please run the maps then look at
- them before you post a bunch of questions. Everything should be the same for
- raising and lowering sector doors.
- For a swinging door:
- * Create a red-line sector for a door and raise it to the height you want it.
- * NOTE: Doors should be created in the OPEN position.
- * Use AltF5 to select a sector type of "Rotate" in the sector dialog.
- * WARNING: Do NOT select the "Swing door" type. It won't work.
- * Set the triggers, keys, and busyTime/waitTime EFFECTS in the same dialog.
- * NOTE: A green control is automatically inserted (visible in 2D mode only!)
- * Place the control on the pivot point of the sector.
- * Change the angle of the green control to point right. O---->
- * Now, adjust the angle of the green control to be the angle it needs rotate
- to OPEN from the CLOSED position. This is a bit confusing but you'll get
- the hang of it. Look at the swinging doors in MAP01-MAP04.
- For a sliding door:
- * Okay, I'll send this to you guys in e-mail. There is a simple example in
- MAP01.MAP. Look for the BLUE ARROW. Yes! The blue arrow points in the
- direction of movement. (Let the other teams try and beat that!)
- More on sliding doors later, as well as morphing walls. For now just
- experiment with triggers and slide/rotate walls. Good luck.
- -----------------------------------------------------------------------------
- 95/05/28
- Changed code that automatically inserts marker sprites so they start out at
- angle 0. O----> This only effect markers in rotate sectors.
- -----------------------------------------------------------------------------
- 95/05/29
- Added combination switches. These are multi-way switches which change to the
- ON state when their data field equals the value set in lotag. The sprite's
- hitag contain the number of values that the switch will cycle through. These
- switches can be used for combination locks, or even counters. See my map
- FXTEST for examples of both.
- Changed the way that slide sectors work so you only need to tag the walls
- that you want to move, and the code figures out which vertices need to be
- updated. No more stretching wall bullshit.
- Added support for sprite link messages so a master combination switch can
- control slave switches.
- -----------------------------------------------------------------------------
- 95/05/30
- Created MAPEDIT.INI for storing various edition options.
- Fixed an overflow problem which could cause long lines to be unselectable.
- Overhauled line selection so it is zoom dependent, and controlled by a
- configurable distance threshold, HighlightThreshold in [Options] of
- MAPEDIT.INI.
- Fixed a lot a subtle problems in the light bomb, which would cause certain
- reflections to be calculated incorrectly. I also (hopefully) eliminated
- problems with overflow in the ray tracing algorithm. Sometimes fixed point
- math sucks. You can control various aspects of the light bomb through
- configuration options in MAPEDIT.INI.
- Changed Ctrl-Shift-Enter so it only pastes shade and palette to all walls in
- a loop. Previously, it would copy over textures as well. This is the way
- that I really intended it to work.
- -----------------------------------------------------------------------------
- 95/05/31
- YES! I think I found a solution for maintaining marker sprites that will
- ensure references don't get hosed. In level designer terms, this means you
- won't occasionally lose slide or rotate markers.
- -----------------------------------------------------------------------------
- 95/06/01
- This time I _really_ think I've fixed the marker sprite problem. There
- shouldn't be any changes required to your maps, and the marker sprites should
- stay put. Let me know any problems ASAP.
- -----------------------------------------------------------------------------
- 95/06/02
- Moved troubleshooting section to the new XSYSTEM.TXT file, which will
- document the trigger system, sector, wall, and sprite effects, and other
- crucial information for level designers. This file will continue to document
- editor changes, but won't discuss specific aspects of effects.
- -----------------------------------------------------------------------------
- 95/06/04
- Fixed a mouse selection problem which would cause the wrong texture to be
- copied instead if the mouse was at an extreme edge of the screen. The bug is
- in Ken's code, so the only thing I can do is limit the mouse in by a pixel
- from all the edges.
- You can now use PageUp and PageDn on the lower wall of a bi-textured wall to
- move a red sector up and down.
- Player height is now identical in MapEdit and Blood. Just remember to put
- your switches lower in areas where the player will be in the water.
- Added sector visibility keys: Press CtrlAlt+ and CtrlAlt- to change the
- sector visibility values. Don't abuse this feature or Nick will kill you.
- -----------------------------------------------------------------------------
- 95/06/04
- ========================================================================
- !! READ THIS FIRST !! (please)
- ========================================================================
- Save ALL of your maps before running the new conversion utility.
- Once you've saved your maps in another directory or ZIP file, run the
- CONVDB4.EXE conversion utility. You can use wildcards, so typing "CONVDB4
- *.MAP" is acceptable.
- Next, run "MAKEPLU 64 96" before viewing, editing or playing any maps.
- ========================================================================
- * From now on all Door, Lift and moving stair types should be created using
- the "Z Motion" sector type. (These are automatically converted when CONVDB4
- is run on version 3.x maps.) The Z values cannot yet be viewed in the 2D
- dialogs, but are displayed when created or changed in 3D mode. NOTE: Lift
- types will be converted, but you must manually go in and set on and off Z for
- each of them. Sorry. It was this, or linking the entire engine into the
- converter, or wasting time rewriting code.
- To create and set the default on and off Z values for a "Z Motion" sector:
- First, make the sector a "Z Motion" sector using the Alt-F5 dialog.
- Position the sector ceiling and floor heights where you want them to be when
- the sector is in the OFF position. For doors, it is easiest to make OFF the
- CLOSED position. Point at the Z Motion sector (ceiling, floor, adjacent
- non-white wall, or interior white wall) and press Alt F3 to set the OFF Z
- values. Pressing Alt F3 will set the Z values for both the ceiling and floor,
- so you don't have to press it twice.
- Now position the ceiling and floor heights where you want them to be when the
- sector is in the ON position. (Best in the OPEN position.) Point at the "Z
- Motion" sector and press Alt F4 to set the ON Z values. Again, this only has
- to be done once, as it will autmoatically set the ceiling and floor ON Z
- values with one keypress.
- To view the positions, point at the sector with the mouse cursor, hold the
- left mouse button down and press F3 and/or F4 to view the OFF and ON Z
- values, respectively.
- * New graphics for the pod creature and rat have been added, but they don't
- have MAPEDIT values in place. That means their captions won't yet show up in
- 2D mode, nor will they be sized correctly.
- * Dialogs have changed a bit, and will change more in the future. At least
- this time they all look more alike. Live with it.
- -----------------------------------------------------------------------------
- 95/06/13
- Changed 3D movement so you are no longer blocked by the ceiling in sectors
- with parallaxed skies. Moving way 'up there' can give you an interesting
- perspective on (and hopefully new ideas for) your map.
- Rewrote the GUI. You probably won't see any significant visible changes, but
- please report any problems.
- -----------------------------------------------------------------------------
- 95/06/30
- Added menu to insert game objects. From now onw, press Alt-S instead of S to
- insert game object sprites. You can still use S for ornaments like torches,
- weeds, etc. NOTE: Hazard insertion is not done yet.
- If you have not already done do, run CONVDB4 on all your maps. You should
- then load and save *every* map to reset the object types. The only sprites
- that are converted in MAPEDIT (during loading and saving) are listed below.
- If you have a creature sprite not using one of these tiles, fix it
- immediately or risk certain death.
- # Name Creature
- 896 kAnmPhantasmM1 Phantasm
- 1170 kAnmZomb1M1 AxeZombie
- 1270 kAnmHellM2 HellHound
- 1280 kAnmHellM1 HellHound (also)
- 1370 kAnmZomb2M1 FatZombie
- 1470 kAnmGargoyleM1 FleshGargoyle
- 1530 kAnmGargStatue FleshGargoyle Statue
- 1570 kAnmGillM1 GillBeast
- 1595 kAnmGillM2 GillBeast (also)
- 1745 kAnmRatM1 Rat
- 1792 kAnmPodM1 GreenPod
- 1797 kAnmTentacleM1 GreenTentacle
- 1835 kAnmEelM2 Eel
- 1870 kAnmEelM1 Eel (also)
- 1920 kAnmSpiderM1 RedSpider
- 1948 kAnmBatM2 Bat (sleeping)
- 1950 kAnmBatM1 Bat (flying)
- 1980 kAnmHandM1 Hand
- 2680 kAnmCerberusM1 Cerberus
- 2820 kAnmCultistA1 TommyCultist *
- 2860 kAnmCultistM1 ShotgunCultist *
- -----------------------------------------------------------------------------
- 95/07/03
- Maps of version 4.00 are auto converted to version 4.01. The conversion
- involves adjusting the z position of wall and face sprites to handle the new
- origin alignent mode.
- Added new lighting type, Flicker3. This is a mostly on, flakey flourescent
- light sort of flicker effect.
- Added our tile preloading code from Blood to MapEdit, so you should have less
- lurching due to tiles not being in memory.
- -----------------------------------------------------------------------------
- 95/07/08
- Rewrote "O" code to paste sprite onto a wall. Let me know if you still have
- occasional problems ornamenting sprites (where it won't go onto the wall).
- -----------------------------------------------------------------------------
- 95/07/09
- Fixed a problem where marker sprites would occasionally get converted to
- other sprite types if they had a picnum which got recognized by Nick's
- conversion code.
- Improved performance of 2D display code by eliminating unnecessary math for
- non-displayed red walls.
- Now that sprite FIFO code is working, the insertsprite cover function now
- sets all new sprites to the following defaults:
- sprite[].cstat = kSpriteOriginAlign;
- sprite[].shade = 0;
- sprite[].pal = 0;
- sprite[].clipdist = 32;
- sprite[].xrepeat = 64;
- sprite[].yrepeat = 64;
- sprite[].xoffset = 0;
- sprite[].yoffset = 0;
- sprite[].picnum = 0;
- sprite[].ang = 0;
- sprite[].xvel = 0;
- sprite[].yvel = 0;
- sprite[].zvel = 0;
- sprite[].owner = -1;
- sprite[].lotag = 0;
- sprite[].hitag = 0;
- sprite[].extra = -1;
- This should help cure some of the problems caused by sprites being inserted
- with bogus values in the fields.
- Renabled CRC checking for loaded maps. Let me know if you have any problems
- in loading some of your converted maps.
- ALERT! Ken made some clipping fixes to the engine which may cause sprites
- that are exactly on the wall to be non-visible. This is especially true with
- red walls. Changed the ornament function ("O" or "S" while pointing at a
- wall) so that sprites are offset from walls by 1/4th a pixel distance. You
- should go through your maps and re-ornament all walls. Unfortunately,
- there's not an easy way to do this automatically.
- Ornamented sprites are set by default to non-blocking and 1 sided.
- All dudes (creatures) are set to non-blocking and non-hitscan in the editor.
- This makes it a lot easier to move around in 3D mode. Don't worry, the
- status bits are automatically set to the appropriate values in the game.
- -----------------------------------------------------------------------------
- 95/07/17
- Fixed a bug with ammo names. Load and save all your maps. We apologize for
- this inconvenience.
- -----------------------------------------------------------------------------
- 95/07/20
- !!! MAP VERSION CHANGE !!!
- Once you've backed up all your maps in another directory or ZIP file, run the
- CONVDB5.EXE conversion utility. You can use wildcards, so typing "CONVDB5
- *.MAP" is acceptable. The old maps will be saved with an extension of ".MA4".
- This update adds fields necessary for implementing creature AI. You'll see
- fields added to the XSprite dialog shortly.
- Fixed a bug in the code to auto align wall textures -- it would occasionally
- get caught in a loop and bail out after a certain number of iterations. Now
- it should correctly detect when it is looping around walls.
- You can now press F10 while editing the rxID and txID fields, and it will
- automatically fill in the next unused channel.
- Object type is now stored in the former lotag field, and object mass is
- stored in the former hitag field. Do NOT edit lotag or hitag manually.
- Fixed a crash bug that would occur if you pressed Enter in 2D mode while a
- wall was not highlighted.
- Optimized the sectorofwall() function, which probably won't make much of a
- difference to anybody.
- -----------------------------------------------------------------------------
- 95/07/27
- * Added Ctrl-PgUp / Ctrl-PgDn support (3D mode) for sectors / walls
- =============================================================================
- When pointing at single-sided walls, the ceiling of the sector is modified.
- When pointing double-sided walls, the sector ceiling or floor on the other
- side of the highlighted wall is modified.
- Ctrl-PgUp will set the highlighted sector ceiling to the next higher neighbor
- ceiling z, or floor to the next higher neighbor floor z.
- Ctrl-PgDn will set the highlighted sector ceiling to the next lower neighbor
- ceiling z, or floor to the next lower neighbor floor z.
- * Added Alt-PgUp / Alt-PgDn support (3D mode) for sectors / walls
- =============================================================================
- When pointing at single-sided walls, the ceiling of the sector is modified.
- When pointing double-sided walls, the sector ceiling or floor on the other
- side of the highlighted wall is modified.
- Alt-PgUp will bring up a dialog box where you can manually type in the pixel
- height of the ceiling or floor from its counterpart.
- In other words, if you Alt-PgUp on a floor, you can type in the floor's
- height from the ceiling. If you Alt-PgUp on a ceiling, you can type in the
- ceiling's height from the floor.
- Alt-PgUp and Alt-PgDn work the same way. If you can think of a cooler way to
- do this, let me know.
- Since not all of the monsters are selectable in 3D mode using the Alt-S object
- menu, use Alt-S to first insert the closest monster (e.g. flesh gargoyle
- instead of a stone gargoyle) then go into 2D mode and use AltF6 on the sprite
- then select a new type. This should be fixed soon, when all the monster types
- will be selectable through a list box.
- -----------------------------------------------------------------------------
- 95/08/01
- Fixed bug with sector joining. This bug was caused by us while trying to fix
- a bug in the build.obj editor code that wasn't checking for invalid sectors
- and walls when joining sectors. We still have the error checking code in, but
- we the check is less strict than it was, since the strict check was causing
- the code to bail out before joining sectors.
- -----------------------------------------------------------------------------
- 95/08/02
- Added what is hopefully the final fix for the resource/map caching problems
- we were experiencing on machines with > 8MB. All map changes should be now
- be flushed correctly, and the maps should reload without a problem.
- Ctrl-Alt-Plus & Ctrl-Alt-Minus:
- Made sector visibility keys work with sector highlighting, so you can now
- highlight sectors with the RightAlt key in 2D mode, then go to 3D mode and
- change the visibility of all highlighted sectors.
- -----------------------------------------------------------------------------
- 95/08/03
- Fixed hitscan blocking
- Added 3D mode messages to wall and sprite x/y repeat keys.
- Added 3D mode messages to wall x/y panning keys.
- Added some new sample maps and a sample map definition file.
- -----------------------------------------------------------------------------
- 95/08/04
- Reverted to the previous keyboard method of handling sub-dialogs. To exit
- from the sector effects sub-dialog and save changes, press ENTER. To return
- to the xsector dialog, just press ESC. Sorry for the inconvenience.
- -----------------------------------------------------------------------------
- 95/08/06
- Added respawning for items. Check out the sprite dialog using AltF6.
- Monsters and barrels do not respawn yet, but they will soon.
- -----------------------------------------------------------------------------
- 95/08/07
- MapEdit is now MUCH faster in 2D mode, at the expense of a little memory
- overhead. The speedups should be particularly noticeable in maps where there
- were a lot of captions being displayed.
- -----------------------------------------------------------------------------
- 95/08/08
- Tile #457 has been removed. Use tile #356 with palette 5 to emulate #457.
- We apologize for this inconvenience
- -----------------------------------------------------------------------------
- 95/08/09
- Added support for moving only marked walls and sprites within motion sectors.
- To mark a wall or sprite for motion, press the "K" key while highlighting the
- object in 2D mode. When the object is blue, it will move forward (in the
- direction of the movement arrow, or the angle direction of the axis marker).
- When it is green, it will move in the opposite direction.
- You can also mark sprites for motion in Z Motion sectors. If the sprite is
- blue, it will move with the floor. If it is green, it will move with the
- ceiling.
- Change the key for marking walls for motion from "M" to "K". This was
- done to allow setting walls to masked in 2D mode with the "M" key. This
- change actually occured a few revs back, but I forget to document either key
- -- sorry.
- Changed the color of marker sprites to green/yellow to yellow/white to
- distinguish them from sprites marked with "K". Marker sprites normally
- appear yellow. If the cursor is in the sector they apply to, they are shown
- in white.
- There are now three different types of slide and rotate sectors. The first
- type, Slide Marked and Rotate Marked, will move only marked walls and
- sprites. The second type, Slide and Rotate, will move ALL walls and marked
- sprites. This is useful for sectors where you don't want to mark all the
- walls individually. The third type, Slide Crush and Rotate Crush, isn't yet
- implemented, and acts like the move ALL types.
- -----------------------------------------------------------------------------
- 95/08/16
- You can now rotate sectors more than 180 degrees! Use the [/] keys to rotate
- a sprite in 2D mode without wrapping at 0 and 2048. All axis markers
- for doors which rotate CCW are automatically set to negative angles. You'll
- understand how this works when you take a look at the markers.
- Slide sectors can rotate! Just set the start and end angles in the on and
- off marker sprites. Rotation will occur around the center, as determined by
- the relative position of the ON marker.
- -----------------------------------------------------------------------------
- 95/08/16
- Added and refined descriptions at the top of this document, mainly duplicating
- material from the older BUILD.TXT file.
- -----------------------------------------------------------------------------
- 95/08/20
- Updated Alt-S game object insertion to use new keys, weapon and dude tiles.
- -----------------------------------------------------------------------------
- 95/08/22
- Added mirrors to our game. Supports up to 64 mirrors per level. Mirrors
- cannot reflect other mirrors, so keep them far apart. Mirrors are created
- using a 1-way masked walls on red lines (double-sided linedefs.) The area
- behind the mirror must be the same size and shape as the area in front of
- the mirror. Apply the "mirror" texture (I think #504) to 1-way walls to
- make them a mirror.
- -----------------------------------------------------------------------------
- 95/08/29
- *** CONFIDENTIAL! DO NOT DISCUSS THE FOLLOWING UPDATE! ***
- We've added slopes to our game. Slopes will be in Blood, Duke,
- Ruins & Shadow Warrior. The 3D mode keys used to add or modify
- slopes are listed above. See [, ], \, and Alt-F
- -----------------------------------------------------------------------------
- 95/09/05
- Added hazards and miscellaneous sprites to the Alt-S menu. Check out
- inserting coop mode starting positions in the Misc menu. NOTE: Inserting
- switches using this menu isn't working yet.
- Added simple one-way teleporters to the editor. Create a teleport sector and
- a teleport marker will be inserted. Move that teleporter to the destination.
- For two-way teleporters, create the same at the destination and drag the
- marked to the first teleporter. Switched teleporters may work, but I haven't
- tested them yet. This could make for some interesting deathmatch play where
- you need a temporary ally.
- -----------------------------------------------------------------------------
- 95/09/10
- Modified the way that Alt-F key works. You can now select the first wall of a
- sector by pointing at it in 3D mode and pressing Alt-F. Pointing at the floor
- or ceiling and pressing Alt-F will make the first wall the next wall in
- clocking order.
- You can disable all panning with the F11 key. This is useful for aligning the
- textures of panAlways sectors and walls.
- -----------------------------------------------------------------------------
- 95/09/15
- When you insert a new sprite, if a sprite is not already in the tab buffer,
- you are given the opportunity to pick the tile for the sprite. Pressing
- Escape will allow you to abort the sprite insertion. The ability to abort
- also applies to inserting game objects with Alt-S.
- The Light bomb has been fixed. Because some of the math has been changed,
- you will need to update some of the constants in your MAPEDIT.INI file. Here
- are my default constants:
- [LightBomb]
- Intensity=4 ; controls how bright the light is
- Reflections=3 ; maximum number of reflections
- Attenuation=0x0000 ; how much light gets diminished
- MaxBright=-4
- Intensity controls how bright the light source is. You can increase this
- value if you don't like pressing L a lot to brighten up a room, but you won't
- get as much fine control with it then.
- Reflections is the number of times each light ray is allowed to bounce. If
- this value is 0, no reflections are calculated (and the process is much
- faster). More reflections can help by creating more diffuse lighting
- effects.
- Attenuation controls how much the light is diminished when it reflects off a
- wall or floor. A value of 0 is a perfect reflection, and a value of 0x10000
- would result in non-reflective walls.
- MaxBright sets the limit on how bright the light bomb is allowed to make a
- wall. By prevent the wall shade from getting too bright, you retain the
- ability to see some of the dynamic sector lighting effects, which won't be
- visible is the shade is too much < 0.
- Texture alignment code overhauled! I think this new version should do
- everything you could want it to do (with reason). It now follows multiple
- paths, aligning everything connected with the same texture perfectly. It
- aligns red walls correctly, regardless of where the texture is pegged, and
- even knows about slopes. You will be amazed. :-)
- For the sake of speed and congruity, I changed the key strokes for adjusting
- wall x/y repeat and x/y panning. The arrows on the numeric keypad now
- adjust the panning of wall textures by a factor of 8. If you want fine
- alignment, use the Shift key (sound familiar?) To adjust the wall scale,
- press the 5 key on the numeric keypad while pressing the arrows. This change
- should make it a little easier to manually adjust texture panning, since you
- won't have to hold so many darn keys down.
- For those of you with ingrained editor habits (or who have to use BUILD for
- other projects), you can retain the old keypad behavior by adding the
- following to the [Options] section of your MAPEDIT.INI file:
- [Options]
- OldKeyMapping=1
- This works the same way except for sprites, in which the function of the pad
- 5 is reversed. I did it this way because you seldom (if ever) need to adjust
- the x/y offset of sprites.
- -----------------------------------------------------------------------------
- 95/09/16
- Added a timer event generator to the sprite type list. See the
- appropriate section in XSYSTEM.TXT.
- -----------------------------------------------------------------------------
- 95/11/26
- Fixed a rather subtle but NASTY map screw up bug which would occur if you tried
- to use Alt-F on a ceiling or floor of sector 0. I intruced this bug when we
- went to the new map version. Sorry about that. :-( If you are curious what
- caused this, I made wall->point2 an unsigned value, not realizing that it can
- go negative during wall order rotation.
- -----------------------------------------------------------------------------
- 95/12/27
- Modified dialog boxes, adding new fields like interruptable, lock, etc.
- Added dude-specific flags to the sprite dialog box.
- -----------------------------------------------------------------------------
- 96/01/07
- Fixed sprite insertion and z movement functions so that sprites will go on
- floors and ceilings correctly.
- Changed '/' key so that is resets flip bits for floors and ceilings.
- Changed Alt-C so that it will change palookups if the picnum is the same in the
- tab buffer.
- Fixed an assertion bug that would occur when dragging highlighted points.
- -----------------------------------------------------------------------------
- 96/01/16
- Added WaterDrip generator code.
|