Coconut Model

Post Reply
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Coconut Model

Post by XZodia »

Does anyone here know anything about Coconut Model raw?

Like where the pointers are for it?
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
JacksonCougar
Huurcat
Posts: 2460
Joined: Thu Dec 06, 2007 11:30 pm
Location: Somewhere in Canada

Re: Coconut Model

Post by JacksonCougar »

Ugh I thought.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Coconut Model

Post by XZodia »

Well I thought that too, I even thought that I had found the pointers, but when I update them werid stuff happens to the map in uber analyser...and the coco model hasn't moved...
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
JacksonCougar
Huurcat
Posts: 2460
Joined: Thu Dec 06, 2007 11:30 pm
Location: Somewhere in Canada

Re: Coconut Model

Post by JacksonCougar »

Do a reverse pointer search? There's a pointer to that table (I believe) in the map's header
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Coconut Model

Post by XZodia »

After speaking to kornman, the good news is its just lipsync data, which means skipping the cinematic should be all i need to do, but I would still prefer to fix it if i can...
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
troymac1ure
Keeper of Entity
Posts: 1282
Joined: Sat Aug 09, 2008 4:16 am
Location: British Columbia, Canada, eh
Contact:

Re: Coconut Model

Post by troymac1ure »

Coconuts (Ugh!).txt wrote: ...to play. Each one indexing a Sound Raw Chunk. There is also a Model Raw reflexive, my guess is since the
crazy tag is ALWAYS the last tag, the engine can render all models without reading every model tag.
I also assume there is some sort of tag pointer in that reflexive or vice versa. The Coconuts tag also has a lot
of loneid's to itself, not sure why but they are important to fix when adding new tags to the map.
Maybe it is located in the crazy tag.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Coconut Model

Post by XZodia »

Where is this Coconuts (Ugh!).txt that your refer to?
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
troymac1ure
Keeper of Entity
Posts: 1282
Joined: Sat Aug 09, 2008 4:16 am
Location: British Columbia, Canada, eh
Contact:

Re: Coconut Model

Post by troymac1ure »

On my computer under my map info directory (collection of text files I have collected, not sure where from). Here's the full thing:

Code: Select all

  Notes:
    The Coconuts tag has a lot of reflexives that organize sounds. It also has 1 reflexive with model Raw
    details. Kudos to Iron Forge for being the only person to ever map anything in this tag. I have since
    then add some new things as well as clean it up. This tag is based on reflexives with index's into more
    reflexives. The base reflexive is Sound Permutations, this has the index to Sound Names, and Sound Choices.
    Sound Names is just a stringid with a name for that sound, Sound Choices is a list of possible sound files
    to play. Each one indexing a Sound Raw Chunk. There is also a Model Raw reflexive, my guess is since the
    crazy tag is ALWAYS the last tag, the engine can render all models without reading every model tag.
    I also assume there is some sort of tag pointer in that reflexive or vice versa. The Coconuts tag also has a lot
    of loneid's to itself, not sure why but they are important to fix when adding new tags to the map.

  <reflexive name="Unknown" offset="0" visible="false" size="56" label="">
    <float name="Unknown" offset="0" visible="False" />
    <float name="Unknown" offset="4" visible="False" />
    <float name="Unknown" offset="8" visible="False" />
    <float name="Unknown" offset="12" visible="False" />
    <float name="Unknown" offset="16" visible="False" />
    <float name="Unknown" offset="20" visible="False" />
    <short name="Unknown" offset="24" visible="False" />
    <short name="Unknown" offset="26" visible="False" />
    <float name="Pi" offset="28" visible="True" />
    <float name="Pi" offset="32" visible="True" />
    <unused offset="36" size="20" />
  </reflexive>
  <reflexive name="Unknown" offset="8" visible="false" size="20" label="">
    <float name="Unknown" offset="0" visible="False" />
    <float name="Unknown" offset="4" visible="False" />
    <short name="Unknown" offset="8" visible="False" />
    <short name="Unknown" offset="10" visible="False" />
    <float name="One" offset="12" visible="False" />
    <float name="One" offset="16" visible="False" />
  </reflexive>
  <reflexive name="Sound Names" offset="16" visible="true" size="4" label="">
    <stringid name="Name" offset="0" visible="True" />
  </reflexive>
  <reflexive name="Unknown" offset="24" visible="false" size="10" label="">
    <short name="Unknown" offset="0" visible="True" />
    <short name="Unknown" offset="2" visible="True" />
    <short name="Unknown" offset="4" visible="True" />
    <short name="Unknown" offset="6" visible="True" />
    <short name="Unknown" offset="8" visible="True" />
  </reflexive>
  <reflexive name="Sound Permutations" offset="32" visible="true" size="12" label="">
    <short name="Unknown" offset="0" visible="True" />
    <short name="Unknown" offset="2" visible="True" />
    <byte name="Unknown" offset="4" visible="True" />
    <byte name="Chunk" offset="5" visible="True" />
    <short name="Unknown" offset="6" visible="True" />
    <short name="Sound Choices Index" offset="8" visible="True" />
    <short name="chunkCount" offset="10" visible="True" />
  </reflexive>
  <reflexive name="Sound Choices" offset="40" visible="true" size="16" label="">
    <int name="Name Index" offset="0" visible="True" />
    <short name="Unknown" offset="4" visible="False" />
    <short name="Unknown" offset="6" visible="False" />
    <int name="Unknown" offset="8" visible="False" />
    <short name="Sound Chunk Index" offset="12" visible="True" />
    <short name="chunkCount" offset="14" visible="True" />
  </reflexive>
  <reflexive name="Unknown" offset="48" visible="false" size="52" label="">
    <unused offset="0" size="20" />
    <reflexive name="Unknown53" offset="20" visible="false" size="72" label="">
      <float name="One" offset="0" visible="False" />
      <unused offset="4" size="4" />
      <float name="800" offset="8" visible="False" />
      <float name="8000" offset="12" visible="False" />
      <unused offset="16" size="24" />
      <float name="800" offset="40" visible="False" />
      <float name="8000" offset="44" visible="False" />
      <unused offset="48" size="24" />
    </reflexive>
    <unused offset="28" size="24" />
  </reflexive>
  <reflexive name="Zero" offset="56" visible="false" size="1" label="">
    <unused offset="0" size="1" />
  </reflexive>
  <reflexive name="Sound Raw Data" offset="64" visible="true" size="12" label="">
    <int name="Raw Offset" offset="0" visible="True" />
    <int name="Size" offset="4" visible="True" />
    <int name="Effect" offset="8" visible="True" />
  </reflexive>
  <reflexive name="Unknown" offset="72" visible="false" size="28" label="">
    <reflexive name="Unknown" offset="0" visible="false" size="16" label="">
      <short name="Unknown" offset="0" visible="True" />
      <short name="Unknown" offset="2" visible="True" />
      <float name="Unknown" offset="4" visible="True" />
      <float name="Unknown" offset="8" visible="True" />
      <float name="Unknown" offset="12" visible="True" />
    </reflexive>
    <reflexive name="Unknown" offset="8" visible="false" size="4" label="">
      <unused offset="0" size="4" />
    </reflexive>
    <unused offset="16" size="4" />
    <unused offset="20" size="8" />
  </reflexive>
  <reflexive name="Model Raw Data" offset="80" visible="false" size="44" label="">
    <unused offset="0" size="8" />
    <int name="Offset" offset="8" visible="True" />
    <int name="Size" offset="12" visible="True" />
    <int name="Header Size" offset="16" visible="True" />
    <int name="Data Size" offset="20" visible="True" />
    <reflexive name="Resource Blocks" offset="24" visible="true" size="16" label="">
      <short name="Unknown" offset="0" visible="True" />
      <short name="Unknown" offset="2" visible="True" />
      <short name="Unknown" offset="4" visible="True" />
      <short name="Chunk Size" offset="6" visible="True" />
      <int name="Size" offset="8" visible="True" />
      <int name="Offset" offset="12" visible="True" />
    </reflexive>
    <ident name="Ugh!" offset="32" visible="True" />
    <float name="Constant" offset="36" visible="True" />
    <float name="Constant" offset="40" visible="True" />
  </reflexive>
Other files I have:
MapInfo.rar
Map Information Texts
(10.42 KiB) Downloaded 252 times

Code: Select all

Animation Raw.txt
Bitmap Raw.txt
Cocunts (Ugh!).txt
Collision.txt
Crazy.txt
Decorator Raw.txt
Header.txt
Index.txt
Model Raw.txt
Particle Model Raw.txt
Physics Model.txt
Raw Offsets.txt
Sound Raw.txt
tags.txt
Weather Raw.txt
FYI, the crazy basically just says it's random data and the offset is listed in the header.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Re: Coconut Model

Post by Grimdoomer »

troymac1ure wrote:On my computer under my map info directory (collection of text files I have collected, not sure where from). Here's the full thing:
That would be something I made in a topic that got lost during one of the forum upgrade/crashes. I can tell because of the use of "verticie" -_-
Don't snort the magic, we need it for the network.
User avatar
troymac1ure
Keeper of Entity
Posts: 1282
Joined: Sat Aug 09, 2008 4:16 am
Location: British Columbia, Canada, eh
Contact:

Re: Coconut Model

Post by troymac1ure »

Well, credit where credit is due then Grim. That sounds about right that I probably just copied it from a forum post for quick references. The majority of them are likely from you.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Re: Coconut Model

Post by Grimdoomer »

I meant to recover that topic a while ago but never got around to it.

As for the original question I'm too sure where you are having trouble. But these should help you. The Sound.cs file will have code to shift everything below sound raw data, look at the function named Inject. Doctor is a reverse engineered version of UAT I made when working on Mutation. It also doesn't use that stupid fucking dock control which only works under xp compatibility mode.
Attachments
Sound.rar
(4.83 KiB) Downloaded 275 times
Doctor.rar
(73.06 KiB) Downloaded 272 times
Don't snort the magic, we need it for the network.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Coconut Model

Post by XZodia »

Thanks, thats awesome :)
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
Post Reply