|
LAV_Coyote25 İRevised: April 08, 2006 |
|
System Requirements: PIE Slicer DX
loads, edits, and renders 3-D object data in Warzone 2100's native
"PIE" format. |
|
|
PIE Slicer - Original read me file for pie slicer ( before DX ) |
|
|
See also: pie slicer guide # 1 by Dancing Moogle |
Pie slicer guide # 2 by Dancing Moogle |
|
DancingMoogle Mod Guide - how to compile a mod including your new pie files: |
|
|
see also - Advanced Utility Section here: Assembling .WDG files - NEW ITEM |
|
PIE Slicer was developed in a Windows 98 SE environment with Visual Basic 6 SP5. It should operate fine under Windows 2000 or Windows ME, as long as Service Pack 1 is installed. However, Pie Slicer may experience some problems in a Windows XP environment, and there are some known problems with running Warzone 2100 itself on Windows XP.
If there are any OS-related problems with PIE Slicer, contact the gurus at pumpkin-2 - forums .
You need the Visual Basic 6.0 Runtime DLL. This may be found at various websites like www.completelyfreesoftware.com .
You also need to have DirectX 7.0 or higher installed on your system.
old instructions may not be relevant: [And furthermore, will need to install the "Required System OCX Files" can be found here under downloads area - utilities - grab everything under "P" "R" "V" section letters found here : (unavailable at this time) www.pumpkin-2.co.uk/download.htm]
Go here instead : http://www.angelfire.com/falcon/stratadrake/utils/ - for the latest versions
and for the programmers sake READ! the damn "readme" or whatever documentation there is !
*Note: WZCK2.0 users may skip this step.
Obviously, you will need Warzone 2100 installed on your system for Pie Slicer to be of any real use. You do not "need" to have WZCK and/or WDG Explorer installed, but they are highly recommended as well--you'll want WDG Explorer to extract PIE graphics from Warzone 2100's game data, and WZCK to easily compile your own graphics into your Warzone mods.
NOTE: Finally, you will want a desktop size of 800x600 or larger operating at 16-bit color or higher.
PIE Slicer *will* run in 640x480 and even 256-color desktops, but doing so is strongly NOT recommended!
How to Install PIE Slicer:
I highly recommended that you create a new directory exclusively for PIE Slicer. Simply un-pack the Zip file's contents into that directory, ensuring that your unpacker's "Use path names" (or equivalent) option is enabled.
The following additional files are included in the ZIP:
* PIE Slicer DX. exe - Required. The main application. You can place this anywhere you want, but bear in mind that PIE Slicer can only load bare PIE files; it cannot extract them from WDG's. Thus, installing WDG Explorer and extracting the PIE files from Warzone.wdg yourself is a good idea!
* Master.dtb - Required. This file is required.
* page(##).bmp - These files contain the default WZ textures.
* Readme-PIE Slicer DX. rtf - You are reading this file right now, aren't you? Good.
* Config.dtb - This file is created and managed automatically by PIE Slicer.
Getting Started:
To start PIE Slicer, double-click its file icon its directory in the Windows Explorer. You can also create a shortcut link to PIE Slicer by right-clicking on the EXE and choosing the "Create Shortcut" option from the pop-up menu. Creating a shortcut to PIE Slicer will save you a lot of trouble should you later forget where you installed it, and you can place Shortcuts anywhere on your computer except the main portion of the Windows Taskbar--common locations include the Start Menu (or its associated folders), your Desktop, and the leftmost pane of the Taskbar. PIE Slicer takes but a moment to fully load, and then you can begin working on your polymodel.
What is a Polymodel?:
Warzone graphics are stored in a "PIE" format. Each and every PIE file contains a "polygon model"--polymodel for short--that describes the shape, size, colors, etc. of the Warzone 3D graphic. (Warzone 2D graphics, such as menu icons, are stored in a different format) Polymodels come in six parts:
Points are the core units of your polymodel. In a way, points are the "dots" in a large 3-dimensional "connect-the-dots" puzzle, and they are connected together by polygons. Visually, points correspond to the vertices/corners of your 3D object.
Polygons, also called faces or sides, are a two-dimensional shape like triangles, squares, hexagons, etc; altogether, they compose a wireframe version of your polymodel. Polygons also have a "normal" vector which indicates the side that is visible to the camera. Polygons are generally "one-sided", meaning that they can be seen from one side but are invisible from the other.
NOTE: Some polygons have a "two-sided" property (changeable in the Polygons toolbox) indicating that they can be seen from either side, regardless of their normal vector. For these polygons, PIE Slicer will display a red vector in one direction and a blue vector in the other.
Generally speaking, the normal vectors in your polymodel should point towards the "outside", away from the origin (0,0,0).
Textures are stored in PCX files and "painted" on polygons to give them their tangible look and feel. Although your PIE file can only use one PCX file as its texture, you can have any number of polygons using any portions of that file as their texture. It is also possible to assign "team colors" that vary depending on the player's color and to assign explosion-graphic animation. When using PIE Slicer's Texture Alignment View, a light-blue frame indicates the texture displayed on the current polygon and red frames will display its team-color variations (if any).
Connectors are a special type of point. Although they are managed exactly like points, they can not have any polygons attached to them. Connectors are depicted as a six-armed "star" instead of a circular point in PIE Slicer. Connectors define where your polymodel "connects" to another. For example, all tank chassis have two connectors which indicate where to place its weapon turret(s), and every weapon turret has a connector that defines where a weapon fires its projectile from. Generally speaking, when a weapon is placed on a chassis or structure, it will be placed on the connector. Not every polymodel needs a set of connectors:
Map features, like trees and boulders, do not need connectors.
Structures should generally have one connector representing where a weapon/sensor/etc. can be placed on it.
Tank chassis must have two connectors. The first connector indicates where the tank turret will be located, and the second connector indicates where a VTOL turret will be placed.
When making weapon turret GFX, place a connector on the business end of it. This connector identifies where the weapon's "muzzle flash" GFX will be displayed.
BSP data can be referred to as "binary sorting planes". This was used primarily for the PSX version of Warzone--it has no function in the PC version, and PIE Slicer does not support it.
Submodels, also referred to as levels, split a polymodel into "chunks" that can be used for animation. The Oil Derrick, for example, is split into three submodels, and Warzone rotates each submodel individually to create its pumping motion during game play. All polymodels will have at least one submodel. However, submodel-animation is hard-wired into Warzone. Only a select few PIE files can actually be animated in Warzone 2100 -- refer to "anim.cfg" inside of Warzone.wdg to see which ones they are.
Reference - Menu Commands:
File Menu:
New Model * Erases the current workspace, allowing you to begin a new model from scratch.
Load Model… * Loads a Warzone graphic (PIE file) or PIE Slicer graphic (CAK file) from disk for editing. There are currently two different PIE filters available. The primary filter is quicker, while the alternate filter is slower and more stable. Should a PIE file refuse to load properly, try both filters before seeking technical assistance.
Save Model * Ctrl+Q. Saves the current polymodel to disk as a Warzone PIE file or a PIE Slicer "CAK" file. The main difference between PIE and CAK files is the preservation of precise coordinate data; point coordinates are rounded to the nearest 0.1 PIE Slicer unit when saving into a PIE, but not when saving CAK.
Save Model As… * Similar to the above command; however, this command prompts you for a file-name before it actually saves any data.
------------
(Recent Files) * This is a list of all the Pie files that you have recently saved to disk or loaded from disk, and you may select one to quickly load it for editing. This list may be anywhere from one to nine entries long, and you may specify the maximum size in the Options/Configuration menu.
------------
Exit * Return to Windows.
Edit Menu:
Copy Selection * Ctrl+C. Copies all of your model's selected points and polygons into PIE Slicer's clipboard.
Paste > Points * Inserts the point content of Pie Slicer's clipboard into your model.
Paste > Polygons * Inserts polygons from Pie Slicer's clipboard into your model.
Delete > Points * Ctrl+Delete. Erases all of the selected points which are not used by any polygons.
Delete > Polygons * Shift+Ctrl+Del. Erases all selected polygons in your model. Use with utmost care--this operation cannot be undone!
View Menu:
Front View * F5. Displays your model as it would appear if viewed from behind.
Top View * F6. Displays your model from the top, with "up" representing forward.
Side View * F7. Displays your model from the right-hand side, with "right" representing forward.
3D View * F8. Displays your model from any viewing angle you want. Use the arrow keys to rotate the viewing angle.
Rendered View * Shift+F8. Renders your PIE file the way it will appear in Warzone 2100.
------------
Points > Show All * Displays all points and connectors in the current submodel and makes them available for selection.
Points > Hide Selected * Hides all currently-selected points from the display (connectors cannot be hidden). If you are making a complex model, this function can un-clutter the display and speed up PIE Slicer. However, hidden points cannot be edited unless they are made visible again, either by double-clicking their entry in the Points data box, right-clicking on their entry and selecting the "Show this point" option, or by using the "Show All" menu command, above.
Polygons > Show All * Displays all polygons in the current submodel and makes them available for selection.
Polygons > Hide Selected * Hides all currently-selected polygons, uncluttering the display. However, as with points, hidden polygons must be made visible again before they can be edited. To make a hidden polygon visible again, either double-click it from the Polygons data box, right-click its entry and select "Show this polygon", or use the "Show All" menu command.
Polygons > Cull Face * F9. Hides all polygons on the "other side" of your model, un-cluttering the display and giving you a better impression of your model's shape. This function is also useful for debugging normal vectors and making polygons face in their proper directions.
------------
Editing Grid * F3. Toggles the editing grid on and off.
WZ Grid * F4. Toggles the Warzone scale grid on and off. The distance between solid line and dotted line corresponds to 1/2 of a WZ map square; the distance between two solid lines (or two dotted lines) represents one full map square.
This peculiar setup of the Warzone grid is needed because of the way WZ places structures on a map. For "even-dimensioned" structures (i.e. 2x2 buildings, like the power generator), the solid lines represent intersections between map squares; for "odd-dimensioned" structures (i.e., 1x1 or 3x3 buildings, like tank/VTOL factories and defenses), the dotted lines represent intersections between map squares.
Submodels > Hide Other * Displays the current submodel in your polymodel and hides any/all others. Since most Warzone polymodels will have just one submodel, this command is automatically enabled when you start PIE Slicer. Some animated Warzone PIE files, such as "cybd_run.pie" (animated cyborg legs) display correctly only when viewed one submodel at a time.
Submodels > Show All * Displays all submodels in the polymodel. Because only one submodel can be edited at any time, all "other" submodels will display in a darkened color. Some animated Warzone PIE files such as "blderik.pie" (Oil Derrick structure) display best with this option enabled.
Points Menu:
Add Point > Origin * Ins. Adds a new point to the model (centered at the origin).
Add Point > Offset… * Alt+Ins. Adds a new point to the model, offset from the Current Point / Connector.
Add Point > Center… * Shift+Alt+Ins. Adds a new point to the model, placed at the center of all selected points.
Remove Current Point * Del. Erases the Current Point (the point highlighted by a pink circle) if it is not attached to any polygons.
------------
Add Connector > Origin * Adds a connector point to the model, centered at the origin.
Add Connector > Offset… * Adds a connector point to the model, offset from the Current Point / Connector.
Add Connector > Center… * Adds a connector point to the model, placed at the center of all selected points.
Remove Connector * Del. Erases a connector-point from your model.
------------
Select > Current Point * V. Selects or de-selects whichever point or connector you most recently clicked on. When selected, points will highlight blue and they can be moved, scaled, or rotated.
Select > Current Poly's… * Ctrl+V. Selects / de-selects all points that belong to the Current Polygon in your model, even if they are hidden from view. This function is very useful if you wish to move, scale, or rotate individual polygons.
Select > Selected Poly's… * Shift+Ctrl+V. Selects / de-selects all points that belong to any selected polygons, including those that may be hidden from view.
Select > All Points * Shift+V. Selects / de-selects all points and connectors in your model, except those that may be hidden from view.
------------
Attach Nearby Points * Searches your model to see if any extra points exist at the same coordinates as the Current Point. If so, those points will be merged, un-cluttering your model and making that point easier to click on. This will also attach any polygons that had used the duplicate points.
Polygons Menu:
Create Simple Polygon * Adds a standard triangle, square, etc., to your model, which will be centered about the Current Point and made the Current Polygon.
Create Simple > 2-Sided * Determines whether polygons created with the above function will be 2-sided or one-sided.
Create Simple > Orientation * Determines the orientation of polygons created with the above function. You can orient such polygons along the front, top, or side planes, or orient them to face the current viewing angle (even in the 3D View).
Create Simple > Show Pts * When activated, PIE Slicer will display the model coordinates of the polygons you create with this command.
Create New Polygon * Shift+Ins. Creates a new polygon using the selected points, and makes it the Current Polygon. The Current Polygon is identifiable by its blue/green highlight, a red normal vector, and point index numbers displayed at each vertex.
Draw Polygon From Pts. * Ctrl+Ins. Allows the user to draw a polygon via an interactive, "connect-the-dots" interface. Highly recommended, as this avoids Pie Slicer's inability to properly sort a 5- (or more) sided polygon.
Delete Current Polygon * Shift+Del. Erases the Current Polygon.
------------
Re-Order 4 sided… * Ctrl+R. Re-arranges the point order (shape) of the Current Polygon, but only if it is a quadrilateral. If it has five or more points, you will need to adjust their order using the Point Order mode.
Flip Normal * Ctrl+F. Flips a polygon's normal vector, making it face the other direction.
------------
Select > Current Poly * N. Selects or de-selects the Current Polygon (whichever polygon you most recently right-clicked on) so that its data can be edited or copied.
Select > Current Point's… * Ctrl+N. Selects / de-selects all polygons that use the Current Point, including any polygons hidden from view.
Select > Selected Points'… * Shift+Ctrl+N. Selects / de-selects all polygons that use any selected points, including any polygons hidden from view.
Select > All Polygons * Shift+N. Selects / de-selects all visible polygons in your model.
------------
Export Shape… * Not Yet Implemented.
Import Shape… * Not Yet Implemented.
------------
Vertices Menu:
Move Vertex… * Arbitrarily moves one of the Current Polygon's vertices to any desired point in your model.
Detach Vertex… * Detaches one of the Current Polygon's vertices from all other points (and polygons) in your model, by assigning it to a newly-created point. You can then move that vertex without affecting other polygons.
------------
Add Vertex To Poly * Inserts a point in the Current Polygon, along one of its sides. You can then move the new point to "bend" that edge. If you hold Shift during this operation, you can add two points at once, dividing that polygon's side into thirds rather than halves.
Remove Vertex From Poly * Removes any point from the Current Polygon, simplifying it. You will however lose a little bit of texture information in the process.
------------
Fracture Current Polygon * Creates a center-point for the Current Polygon and "fractures" it into a collection of smaller triangles encircling that point. Refer back to Step Two for an example (i.e., square >> pyramid) of this function.
Slice Current Polygon * Splits the Current Polygon along a line defined between two of its corners. The Current Point will be used as the starting point for this line. Triangles, however, cannot be split.
Join Polygons * Fuses two adjacent polygons together along one common edge. However, some texture data may be lost in this fusion. If two polygons do share a common edge but cannot be fused, you may need to adjust their normal vectors so that both normal vectors face the same (or similar) directions.
Non-Menu Keyboard Shortcuts / Commands:
There are several more keyboard shortcut keys available that are not included in the menus. Here they are:
Viewing Commands
Move View (2D) - Arrow keys. Each 2D view can be shifted individually of the others.
- Click on the Move View toolbar buttons immediately left of the display.
Center View (2D) - End. This will center the graph-paper view about the origin (0,0,0). Very helpful should you get lost somewhere in your model.
- Click on the Center View toolbar button immediately left of the display.
Rotate View (3D) - Arrow keys
- Click on the Rotate View toolbar buttons immediately left of the display
Zoom In/Out - Plus / Minus keys on keyboard.
- Page Up and Page Down will also work.
- Click on the Zoom In/Out toolbar buttons immediately left of the display
Non-Menu Editing Commands
Pick Point - Left-click on any visible point. If several points exist at identical coordinates, you can flip through them by clicking again.
- Left-click a point's entry in the Points data box (even if it is hidden from view)
Pick Connector - Left-click on any connector
- Left-click a connector's entry in the Points data box. Connectors have a "C" designation next to their index number.
Pick Polygon - Right-click in the center of any visible polygon
- Left-click a polygon's entry in the Polygons data box (even if it is hidden)
Flip Polygon - Pick a polygon, then press CTRL+F
Note: Please ensure that NumLock is enabled when using the following functions.
Adjust Move Rate - Numeric Asterisk / Slash. This will automatically increment or decrement the Point Move Rate by one step, affecting how far points are moved in a single press.
Move Points (2D) - Numeric keypad arrows. Right/Left/Up/Down will move the points horizontally or vertically along the graph paper. Plus / Minus keys on the numeric keypad will move points "in" or "out" of the graph paper.
Move Points (3D) - With New Key Orientation enabled, orient the viewing angle (somewhat) orthagonally, and points will move relative to their on-screen direction.
- Without New Key Orientation, keys will function as they do in Top View.
Move Polygons - Ctrl + Numeric keypad arrows. This will move all the selected polygons in your model (without requiring you to select their points first). It follows the same conventions as moving points.
Move Texture Pt - In the Texture Alignment View, Left-click on a vertex and drag it to a new location.
Move Texture Poly - In the Texture Alignment View, Shift + Left-click on any vertex and drag it to a new location.
Scroll Texture - In the Texture Alignment View, Right-click and drag the mouse to a new location.
Auto Tex Map - In the Texture Alignment Toolbox, click on the Automap This Polygon button. to skin the polygon based on the current camera angle.
Reset Tex Align - In the Texture Alignment Toolbox (manual mode), click on the Reset Texture Alignment button.
Other Selection Commands
Quick Select All Points - C. Similar to Shift+V, this will select or de-select all visible points and connectors.
Quick Select All Polys - B. Similar to Shift+N, this will select or de-select all visible polygons.
Select Points (area) - Left-click and drag along the grid. All visible points contained within that area will become selected.
Select Polys (area) - Right-click and drag along the grid. All visible polygons centered within that area will become selected.
Development History:
This section contains the development history for Pie Slicer DX. Previous development information is available in the readme file for previous Pie Slicer versions.
Version 1.06.074 DX, 7-2-2002
New
Revised Worked almost exclusively on Direct3D issues. Removed a piece of old code that was causing edge-blending to malfunction on some 3D cards (namely, mine).
Bug Alert Don't rest yet, there are still many bugs left out there!
Version 1.06.072 DX, 6-27-2002
New Team-colors may now be iterated manually in addition to automatic cycling. There is an occasional bug in the team-colors algorithm (see tailfin of WZ tank transport for an example) but most PIE files will animate properly.
Filtered textures may be toggled on and off as well.
The WZ grid now shows in the wireframe 3D view.
Revised Fixed a few more Direct3D issues such as the color black and clipping (some large PIE models were being clipped around the edges).
Cleaned up a few textbox error messages, and took a stab in the dark for fixing the Imagelist error.
Bug Alert Pie Slicer's framerate when rendering seems to have dropped. Not a big issue, it just doesn't feel as smooth anymore.
Version 1.06.071 DX, 6-25-2002
New
Revised Fixed a Direct3D error which was preventing Pie Slicer DX from properly texturing a model on most systems (including mine).
Bug Alert "Imagelist must be initialized..." error message occuring mostly on XP systems.
Version 1.06.070 DX, 6-24-2002
New Time to go Public Beta and show the community the full power of Pie Slicer!
There are two grid options now -- one can be scaled to any size interval, the other one shows things in WZ scale.
Pie Slicer's movement rate can now be configured for binary adjustments.
Revised Working on some more speed improvements.
Fixed an internal error happening on the Options/Configuration screen.
Bug Alert Still puzzling over some alpha-blending and texture filtering issues. Until a resolution is found, Pie Slicer textures will not be filtered the way Warzone textures are.
Version 1.06.066 DX, 5-20-2002
New Finished splitting up the Pie Slicer windows, now to organize the menu system....
Revised Fixed the copy/paste functions.
Finally figured out how to set up an orthogonal view for the DX rendering, the wireframe and rendered views match now.
Bug Alert The "Save Changes?" question box appears more often than it should be, I'll fix this later.
Version 1.06.065 DX, 4-23-2002
New Split Pie Slicer's window into several smaller windows, this eliminates a number of old-code hassles but will take awhile to get working properly.
Revised Found and trapped another (but rarer) DirectX error.
Removed a number of old functions to further improve Pie Slicer's operating speed and efficiency.
When viewing the rendered PIE file, you may change the texture page and the rendered view will update accordingly.
Placed the rendering camera at a better location to alleviate z-buffer and zoom issues on my end.
Bug Alert The current vertex still does not display properly on the Textures grid.
Version 1.06.060 DX (initial):
Revised Cleaned up the DirectX routines to implement two-sided polygons, team colors, and the transparency color (green).
Pie Slicer runs much more efficiently now, thanks being to a large number of small revisions in the code.
Added a keywords system to help Pie Slicer locate the correct default texturepage when you type it in. I.e., if you specify "page-6-urban features" for your model, Pie Slicer will automatically load the default texture for page #6, urban version.
Fixed the keymappings, and various other crashes and bugs when editing points and polygons.
PIE File Specifications
This document is provided to give the user a better understanding of Warzone2100 graphics models ("PIE" files) . If PIE Slicer fails to properly load a particular PIE file, this "better understanding" of the PIE format may allow the user to fix the PIE file themselves.
File Header
Because files can be given any extension the user desires, Windows cannot rely on those extensions to determine what type of file you are looking at. Therefore, all important files have a "header" at their beginning that designates what data they really contain. A PIE file is designated by the following two-line header:
PIE 2
TYPE 200
All Warzone2100 PIE files have this header at their beginning.
Texture Definition
The third line in a PIE file describes what texture page the model will use. The data line looks like this:
TEXTURE 0 page-##.pcx 256 256
page-##.pcx * This is the filename of the model's texture page. Although most default PIE files use long filenames like "page-9-player hard buildings bases.pcx", the only detail that Warzone looks for is the "page-##" prefix in the filename. The specified page ## must have been loaded in "VidMem.wrf" (all three) and/or "Frontend.wrf", or Warzone will crash with the message "texture not in resources: page-##". Therefore, the following examples all have the same effect in Warzone:
page-23-fx`s-hard.pcx
page-23-fx`s-soft.pcx
page-23.pcx
The two numbers, "256 256" have no effect. It is hard-wired that WZ2100 textures be of 256x256 size. If you supply a larger texture (i.e., 512x512), WZ2100 will internally shrink the texture into a 256x256 size. The reverse, however, is not true. I.e., If you supply a 128x128 sized texture, it will NOT be scaled up to a 256x256 size; it will merely take up a 128x128 portion of a 256x256 texture page.