Author Topic: Guide to CB xml files, engine documentation?  (Read 678 times)

frumbert

  • Hydlaa Resident
  • *
  • Posts: 58
    • View Profile
Guide to CB xml files, engine documentation?
« on: January 12, 2005, 12:56:50 am »
I\'d like to try out a number of different things with the CB release. Most of the documentation I\'ve seen so far relates to MB and doesn\'t seem to apply any more to CB.

1.
For instance, the PlaneShift Crystal Blue\\data\\gui folder  contains a number of files related to the positioning etc of items on the screen. I can use trial and error to work out what the files do and what each of the attributes are (or I can read the source and find out). Is there a guide to what everything in here does?

2.
Some items contain attributes. For example:

Does this take the client resolution into account? E.g. Do I have to make a layout at 800x600 and another for 1280x1024 (etc)

3.
I was always impressed in Ultima Online that you could latch into the chat system and run a client side outgoing parser over the speech that you typed into the chat and translate it in \'real time\' into a number of variants (such as \'Ye Olde Speak\'). The dictionary / translators and variants were all stored in a nice plain text file (which would work just as well as xml), so making up new \"languages\" would be a peice of cake. I\'d like to have a crack at implementing such as system - is there specific documentation to such areas of the client / server engines?

acraig

  • Administrator
  • Veteran
  • *
  • Posts: 1562
    • View Profile
(No subject)
« Reply #1 on: January 12, 2005, 01:02:53 am »
Quote
Originally posted by frumbert

1.
For instance, the PlaneShift Crystal Blue\\data\\gui folder  contains a number of files related to the positioning etc of items on the screen. I can use trial and error to work out what the files do and what each of the attributes are (or I can read the source and find out). Is there a guide to what everything in here does?

Not as such. Most of the windows have semi reasonable names though.

Quote

2.
Some items contain attributes. For example:

Does this take the client resolution into account? E.g. Do I have to make a layout at 800x600 and another for 1280x1024 (etc)

assumes 800x600 and scales up and down depending on client resolutions.  It does a good job with some widgets and not so good for others.  

Quote

3.
I was always impressed in Ultima Online that you could latch into the chat system and run a client side outgoing parser over the speech that you typed into the chat and translate it in \'real time\' into a number of variants (such as \'Ye Olde Speak\'). The dictionary / translators and variants were all stored in a nice plain text file (which would work just as well as xml), so making up new \"languages\" would be a peice of cake. I\'d like to have a crack at implementing such as system - is there specific documentation to such areas of the client / server engines?

This would be something that would be done client side I think.  It should be just a matter of running the incoming text through this filter.  You\'d want to look at
void pawsChatWindow::HandleMessage ( MsgEntry* me )

in chatwindow.cpp to see where incomming chat messages are handled.
----------
Andrew
"For all I know, she's lying, everyone's lying; welcome to the Internet"

frumbert

  • Hydlaa Resident
  • *
  • Posts: 58
    • View Profile
(No subject)
« Reply #2 on: January 12, 2005, 02:45:28 am »
Thanks Andrew!

1.
Doh - oh well, I\'ll just have to work it out myself.

2.
So I just do my interface for 800x600 and assume it will be ok?
It would be nice to be able to skip the x/y coords and instead specify a screen dock and order, so you could just \"dock\" buttons against each other.

I\'m sure this is just wishful thinking :)


3.
I had thought that you could introduce a zones file on the server and have different zones with different speech, not translated but extensions of speech (such as drunk, echoey, etc). But this could get confusing (will give it a go though).
The code would have to be clientside and only on the \"outgoing\" text - incoming text would have already been translated at the other end if that client has it enabled. Will get on it!

acraig

  • Administrator
  • Veteran
  • *
  • Posts: 1562
    • View Profile
(No subject)
« Reply #3 on: January 12, 2005, 02:53:12 am »
adding a \"dock\" should not be too hard to do. I will add it to my list of good contributer tasks.
----------
Andrew
"For all I know, she's lying, everyone's lying; welcome to the Internet"