|
Author Topic:   .ent file format questions
swisher
Member
posted April 25, 2001 09:41 AM            
I may tinkier with modding. Questions:

1. Is the format of the commands strict in requiring a space between the keyword and the equals sign?
Is
"mesh = blahblah.luv" the same as
"mesh=blahblah.luv"?

2. Is the Addons folder always checked for a texture, entitty, sound, etc. before the normal root Tread Marks folder(s) are?

More questions to follow...

------------------
Swisher
BWL/MG

IP:

Rex R
Member
posted April 25, 2001 12:52 PM            
AFAIK the answer to both is yes. I've had prob.s when I left out a space. read somewhere (on the forum?) the addons folder(if present) was always checked 1st and the any valid .ents would override those in the ent folder thus you can have a global tank controler(sabot) in the addons and it will take precidence over the original. HTH

IP:

Vlad
Member
posted April 25, 2001 01:08 PM            
of course, most of the changes don't apply in a multiplayer game, so if you've altered a stock TM weapon (like the nuke), it will still act how the server tells it to.

The only thing that does get changed are things like meshes, textures, smoke trails, etc. For example, when I was first messing around with modding, I changed the nuke into a sheep nuke. Same smoke trail, it followed the ground, moved slower, looked like a sheep, and constantly "baaa"ed.

Imagine my surprise when I was playing online and heard a "baaa" on Scarab! I saw a sheep nuke, and after thinking that it was a really weird coincidence that the server made a sheep nuke within 24 hours from when I did, I realized that the server doesn't check for models matching up, only ent files.

IP:

Rex R
Member
posted April 25, 2001 01:55 PM            
lol! I would not have wanted to be around when that sheep broke wind

IP:

JVortex
Member
posted April 25, 2001 02:56 PM            
heh, anyhow tho, ya the addon folder is the master folder and gets checked first. thts actually how i change tank skins and alter stock weapons too. just place the new skin or modified ent into its propper addon folder counterpart and it over rides whatever is in the normal TM folders.

as far as the spacing goes... it says its supposed to matter and u should probably go by that. but while making mods i here and there miss the spacebar or something and have either no or only 1 space around the = sign and i have yet to have that make something not work. i still fix it when i see it however.

IP:

Dreamer
Member
posted April 25, 2001 04:03 PM         
The problem wth servers not synching models and sounds might enable some sort of cheating, IMO - What if ppl changed tank models so they're far easier to see? What if ppl changed weapon models the same way?
I just hope the collision detection is completely done on the server, else we might have some serious cheating potential there, as well. Not that cheating would pay in any way in this game, but who knows.

IP:

