HOW TO: Phasers
Posted: Fri Apr 25, 2008 11:15 pm
Credit for this post to DCER
How to make the phasers work.
1. First you need to create a ship and save it as flt. Or have one at hand. Then convert it to hot. Or have a hot file already at hand.
2. Open up the hot with WordPad, you'll see something like this:
Code:
HOT file format v1.00 by Erick Jap (last updated on April 23, 1997)
Input File = btc.FLT
db
Format revision level = 1570
Database revision level = 0
created on Tue Jun 06 22:51:00 2006
....
3. Now you will need to make a new object which will be named slotn, where n is a number between 1 and 255. This object will be the hardpoint from which the ship will fire phasers.
Objects in the hot look like this:
Code:
====
ObjectBead2
Name o1_8
Type Object
ID 2
ZZZZ
====
Now let's make a new one. Add it anywhere in the file, just make sure you have the entries properly separated by using ====
Here's our new object:
Code:
====
ObjectBead2000
Name slot1
Type Object
ID 2000
ZZZZ
====
Notice I've put in the name slot1. And I've picked a large number 2000 following ObjectBead. This is so it will be unique in the file and there will be no collisions. You can't have two ObjectBead2. I've changed the ID as well. Not sure if it's needed but let's keep it this way.
4. Now we need to pick a PolygonBead which will hold this new Object.
Polygons look like this:
Code:
====
PolygonBead23
Name p31_6
Type Polygon
VertexList 3 57 58 59
Color 255 255 255 255
ObjectID 2
TextureNo 0 0
ZZZZ
====
In this example I'll be using the above one.
5. Find the BeadList which hold the Polygon and replace it with your new ObjectBead:
Here it is:
Code:
====
BeadList14
Bead PolygonBead24
Child 0
Bead PolygonBead23
Child 0
Bead PolygonBead6
Child 0
ZZZZ
====
Result:
Code:
====
BeadList14
Bead PolygonBead24
Child 0
Bead ObjectBead2000
Child 0
Bead PolygonBead6
Child 0
ZZZZ
====
6. Now let's make a new BeadList which will hold the PolygonBead we took out and set it as a child under the ObjectBead:
Code:
====
BeadList9000
Bead PolygonBead23
Child 0
ZZZZ
====
I chose to name it BeadList9000 with the large number so you'll have no collisions in the file.
Now we set it as child to ObjectBead2000:
Code:
====
BeadList14
Bead PolygonBead24
Child 0
Bead ObjectBead2000
Child BeadList9000
Bead PolygonBead6
Child 0
ZZZZ
====
7. Ok the model is now ready. Convert it to hob, and add it to stbof.res. You have to add it as it's explained in Dafedz guide. Set the textures and everything.
8. Now we have to edit trek.exe:
You will need to replace an existing prefix with the one from the new ship. Do a search for a prefix, for instance CL2, and you'll get to this list. Pick a prefix to change. Change the data there.
Red - the prefix. Three letters (upper case!), followed by 00.
Blue - the number of hardpoints you'll use, in our case 1
Green - the scale of the ship as float. You don't need to change this.
Yellow - the hardpoints. There are 16 bytes of space. One byte for each hardpoint. Put in the hardpoints from left to right and set unused bytes to 00. In our case I've put in 01 for the firts byte. Because the slot is named slot1. The number 1 comes from the name of the slot.
Set all other bytes to 00. We don't yet know what they are for and it will work this way.
This should do it. Enjoy the phasers.
How to make the phasers work.
1. First you need to create a ship and save it as flt. Or have one at hand. Then convert it to hot. Or have a hot file already at hand.
2. Open up the hot with WordPad, you'll see something like this:
Code:
HOT file format v1.00 by Erick Jap (last updated on April 23, 1997)
Input File = btc.FLT
db
Format revision level = 1570
Database revision level = 0
created on Tue Jun 06 22:51:00 2006
....
3. Now you will need to make a new object which will be named slotn, where n is a number between 1 and 255. This object will be the hardpoint from which the ship will fire phasers.
Objects in the hot look like this:
Code:
====
ObjectBead2
Name o1_8
Type Object
ID 2
ZZZZ
====
Now let's make a new one. Add it anywhere in the file, just make sure you have the entries properly separated by using ====
Here's our new object:
Code:
====
ObjectBead2000
Name slot1
Type Object
ID 2000
ZZZZ
====
Notice I've put in the name slot1. And I've picked a large number 2000 following ObjectBead. This is so it will be unique in the file and there will be no collisions. You can't have two ObjectBead2. I've changed the ID as well. Not sure if it's needed but let's keep it this way.
4. Now we need to pick a PolygonBead which will hold this new Object.
Polygons look like this:
Code:
====
PolygonBead23
Name p31_6
Type Polygon
VertexList 3 57 58 59
Color 255 255 255 255
ObjectID 2
TextureNo 0 0
ZZZZ
====
In this example I'll be using the above one.
5. Find the BeadList which hold the Polygon and replace it with your new ObjectBead:
Here it is:
Code:
====
BeadList14
Bead PolygonBead24
Child 0
Bead PolygonBead23
Child 0
Bead PolygonBead6
Child 0
ZZZZ
====
Result:
Code:
====
BeadList14
Bead PolygonBead24
Child 0
Bead ObjectBead2000
Child 0
Bead PolygonBead6
Child 0
ZZZZ
====
6. Now let's make a new BeadList which will hold the PolygonBead we took out and set it as a child under the ObjectBead:
Code:
====
BeadList9000
Bead PolygonBead23
Child 0
ZZZZ
====
I chose to name it BeadList9000 with the large number so you'll have no collisions in the file.
Now we set it as child to ObjectBead2000:
Code:
====
BeadList14
Bead PolygonBead24
Child 0
Bead ObjectBead2000
Child BeadList9000
Bead PolygonBead6
Child 0
ZZZZ
====
7. Ok the model is now ready. Convert it to hob, and add it to stbof.res. You have to add it as it's explained in Dafedz guide. Set the textures and everything.
8. Now we have to edit trek.exe:
You will need to replace an existing prefix with the one from the new ship. Do a search for a prefix, for instance CL2, and you'll get to this list. Pick a prefix to change. Change the data there.
Red - the prefix. Three letters (upper case!), followed by 00.
Blue - the number of hardpoints you'll use, in our case 1
Green - the scale of the ship as float. You don't need to change this.
Yellow - the hardpoints. There are 16 bytes of space. One byte for each hardpoint. Put in the hardpoints from left to right and set unused bytes to 00. In our case I've put in 01 for the firts byte. Because the slot is named slot1. The number 1 comes from the name of the slot.
Set all other bytes to 00. We don't yet know what they are for and it will work this way.
This should do it. Enjoy the phasers.