Pfhorte 2.0
By Steve Israelson ,   steve_israelson@mindlink.net

Hello all!

I have very little spare time these days, so do not expect new versions too often.  Send me detailed bug reports and feature requests, but do not always expect an email response, sorry.

Before asking me anything, be sure you have read and understand the most excellent documentation that can be found at: http://www.netzone.com/~shaw/
Randall Shaw has spend many o' hours on it so at least read it once.

Pfhorte 2.0 is a complete re-write of Pfhorte1.0dxx.  Pfhorte 2.0 is still not complete, hence the .a13 extension.  This release provides you with a sneak peek at what the future holds for Pfhorte.  This version marks the transition from Marathon 1 map making to Marathon 2 map making.  This means that you can only edit Marathon 2 maps with it.  Since it is very similar to Pfhorte 1.0, I will only note the differences between the two.

If you include this software in ANY CD collection, I would appreciate a sample copy.
If you write an article in any magazine I would appreciate my name at least being mentioned.

After Pfhorte 2.0 hits beta, ie it is feature complete, I will be releasing the source code for your general consumption.  You will not beable to use this code in any comercial products, nor in ANY Marathon 1 or 2 map editors.  You can use it for making Doom or DarkForces editors if you want to.

There is also a list of things to be done before a beta state is reached.

You need an alias to M2's shape file called "shapes" in the same folder as Pfhorte.

(Note: 'a' means alpha, which means the software is not yet feature complete.  Beta means feature complete but not bug free.)

Enjoy!
Changes Since 2.0a13
- Fixed up the drawing of the gadget to switch from a scroller to an edit text field.
- Made the "Play Level" viewer show secondary textures properly.  Also
   shows the floor and ceiling offsets.  You can change the floor and ceiling
   offsets using the arrow keys.  The floor and ceiling height with the '-' and '=' keys.
- Can no longer click on hidden points.
- There is now an option to change the poly number of the selected poly to
    the first or last poly.  Only the very best map makers will use this. :)
- The poly index in the inspector now starts at 1 as it should.
- Maps now have a unique ID that will make save games work better, I hope.\
- Some new artwork.

Changes Since 2.0a12
- Landscape popup now selectes the correct landscape texture.  Was selecting one greater somehow.
- Changing the texture set now fixes up the control panels a bit, still needs user to fix.
- Making a default object no longer renders the flags menu inoperative.
- Centering map centers it on the grid.
- Sometimes the wand tool would crash when messing with sides and default sides.  May be fixed.
- Default object remembers the flags too.
- Secondary texture show up in 3D view now.  Does not align vertically correctly though.
- New draw modes to display various info as a number in the poly.

Changes Since 2.0a11
- Fixed the deleting of sides bug, sorry.
- Fixed the multi level duplication of PNTS and other chunks.

Changes Since 2.0a10
- The landscape textures are now selected with a popup menu like the normal textures.
- You can now select non standard texture sets in the mission info.  Don't do it unless you have made your own texture set and know what you are doing.
- The landscape texture set no longer gets reset to 0.
- Changing the landscape set fixes all the landscape textures in your level.
- The popup texture chooser now has a single landscape selection to avoid confusion.
- Landscape textures should work in the defaults now.
- Pfhorte supports up to 34 textures in a texture set for those making custom sets.
- The floor and ceiling lighting draw mode now works correctly.
- The points now hide too.
- Unused sides get deleted when the level is opened.
- Deleting a poly no longer messes up control panel platform switches.
- The magic wand now works with almost all defaults and has new settings.
- The poly index is now shown in the inspector for those making terminal teleporters.
- The phase of lights can be set.
- Dragging notes and objects off the map no longer crashes Pfhorte.
- Making a new light/media/ambient sound/random sound will copy the settings of the current on shown in the dialog.
- You can now use a light as a volume controller for a sound object.


Changes Since 2.0a9
- Added option for sliders to switch from slider to edit text. Svaed in prefs when save settings chosen.
- Preserves 'term' resources in map file.  Does not allow editing of them yet though.
- Adjusted the size of the 'minf' chunk. Multi level maps should work better now.
- Now allows 2048 polys per level and 256 platforms although 64 is the limit.
- Layer info for polys changed.  You will need to regroup your polys back into layers.
- Can now adjust the floor and ceiling texture offsets for polys.
- Made inspector wider for new fields.
- Option no longer switches to the eyedropper tool.
- Added ability to show floor and ceiling heights as brightness levels of the polys.
- Now preserves data in the resource fork of map files.  Not well tested.
- Hiding polys or layers hides the objects in the polys and the lines but NOT the points (too slow).

Changes Since 2.0a8
- Fixed crashing bug when opening a map window.
- Copyright = 1996.
- Ceiling/floor in poly inspector need swapping.
- Allow negative numbers for sound object volumes.
- Save defaults to prefs.
- Add sound distance circles, of 10240 units.
- Frequency for ibjects can go up to 65536 now.
- Numbers for the scrollers.
- Light switches can be set properly.
- When zooming, hiliting doesnt get left all over the place.
- A different looking tool palette.
- The grabber becomes active when pressing space now instead of cmd-space.
- Holding down: cmd - arrow tool, option - eyedropper, space - grabber, cmd-space - mag glass, cmd-option-space minus-mag-glass.
- With selected polys, you can rotate +-90 degrees and flip horz/vert using the edit menu, or rotate +-5 degrees with "," and "."
- Fixed magic wand problem with poly types and platforms.  Could have made the map and platforms unusable, yuck.

Changes Since 2.0a7
- Fixed up the line tool a bit.  Sometimes made bad polys.
- Deleteing a poly deletes its lines, unless you hold option down.
- Option clicking the line tool continues a line (try it).
- Added sliders and other nifty controls to stuff that had numbers that were not useful.
- Fixed prefs bug, again.
- Can not delete a line that is attached to a poly.
- In the 3d view you can alter the floor and ceiling heights of selected polys with the arrow keys.
- Nasty bug with the line tool and the hammer tool.
- Now fixes problems with the level on opening.  Will fix bugs caused by line tool bug.

Changes Since 2.0a6
- Inspector is now wider.
- Side inspector shows all texture types now.
- show # objects in object plac dialog.
- Multi level map saving bug fixed.
- Prefs was crashing.
- Add a None texture to the texture popups.
- Could not click on notes.
- Gave the windows back their zoom buttons
- Clicking on the first point closes the polygon.
- Clicking new points on existing points, shows the new point in the point color.
- Removed useless info from media dialog.
- Changing texture sets fixes up media too.
- Re-done defaults for polys and sides.  Now can inspect the default poly and side.
- Disabled the script menu.
- Hammer tool: Adding a new point.
- Hammer tool: Deleting an old point.
- Hammer tool: Connecting and disconnecting a point by dragging it.
- Can now copy and paste levels, Buggy?.
- Line tool.  Use it to draw lines.  Auto makes polys if it can.
- Can now set the light controlled by a light switch?
- Can now set the tag controlled by a destroyable tag switch.
- Can now set the tag controlled by an uplink chip switch.
- Selecting platform switch, now DOES hilite the platform.
- Deleting polys no longer hoses platforms.
- Most platform settings could be set but NOT unset, now fixed.
- Allowed more characters in most edit fields, including media height.
- Converted platforms no longer have door flag set.  Set it yourself if needed.
- Converted mission info has the landscape texture set to 0.
- You can now click on polys with a landscaped texture on it.
- Due to a bug in the shapes file (I think) the 4th landscape texture was not being loaded.
- Now a slider to set relative poly height (Ugly).
- The plain poly color now works properly.
- The show poly lighting draw mode works, sort of.
- Fixed bug when trying to save a newly created map file more than once.
- Center map command.
- Zooming in too far no long crashes.
- Can have landscaped textures in defaults.
- z coord for objects.  Distance from ceiling if hanging flag set.
- Snap to grid works when creating polys or lines.

Changes since 2.0a5
- Fix saving bug.
- All directions and angles are in degrees. 0 = east, 90 = north etc.
- Fixed up the poly type popup.
- Texture draw mode for sides was not working.
- Fix some light type editing bugs.
- New polys should default to media type of NONE.
- Allow sides on all lines.
- Plain map draw mode.
- Object orientation should not go past 360.
- fix wierd hilighting of strange lines.
- fix crasher after long edit session.
- poly and wall draw modes.
- poly line selection more accurate.
- 1 more zoom in/out level.
- Changing texture set should refresh screen.
- Dim out secondary if there is no need for secondary.
- Object plac stuff flakey.
- Real object plac editor.
- Change grouping to layering.
- Prefs for all the new things.
- Backdrops, ie other texture sets for landscape.
- Saving now marks the file as not needing to be saved.

Changes since 2.0a4
- I got some maps to actually work!  Thanks to Ryan Martell from Bungie!
- Opening Marathon 1 maps will convert them to Marathon 2.
- Fixed the error messages, so they said "shapes file not found" instead of "Zero length line" duh!
- Sped up the 3d view a bit.
- In the 3d view use the '[' and ']' keys to change the texture of a selected floor or ceiling or wall.
- In the 3d view use the arrow keys to change the alignment of textures on the selected wall.
- The control panels types have a number preceding their anme indicating what texture set it works with.
- A pile of stuff I forgot about already.

Changes since 2.0a3
- Added relative height checkbox to polygon inspector.
- Added the 3d Viewer - try it out. Keys:4,5,6,8 on keypad, and z,x,d,c.
- Allows editing of Marathon 2 Maps ONLY.  I will release a map convertor one day.


Differences from Pfhorte 1.0

- You can now drag levels into different positions in the levels list window.
- You can view the floor or ceiling and wall textures in the map view.
- Dragging objects in the map window is done dynamically.
- The map window remembers how big it was and its scale factor between saves.
- Selecting walls is done by clicking near the wall on the side that you want to inspect.
- The shapes file is scanned every time Pfhorte is run, and no cache file is made.
- Changing the orientation of objects is done by first selecting on or MORE objects an then option clicking where they should be looking.
- Setting switch, teleporter etc destinations is done by selecting the switch etc, and then option clicking on the destination poly.
- The arrow keys nudge the current selection.
- You can select multiple polys, notes and objects at the same time.
- You can group polys now!  Yes.....

Still to Be done:
- The 3D view is not fast enough, and is still buggy.
- Scripting is not working.
- There is little checking of the map for error conditions, so watch out.
- Other stuff I can't recall right now....


Steve I.
