Nova Data Format

If you were to write a program that you wanted to edit Nova plugins, where could you go to learn how to format the data properly so Nova could read it?

(edit)grammar(/edit)
------------------
"Was it love, or was it the idea of being in love?"-Pink Floyd
Russell for President 2020!

(This message has been edited by Russell Quintero (edited 12-07-2002).)

Quote

Originally posted by Russell Quintero:
**If you were to do write a program that you wanted to edit Nova plugins, where could you go to learn how to format the data properly so Nova could read it?
**

Looking through the code/documentation for (url="http://"http://www.spriteworld.org")SpriteWorld(/url) will help since Nova uses the RLE sprite compression from it (among other things).

------------------
-- Jeff

I was actually a little more interested in the resources such as ship, weap, etc. I don't want to even LOOK at graphics until I have a better handle on what I'm doing.

------------------
"Was it love, or was it the idea of being in love?"-Pink Floyd
Russell for President 2020!

Quote

Originally posted by Russell Quintero:
**If you were to write a program that you wanted to edit Nova plugins, where could you go to learn how to format the data properly so Nova could read it?

(edit)grammar(/edit)**

I would take a look at the apple developer connection pages and see if they still have anything about resedit.

------------------

Creator and file type codes like Növa and... well, I forget them, but programs like ResEdit or my favorite, Setitstype, can tell you file type/creator by dragging a file into them(opening it, etc) and.. yeah.

The resource formats, if that's what you're asking, are found in the Nova ResEdit templates or NovaTools (I dunno if the former exists) but, like: shďp, gövt, spöb, s˙st, jünk, etc.

Quote

Originally posted by Lequis MX:
The resource formats, if that's what you're asking, are found in the Nova ResEdit templates or NovaTools (I dunno if the former exists) but, like: shďp, gövt, spöb, s˙st, jünk, etc.

Okay, we are getting closer to what I want here, but that isn't saying much. Luckily I have come up with a way to phrase the question much better. Look at these two lines:

Quote

**
0000620000880081001900000005000A001900010000
0000600000880081001900000005000A001900010000
**

Those are govt resources, and the only difference is that one allows the warships to take bribes and the other doesn't. The change was made in NovaTools. What I want to know is the layout of the data that Nova reads. Clearly that 6th bit there shows whether or not that box is checked but there has to be a better way to know this than to go to NovaTools and check and uncheck every box, change every value, etc to see the effects it has on the Hex. So is there a place one can go to look this up?

------------------
"Was it love, or was it the idea of being in love?"-Pink Floyd
Russell for President 2020!

Quote

Originally posted by Russell Quintero:
**Those are govt resources, and the only difference is that one allows the warships to take bribes and the other doesn't. The change was made in NovaTools. What I want to know is the layout of the data that Nova reads. Clearly that 6th bit there shows whether or not that box is checked but there has to be a better way to know this than to go to NovaTools and check and uncheck every box, change every value, etc to see the effects it has on the Hex. So is there a place one can go to look this up?
**

Like Lequis MX said, check out the NovaTools ResEdit templates ('tmpl') for each of the data types you're interested in. They'll tell you what types each structure consists of.

------------------
-- Jeff

Quote

Originally posted by Russell Quintero:
Those are govt resources, and the only difference is that one allows the warships to take bribes and the other doesn't. The change was made in NovaTools. What I want to know is the layout of the data that Nova reads. Clearly that 6th bit there shows whether or not that box is checked but there has to be a better way to know this than to go to NovaTools and check and uncheck every box, change every value, etc to see the effects it has on the Hex. So is there a place one can go to look this up?

As I said in my email, the TMPL resources are a guide to how to divide the resources out into fields. If you aren't familiar with the data types used by templates, I can give you some details about how they work - I assume it's officially documented somewhere, but for MissionComputer I simply reversed-engineered the necessary data types one by one.

------------------
David Arthur @ (url="http://"http://davidarthur.evula.net/")davidarthur.evula.net(/url)
(url="http://"http://davidarthur.evula.net/showpic.php?image=beta/mc2progress.gif&width;=480&height;=282&title;=MissionComputer+2.0+Progress+Update")MissionComputer 2.0 Progress Update(/url), 2 December 2002

Quote

Originally posted by Russell Quintero:
**If you were to write a program that you wanted to edit Nova plugins, where could you go to learn how to format the data properly so Nova could read it?

**

It all depends on what language you are writing in. In C for example, it is quite easy to convert the ResEdit TMPL resources for each resource type into structs. You can then read in a Handle with GetResource and typecast to the struct. This would allow you to edit the individual fields. The example you gave has to do with flags, which make things slightly more complicated. I would suggest starting with something like the spďn resource, which only has 6 fields. In this case all 6 are DWRDs, which are shorts in C.

Jeffrey - Arios SoftWare

------------------
(url="http://"http://www.ariossoftware.com/upcoming")EVONE 1.0.0 - the plugin editor for EV/EVO/EVN(/url)

If you want to know specifically what each of those hex commands does (ie. govt flag field) get your hands on the Nova bible. It tells you what each of the flags do, and you can get your program to change only the digit that the flag refers to. Different numbers in the same digit of a flag add up, so a flag of $4020 and a flag of $5230 would add up to a flag of $9250. digits are 1,2,3,4,5,6,7,8,9,0,A (11),B (12),C (13),D (14),E (15),F (16). Just get the program to add the flags in hexidecimal.

------------------
"This organization will not submit to failure..."
"AAAAHHHHH, KAMIKAZE CHIPMUNKS!!!!!!!!!!!!"
- Gemini
Come see my site for the (url="http://"http://www.evula.org/tnjo/index.html")Star Wars: The New Jedi Order TC!(/url)

Quote

Originally posted by Gemini14:
**If you want to know specifically what each of those hex commands does (ie. govt flag field) get your hands on the Nova bible. It tells you what each of the flags do, and you can get your program to change only the digit that the flag refers to. Different numbers in the same digit of a flag add up, so a flag of $4020 and a flag of $5230 would add up to a flag of $9250. digits are 1,2,3,4,5,6,7,8,9,0,A (11),B (12),C (13),D (14),E (15),F (16). Just get the program to add the flags in hexidecimal.

**

Close, but incorrect:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (15)
There's no '0' after 9. It's A (10). 0 means blank, and comes before 1, as a placeholder.

A.

------------------
(url="http://"http://prophet.damnsw.net/herofall.html")Hero's Fall.(/url)
I once ate a goldfish. I like men.

Just a hunch, but this would be better on the EV Developer's Corner.

-J

------------------
Being a Mac user is like being a Navy Seal: a small, elite group of people with access to the most sophisticated technology in the world, who everyone calls on to get the really tough jobs done quickly and efficiently.
------------------
Please use the (url="http://"http://www.ambrosiasw.com/cgi-bin/ubb/search.cgi?action=intro&default;=26")Search Feature(/url) before posting
(url="http://"http://www.ambrosiasw.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=30&SUBMIT;=Go")EV Nova FAQ(/url) | (url="http://"http://www.ambrosiasw.com/webboard/Forum26/HTML/008628.html")Thread Beginnings(/url) | (url="http://"http://www.evula.com/survival_guide/")EV Survival Guide(/url) | (url="http://"http://home.attbi.com/~slagblah/novafaq.html")Gameplay FAQ(/url) | (url="http://"http://home.attbi.com/~slagblah/evn_fixes.html")Quick Fixes(/url) | (url="http://"http://home.attbi.com/~slagblah/pilotlog.html")How to Make a Pilot Log(/url)

Pikeman makes it so

------------------
"How dare you take liberties with my virtual tongue, sir." - painless
Pikepics, Floozy's Pics •• > (url="http://"http://pikeman.sourcecod.com") pikeman.sourcecod.com (/url) <•• pike's #ev3 quotes, PP™
(url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=64&SUBMIT;=Go")Just Tech(/url): Whisky shot of the truly l33t.

Quote

Originally posted by Russell Quintero:
**If you were to write a program that you wanted to edit Nova plugins, where could you go to learn how to format the data properly so Nova could read it?

(edit)grammar(/edit)**

Depends on what language you want to code in. I made some applescripts that could read and mangle EVO resources. I know there's some RealBasic modules out there that can read EVO data formats as well. I rolled my own, but I think the name of what I'm thinking of is EVOLib. I'm not sure.

In general, you need to know how to go from ascii to hex and from hex to ascii. Then, for each resource, you need to know what are shorts, longs, etc. I'm not a programmer and just figured it out by brute force.

-STH

------------------
"Create enigmas, not explanations." -Robert Smithson

If you open up the TMPL itself, you can see what kind of field each is.

------------------
Moderator- (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=9&SUBMIT;=Go&mrxak;=cool")EV Developer's Corner(/url) | (url="http://"http://forums.evula.com/viewforum.php?f=18")mrxak's Assorted Webspace Forum(/url)
(url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003091.html")Need Plug Testers?(/url) | (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003196.html")Need Developers?(/url) | (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/search.cgi?action=intro")Save Time, Search First(/url) | (url="http://"http://www.evula.com/survival_guide/")EV/EVO/EVN Survival Guide(/url) | (url="http://"http://www.AmbrosiaSW.com/games/evn/addons.html")Nova Addons(/url) | (url="http://"http://w00tware.ev-nova.net/")Got NovaTools?(/url)
(url="http://"http://www.evula.org/mrxak/")mrxak's Assorted Webspace(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/dl-redirect.pl/TheChallenge102.sea.bin?path=evn/plugins&file;=TheChallenge102.sea.bin")The Challenge v1.0.2(/url) | (url="http://"http://www.evula.org/mrxak/Haikus/haikuarchive.html")The Haiku Archive(/url) | (url="http://"http://www.evula.org/mrxak/EV/N/mbspt/mbspt.html")mrxak's Big Secret Plug-in/Tutorial(/url) | (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/postdisplay.cgi?forum=Forum10&topic;=007599-2&whichpost;=mrxak11-06-200203:22PM")mrxak?(/url)
Fear those who stalk the stages of life when the lights go out, for they are the ones who control your destiny. -mrxak

Quote

Originally posted by mrxak:
**If you open up the TMPL itself, you can see what kind of field each is.

**

As others have said, it all depends on the language used, but you will then have to convert the field types in ResEdit into actual variable types in the language. For C, the conversions can be found in the ResEdit reference at:
(url="http://"http://developer.apple.com/techpubs/mac/resedit/resedit-2.html")http://developer.app.../resedit-2.html(/url)

------------------
(url="http://"http://www.ariossoftware.com/upcoming")EVONE 1.0.0 - the plugin editor for EV/EVO/EVN(/url)