Vlad
Member
posted April 25, 2001 04:06 PM            
The collision detection is 100% on the server. One of the variables in the ent files (can't remember which one) determines which values are sent to the server and which aren't. The stuff like bullets, missles, and tanks are handled by the server, but things like smoke, sound, etc aren't. Basically, anything that's has no direct impact on the game is handled on the client side.

IP:

swisher
Member
posted April 26, 2001 08:48 PM            
Another question:

I noticed that the "class = " parameter in file "C:\Program Files\Tread Marks 1.5\entities\Weapon\DrillBit.ent" is set as such: "class = mesh".

Every other weapon .ent file in the "C:\Program Files\Tread Marks 1.5\entities\Weapon" folder has "class = weapon".

Can someone explain this to me?

I searched all .ent files in the "C:\Program Files\Tread Marks 1.5" (including all sub-dirs) and came up with:

----------------------------------------
Find 'drillbit' in 'C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Course\DrillBitCheckPoint.ent' :
C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Course\DrillBitCheckPoint.ent(11): Type = DrillBitcheckpoint
C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Course\DrillBitCheckPoint.ent(21): AlwaysSpawnEntityType = DrillBit
Found 'drillbit' 2 time(s).
----------------------------------------
Find 'drillbit' in 'C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Projectile\DrillBit.ent' :
C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Projectile\DrillBit.ent(2): type = DrillBit
Found 'drillbit' 1 time(s).
----------------------------------------
Find 'drillbit' in 'C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Tutorial\Drill tut.ent' :
C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Tutorial\Drill tut.ent(18): SecEnt = mesh/DrillBit
Found 'drillbit' 1 time(s).
----------------------------------------
Find 'drillbit' in 'C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Weapon\Drill.ent' :
C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Weapon\Drill.ent(12): projectile = DrillBit
C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Weapon\Drill.ent(43): SecEnt = mesh/DrillBit
Found 'drillbit' 2 time(s).
----------------------------------------
Find 'drillbit' in 'C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Weapon\DrillBit.ent' :
C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Weapon\DrillBit.ent(2): type = DrillBit
Found 'drillbit' 1 time(s).
Search complete, found 'drillbit' 7 time(s).


------------------
Swisher
BWL/MG

[This message has been edited by swisher (edited April 26, 2001).]

IP:

swisher
Member
posted April 26, 2001 11:56 PM            
Another question, too:

In file "C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Weapon\Drill.ent", there's a refernece to "SecEnt = mesh/DrillBit" (on line 43). What is this in reference to? Perhaps related to my prior question?

------------------
Swisher
BWL/MG

IP:

Vlad
Member
posted April 27, 2001 12:10 AM            
Well, I don't have the 1.5 full, but looking in entities/weapon in 1.0 full, I see Drill.ent and Drillbit.ent.

Drill.ent has a class = weapon, and drillbit.ent has class = mesh. I'm guessing that drillbit.ent is exactly that, the bit (the spinning part) of the ramdrill, while the mesh referred to in drill.ent is just the base of the weapon.

Which does answer your second question. SecEnt is probably short for Secondary Entity, which would make sense for the base of the drill to reference the bit.

IP:

JVortex
Member
posted April 27, 2001 12:35 AM            
well this is a rather difficult question to answer. but ill try

pretty much the mesh ent type summons in an additional model. the secent parameter is what links into that secondary mesh. the ramdrill could have just as easily been made using the normal secmesh parameter instead tho. i think that LDA was playing with a new idea with the ramdrill and for some reason never got around to using it on other weapons.

something similar is the secent parameter which is mainly used for creating the laser guidance beams on weapons like the mass driver.

by using the secmesh, secent and a well tweaked projectile a lot of different effects can be created since each one can rotate differently...

dont know if that helps to explain anything to ya tho.

IP:

swisher
Member
posted April 27, 2001 09:01 AM            
Question #1.

Let me re-phrase the question:

Is file "C:\Program Files\Tread Marks 1.5\entities\Weapon\DrillBit.ent" in the wrong directory? Since its "class = mesh", shouldn't it be in the "C:\Program Files\Tread Marks 1.5\objects\mesh" directory?

Please reference question #1 when replying.

------------------
Swisher
BWL/MG

IP:

swisher
Member
posted April 27, 2001 09:16 AM            
Question 2:

In file "C:\PROGRAM FILES\TREAD MARKS 1.5\entities\Weapon\Drill.ent", there's a refernece to "SecEnt = mesh/DrillBit" (on line 43).

Question 2A: Where is this file? Since it has a directory of mesh implied, where is it? I cannot find a file named drillbit.ent that is inside of a sub-directory mesh.

Question 2B: If it read "SecEnt = DrillBit", would then the drillbit.ent file referenced in question 1's post be in the right place?

Question 2C: Does the "SecEnt = mesh/DrillBit" line have a typo. Should it read: "SecEnt = DrillBit"?

Question 2D: Is the "class = mesh" command in file "C:\Program Files\Tread Marks 1.5\entities\Weapon\DrillBit.ent" wrong -- Should it read "class = weapon"?

------------------
Swisher
BWL/MG

IP:

JVortex
Member
posted April 27, 2001 01:27 PM            
as near as i can tell nothing there is a typo. the drillbit and its mesh ent type are all correct. i looked into this one when i was making the plasma shovel, it and the ramdrill are designed almost the same way. mes type ent's should be within the weapon folder.

so far mesh ent's seem to be an exception to most rules. i imagine that LDA has some cool plans for these in the future. as of right now they are just sort of a confusing addition.

as to it referencing a mesh directory i dont really know since TM doesnt really care about directory structure when dealing with ent's.

sorry, i just kinda learned how to impliment it and never completely understood it

IP:

JL
Member
posted April 27, 2001 03:23 PM            
TM looks in all the folders in the entities directory for ent files but it doesn't associate the class parameter with the directorys of the same name. It looks for any file with the ent extension then searches the file for the class and type. Ents are really put in folders so it easy to find them not because it's needed. You can make your own directories within the entities folder with your own name to organize your mods. I make folders for mod packs to remove and put in easily. You should see the chaos in my AddOns\Entities folder.

IP:

swisher
Member
posted April 27, 2001 05:35 PM            
Thanks.

A few more questions:

Question 3. How are the type= parms used? Do they tie a bunch of files together. If i say type=240mm in my weapon .ent, do I need to say type=240mm in all of the other .ent files I reference?

Question 4. How are the class= parms used?

You guys may be wondering why I'm getting so detailed. I'm in the process of writing an integrety checker for addons. It'll assist you guys in assuring that all of the files referenced in a new mod are present and are where they belong. It'll have to enforece some general rules as to where I expect to find .ent files. I was surprised to hear that they can be anywhere in the entities folder. This program, ENTegrety, will be robust. You'll be able to supply the keywords for each class of .ent files (defaults provided, of course), and it will do a full check on every line of every .ent file. It's coming along nicely.

Thanks for all of the help.

Please recommend what you'd like to see. What's the most frustrating part of creating a bug-free mod? ENTegrety will most likely provide an interface to WinZip to be able to bundle your mods, too -- I'll launch WinZip internally, passing it (as command line parameters) all of the files required to bundle the mod.


------------------
Swisher
BWL/MG

[This message has been edited by swisher (edited April 27, 2001).]

IP:

JVortex
Member
posted April 27, 2001 07:34 PM            
sounds cool to me!

class is pretty much just what kind of an entity it is. be it weapon, projectile, smoke and so on.

type is esentially the name of the entity file

for example if you have a new weapon called a pussbucket you could place the weapon ent file in the smoke folder and the pussbucket projectile file in the explo folder and TM wont care, ittl still find them.

TM also doesnt care what the file itself is named. your weapon file "pussbucket.ent" could be named simply "ZED.ent" and TM wont care. all TM looks for is the Class to determine what the entities purpose is and it reads Type to see what the name of the file is. so as long as your type in the weapon ent was set to Type = PussBucket all would be good.

another way to think of it is that the entities are only in different folders to make it easier for us humans to figure things out. same with the filenames. filenames dont make any difference as far as TM thinks, it only cares about class and type.

and as far as features go a spell checker and sprite referencer would be king.

IP:

swisher
Member
posted April 27, 2001 09:42 PM            
Okay. Are there any tutorials on how to mod? I know about the readme.txt files, but is there a more structured file. EEK.doc I have.

JV: What does "sprite referencer would be king" mean? Remember, this tool will simply be a compiler (for lack of a better term); it will not help you mod -- it will simply point out mistakes in your mods. Yes -- a spell checker is part of it. Basically, if you reference a keyword that is not a known .ent keyword (by class), then it will be flagged as an erorr. I will not rewrite any files, just read them. I'll probably have to copy files into a temporary folder for the zip process, but that's about it.

------------------
Swisher
BWL/MG

IP:

JVortex
Member
posted April 28, 2001 12:58 AM            
oh, i guess i wasnt too clear on that. i just meant something that would check to make sure that the sprite/ texture calls were actually pointing to the right place. ive fixed a few mods made by others (like the death beam) where it was making sprite calls to the texture folder. so the projectile sprites just wernt showing up.

and at some point i think im gonna try to make a tutorial on how to make mods for both weapons and tanks. i already sort of have one for making the models themselves. we'll see.

btw, anybody know who made the death beam?

IP: