Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsCog Forum → The first release of the JK DataMaster.
The first release of the JK DataMaster.
2002-02-26, 8:11 AM #1
For the past three months, I have been working on a new Cog reference which I have decided to call the DataMaster.

As it is, the DataMaster covers only Jedi Knight's Cog information. Here's a list of the features:

  • Symbols. General symbols information as well as a description of each symbol type and entension.
  • Keywords. A description of the keywords used in Cog.
  • Messages. A description of each message that includes the sender, source, sendertype, sourcetype, and parameters if there are any.
  • Operators. A listing of the operators used in Cog and also a Precedence/Associativiy chart.
  • Cog Verbs. The cog verbs are divided into 29 sections. Each section contains a listing of 5-30 verbs that fit in the category. A detailed comment on the verb explains its syntax. There is also a notes document in most sections for more general information.

    The DataMaster documents 451 verbs. 37 more than the JKSpecs.
  • Flags. The Code Alliance kindly let me use their flag information as a base. Most of the flag sections have been slightly updated and several new categories have been added.


The reference can be downloaded from the files section of Saber's Domain, my website.

The DataMaster is not complete. I reviewed it several times, but I know there are still mistakes left in there. If you find one, send an email to [url="mailto:jkdatamaster@yahoo.com"]mailto:jkdatamaster@yahoo.com[/url]jkdatamaster@yahoo.com</A>.

I would like some of you Cog experts to review the DataMaster so that most of the bugs can be removed. There's a space in the credits for those who help. [http://forums.massassi.net/html/smile.gif]

So what does the community think?

------------------
Each cog better than the next
Author of the JK DataMaster, Parsec, Scribe, and the EditPlus Cog Files.
2002-02-26, 10:34 AM #2
Wow! This is great. I haven't looked at it yet, but it sounds great [http://forums.massassi.net/html/smile.gif]

I've been planning to do something like this for months, but I was always too lazy. [http://forums.massassi.net/html/redface.gif]

Seriously, now, I have alot of experience with MotS functions that were not included or explained in JKSpecs, and I have discovered many cog-related engine bugs that can cause serious headaches. I'd like to contribute...
Dreams of a dreamer from afar to a fardreamer.
2002-02-26, 10:42 AM #3
Okay, I intend to read the document in it's entirety and jot down notes as to possible improvements in phrasing, definitions, use of correct programming terms, etc.

This is so cool [http://forums.massassi.net/html/smile.gif]

[This message has been edited by Fardreamer (edited February 26, 2002).]
Dreams of a dreamer from afar to a fardreamer.
2002-02-26, 10:52 AM #4
really sweet me likes good job
roses are red, violets are blue, I am schizophrenic, and I am too!
2002-02-26, 1:21 PM #5
Downloading now. I'll be back later with feedback.

------------------
Have Lightsaber Will Travel JK Editing tips, troubleshooting information, resources and more.
www.swgalaxies.net For all your Star Wars Galaxies needs
The Massassi A SW Galaxies Player Association
Have Lightsaber Will Travel JK Editing tips, troubleshooting information, resources and more.
www.swgalaxies.net For all your Star Wars Galaxies needs
The Massassi A SW Galaxies Player Association
2002-02-26, 1:28 PM #6
Glad you guys like it. [http://forums.massassi.net/html/smile.gif] I appreciate the feedback.

Fardreamer: Thanks. [http://forums.massassi.net/html/wink.gif] The DataMaster really needs to be thoroughly reviewed like that.

------------------
Author of the Jedi Knight DataMaster.
Visit Saber's Domain.
Author of the JK DataMaster, Parsec, Scribe, and the EditPlus Cog Files.
2002-02-26, 2:40 PM #7
Very impressive!

Here's another 'thing' flag that isn't listed.

0x80000 - this is set when an item has been taken and is waiting to respawn.

Raynar

------------------
... the Jedi I admire the most, met up with Darth Maul, now he's toast ...
Rbots - a project to develop a working Bot for Jedi Knight... download the latest development version here
Pagewizard_YKS: "making your own lightsaber doesn't make you a nerd... "
Raynar - the man with a 10.75" ePenis
2002-02-26, 2:42 PM #8
you might want to check your NextThingInSector() verb might be wrong its either yours or jkspecs
roses are red, violets are blue, I am schizophrenic, and I am too!
2002-02-27, 2:56 AM #9
Very good work SaberMaster.

A few suggestions on interface and references.

Interface:

In the cog verb reference, each of the definitions pop up as a new window, and I think that's okay, but whenever getting another to open, the window doesn't come visible as the existing window is lost focus behind. I suggest you put 'onLoad="focus()"' in the body tag, and it should look better.

Ref:

In the AiSetClass it says the AI must be declared in the symbols, but same goes to SetThingClassCog, that AI and COG cannot be just declared in the symbols and used.

cog myCog=my.cog local

SetThingClassCog(player, myCog)

doesn't work. Although assigned in a jkl file(as done through JED) will work.

ParseArg doesn't say that it won't synch in multiplayer.

Impressive work! Lots of new discovery for me [http://forums.massassi.net/html/biggrin.gif] Keep up.

------------------
http://millennium.massassi.net - Millennium
Sniper Arena! - Enhancement Pack!
2002-02-27, 5:02 AM #10
Raynar: Thanks. I'll add that flag for the next version. [http://forums.massassi.net/html/smile.gif]

Han: The JKSpecs are wrong there. NextThingInSector() works with the thing's number and uses the sector that it's in.

Hideki: AI files can be loaded directly. Look at actor_st.cog. You can't do it with cogs, but you can with AI files.

>ParseArg doesn't say that it won't synch in multiplayer.

Yes, there is very little multiplayer sync information for the verbs. I might test all the verbs in MP and update the DataMaster, but I'd have to get a convenient network set up for that.

>I suggest you put 'onLoad="focus()"' in the body tag, and it should look better.

Ok, I'll add that. Thanks for the feedback, Hideki. [http://forums.massassi.net/html/wink.gif]

------------------
Author of the Jedi Knight DataMaster.
Visit Saber's Domain.
Author of the JK DataMaster, Parsec, Scribe, and the EditPlus Cog Files.
2002-02-27, 5:12 AM #11
I'm still in the process of adding many corrections, I'll notify you of my progress.

And about the popup, I'd suggest you make the HTML appear in a frame at the bottom of the page, like a thread appears at the bottom of the 'add reply' page.
Dreams of a dreamer from afar to a fardreamer.
2002-02-27, 9:46 AM #12
that would be nice but not everyone has a frame capable browser, the older versions of netscape slaughter frames and that could make some probs so i think the popup window is a better idea
roses are red, violets are blue, I am schizophrenic, and I am too!
2002-02-27, 2:26 PM #13
I thought ParseArg() does synch sometimes. Like the different stances for SBX and GotG. Or do they send out triggers to do the ParseArg()?

-Tazz
-There are easier things in life than finding a good woman, like nailing Jello to a tree, for instance

Tazz
2002-02-27, 8:37 PM #14
Yes.
Dreams of a dreamer from afar to a fardreamer.
2002-02-28, 5:36 AM #15
Quote:
<font face="Verdana, Arial" size="2">I'd suggest you make the HTML appear in a frame at the bottom of the page, like a thread appears at the bottom of the 'add reply' page.</font>


You mean a lateral (row) frame at the bottom of each category page? I tried doing something like that and it looked terrible. But vertical (column) frames look much better. Not as pretty as the popup, but easier to work with.

So which would you people rather have?

Quote:
<font face="Verdana, Arial" size="2">that would be nice but not everyone has a frame capable browser,</font>


The DataMaster uses frames already for the side menu. And even the latest versions of Netscape don't like my verb search or <HR> tags, so I'm not looking for compatability with Netscape.

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

Who else will help with the review? I would like at least several experts to help proofread the DataMaster so that any errors can be fixed.

Thankyou, Fardreamer, for volunteering. [http://forums.massassi.net/html/wink.gif]

------------------
Author of the Jedi Knight DataMaster.
Visit Saber's Domain.
Author of the JK DataMaster, Parsec, Scribe, and the EditPlus Cog Files.
2002-02-28, 8:50 AM #16
Well, the first thing lacking is a good detailed opener about the general functionality of cogs. What they do, how they work, how the engine reads them, how they are parsed, etc. I'm doing that for you, so don't worry about it [http://forums.massassi.net/html/smile.gif]

Next, I added much more detailed explanations for the variable types. Some of yours were incomplete, others incorrect, but most generally unclear.

Also, you didn't include function declarations, which make functions much easier to understand. Here's an example of a proper function definition:

------------------
CreateThing
Syntax:
Code:
thing CreateThing(template tmpAnyTemplate, thing tLocationThing)

Creates a new instance of the template tmpAnyTemplate at the position of tLocationThing, and returns the thing reference number.
-----------------

Lastly, the whole thing could use a little more organization: the notes you added are somewhat scattered throughout the document, and sometimes there's great need for a link to the description of a related function or to the flags used by the function.

But you still did one hell of a job, well done.

[This message has been edited by Fardreamer (edited February 28, 2002).]
Dreams of a dreamer from afar to a fardreamer.
2002-02-28, 9:05 AM #17
It might be unrelated, but what is the difference between 0x0a4, and 0x04 in items.dat?

------------------
-There are easier things in life than finding a good woman, like nailing Jello to a tree, for instance

-Tazz
-There are easier things in life than finding a good woman, like nailing Jello to a tree, for instance

Tazz
2002-03-01, 7:34 AM #18
Quote:
<font face="Verdana, Arial" size="2">Well, the first thing lacking is a good detailed opener about the general functionality of cogs.</font>


I thought my basic cog tutorial covered that (albeit not very technically), but contributions are welcome. [http://forums.massassi.net/html/smile.gif]

Quote:
<font face="Verdana, Arial" size="2">Next, I added much more detailed explanations for the variable types.</font>


Alright. Though I'm wondering exactly what you added...

Quote:
<font face="Verdana, Arial" size="2">Also, you didn't include function declarations, which make functions much easier to understand.</font>


I have to say that your example is much harder for a beginner to understand. It would only make sense if the reader knew how to declare functions in the first place - something you don't have to know when working with cogs.

Quote:
<font face="Verdana, Arial" size="2">Lastly, the whole thing could use a little more organization: the notes you added are somewhat scattered throughout the document, and sometimes there's great need for a link to the description of a related function or to the flags used by the function.</font>


The notes are intended to explain concepts that you should know when working with the verbs in the section.

But I agree, it does need better organization. I'll work on improving that. [http://forums.massassi.net/html/wink.gif]

-----

Quote:
<font face="Verdana, Arial" size="2">It might be unrelated, but what is the difference between 0x0a4, and 0x04 in items.dat?</font>


Yes, completely unrelated, but that's alright.

These are hexadecimal numbers. The "0x" preceding the number tells the exe that. Hex uses 0-15 instead of decimal's 0-9. Since each digit in a number has to be represented by a single character (obviously), Hex uses the numbers 'a' through 'f' after 0-9.

And to answer your question, the numbers are much different. That 'a' in the flag is the Hex number for 10.

Hideki has a tutorial on this at his site. Also, you might experiment by converting Hex and Decimal numbers with the windows calculator.

------------------
Author of the Jedi Knight DataMaster.
Visit Saber's Domain.

[This message has been edited by SaberMaster (edited March 01, 2002).]
Author of the JK DataMaster, Parsec, Scribe, and the EditPlus Cog Files.
2002-03-01, 11:12 AM #19
SM,

I was wondering what the difference is to JK, I knew it was hex. [http://forums.massassi.net/html/biggrin.gif]

------------------
-There are easier things in life than finding a good woman, like nailing Jello to a tree, for instance

-Tazz
-There are easier things in life than finding a good woman, like nailing Jello to a tree, for instance

Tazz
2002-03-01, 3:45 PM #20
Im no expert in HEX, but I think it works like:

0x1 = Assigned Value
0x2 = Assigned Value
0x3 = 0x2 + 0x1
0x4 = Assigned Value
0x5 = 0x4 + 0x1
0x6 = 0x4 + 0x2
0x7 = 0x4 + 0x2 + 0x1
0x8 = Assigned Value
0x9 = 0x8 + 0x1
0xa = 0x8 + 0x2
0xb = 0x8 + 0x2 + 0x1
0xc = 0x8 + 0x4
0xd = 0x8 + 0x4 + 0x1
0xe = 0x8 + 0x4 + 0x2
0xf = 0x8 + 0x4 + 0x2 + 0x1

similarly

0x0a0 = 0x80 + 0x20

So according to specs heres the answer to your question:

0x0a4 = Item is a weapon + Item is available by default + Item is dropped into a backpack when the player is killed (MP only)

0x04 = Item is a weapon
- Wisdom is 99% experience, 1% knowledge. -
2002-03-02, 12:09 AM #21
A quick explanation of hexedecimal numbers. Decimal numbers consist of 10 digits, 0 though 9. All numbers are made up of these digits. For numbers larger than the highest single-digit number 9, a combination of digits is used: for instance, 11 signifies one ten and one single. 324 signifies 3 hundreds (10x10), 2 tens and 4 singles.

Now take the exact same rules and apply them to 16 digits, 0 through 15. Since "15" is a decimal presentation of the number fifteen, it cannot be used to describe hexadecimal numbers which need 16 different digits. And so the hexadeciml digits are 0, 1 ... 9, a (=10), b (=11) ... f (=15). Numbers larger than the highest single digit number f (15) are similarly presented by combinations: 11 is one sixteen and one single (total 17), 324 is three 256's (16x16), two sixteens and 4 singles (you do the math). Consequently: a0 is 'a' (=10) sixteens and no singles, which equals 160.

The prefix 0x is used in computer programming to signify that the value is presented in hexadecimal format. It has no mathmatical meaning.
Dreams of a dreamer from afar to a fardreamer.

↑ Up to the top!