Author Topic: New beta GMF compiler!  (Read 7634 times)

Offline Serge

  • *
  • Posts: 1530
  • Rep: 13
    • View Profile
    • http://www.q3k.org/
    • Awards
New beta GMF compiler!
« Reply #20 on: October 26, 2008, 04:14:03 PM »
Alright, updates, updates!

First, thanks for support everyone. And especially clickbeetle for the charts. I will surely add that to both my compiler & decompiler.

The GMF compiler already compiled standard objects (standard components and standard arenas) just fine. It also produces much cleaner floating point numbers (compared to dummee's compiler,which sometimes produces garbage).

I am still working on getting it to compile:
- The Car Steering
- Wheels
- The Flextop Arena

I have discovered another thing, however (begin tech talk):

The Car Steering does NOT contain Hinge constraints. These are very similar to hinge constraints, but I like to call them GMID_HAVOK_UNKN_CONSTRAINTs. The only difference I can see now is that they contain 19 bytes of  blank (00) padding at the end, and have a different ID (0x2E , instead of 0x2F). I will look through the default havok constraints and see if there is one close to the hinge, but a little different.

The main problem with writing a GMF compiler is that it's very hard to find where it creates errors in the binary GMF file. I cannot just compare the bytes one-by-one, since a lot of differences are in the floating point number -> bytes implementations in both the Original GMF tool by GI, dummee's compiler, and my compiler. I plan on modifying (temporarily) the compiler so that after it outputs a element (string, integer or floating point), it tests the VALUE (not output bytes!) of it against another binary GMF file, and produces an error if differences are found. This may be helpful.

See ya later, I'm going back to work.
Serge.

PS: The camera object idea seems awesome, I will look at it, too.
home | twitter | yt | gmf de/compiler | component freedom | xmpp: q3k@q3k.org | email: q3k@q3k.org

Offline Somebody

  • *
  • Posts: 7200
  • Rep: 13
  • CP: +2
    • SomebodyofGTM
    • View Profile
    • My site
    • Awards
New beta GMF compiler!
« Reply #21 on: October 26, 2008, 04:38:59 PM »
The slam cam would need to be invincible, because other wise it would get knocked off.
I built that big robot on that TV show that time


Offline Serge

  • *
  • Posts: 1530
  • Rep: 13
    • View Profile
    • http://www.q3k.org/
    • Awards
New beta GMF compiler!
« Reply #22 on: October 27, 2008, 04:53:46 PM »
Update.

The mysterious constraint is a pivot constraint. Thanks PyRA2!
home | twitter | yt | gmf de/compiler | component freedom | xmpp: q3k@q3k.org | email: q3k@q3k.org

Offline Naryar

  • Posts: 23283
  • Rep: 21
  • hybrids oui oui
    • http://www.youtube.com/us
  • Awards BOTM Winner
    • View Profile
    • Awards
  • Skype: TheMightyNaryar
New beta GMF compiler!
« Reply #23 on: October 27, 2008, 05:00:36 PM »
What's with the powered steering unit anyway?

I think I never built a bot with that.

Offline ACAMS

New beta GMF compiler!
« Reply #24 on: October 27, 2008, 05:13:47 PM »
So I can make a dropped front axle for my component pack
I can now, but it looks better when the wheels turn left and right.

Offline Madiaba

New beta GMF compiler!
« Reply #25 on: October 27, 2008, 09:20:19 PM »
Quote from: Clickbeetle;18805

Firebeetle also just told me that there's camera objects in the .gmf of the stock Practice Garage. I didn't know it was even possible to put cameras in the .gmf until today. ..... So that's another thing to look into.
But if you COULD compile cameras... can anyone say Slam Cam component? :mrgreen:
Maybe some of these notes will help:
1. When I first learned how to make the garage into a regular battle arena, I noticed the cams in there, but never tried tweaking it because it could be done in the python coding.
2. Later, I then tried adding cams to the regular practice garage (not as a battle arena) via python, but although the coding was present, while in-game the cams were not present in the garage.
3. So I turned to the gmf cam and tried playing with it to move and even 'enable' it(somehow), but I got nothing in return.
4. One other pertinent tweak I did was to change the practice garage arena to another arena when you hit the bot-lab button to 'test' your bot; (tried the 'Combat[box]' and 2 other arenas). Then, even though the test arena was different, the cameras (position+angle) stayed the same as in the regular practice arena.
 
Therefore, since neither the gmf nor the py seemed to control the practice garage cam, it seems evident that these cams are hard-coded and run exclusively by the exe. And my guess (though I wish not) is that a gmf cam cannot work or be tweaked without exe surgery. (And apparently, like smart-zones, the coders decided to switch some 'jurisdiction' from the gmf to the exe.)
 
 
Quote from: Clickbeetle;18805
Naturally, neither Dummy's nor yours can decompile it (gmf cam).
[/COLOR]It (Dummee's) both compiled and decompiled these gmf cams for me. If it missed or maligned info, it wasn't apparent.
 
 
[/COLOR]...
« Last Edit: October 27, 2008, 11:53:35 PM by Madiaba »
Input is appreciated. :)
-Arrogance is a quantity devoid of quality...
-As a client once told me "This is my story, and it's sticking to me!"
-Relationships these days are like the 'Arrival' section of the airport: a lot of baggage is being revealed in one place, and not a lot of it is being correlated to its real owners...

Offline Serge

  • *
  • Posts: 1530
  • Rep: 13
    • View Profile
    • http://www.q3k.org/
    • Awards
New beta GMF compiler!
« Reply #26 on: October 29, 2008, 04:40:23 PM »
home | twitter | yt | gmf de/compiler | component freedom | xmpp: q3k@q3k.org | email: q3k@q3k.org

Offline Serge

  • *
  • Posts: 1530
  • Rep: 13
    • View Profile
    • http://www.q3k.org/
    • Awards
New beta GMF compiler!
« Reply #27 on: November 04, 2008, 01:27:54 PM »


Anyone notice anything strange about this screenshot?


...


Yes, I have recompiled the carsteering successfully. The geometry edit is just to prove you that it is feasible.
home | twitter | yt | gmf de/compiler | component freedom | xmpp: q3k@q3k.org | email: q3k@q3k.org

Offline Serge

  • *
  • Posts: 1530
  • Rep: 13
    • View Profile
    • http://www.q3k.org/
    • Awards
New beta GMF compiler!
« Reply #28 on: November 04, 2008, 02:55:47 PM »
Released. Beta. Probably very buggy, and still needs a lot of work.

Get it from http://code.google.com/p/gmftoolkit/ .

Be that when compiling exotic objects (carsteering, flextop arena, etc) to use the LATEST version of the decompiler, otherwise it will throw errors right in your face.
home | twitter | yt | gmf de/compiler | component freedom | xmpp: q3k@q3k.org | email: q3k@q3k.org

Offline Naryar

  • Posts: 23283
  • Rep: 21
  • hybrids oui oui
    • http://www.youtube.com/us
  • Awards BOTM Winner
    • View Profile
    • Awards
  • Skype: TheMightyNaryar
New beta GMF compiler!
« Reply #29 on: November 04, 2008, 03:12:10 PM »
Lulz?

Anyways, what's exactly with the car steering? Looks like it is very special seeing your work on it, or it's a pain to mod?.

Offline Serge

  • *
  • Posts: 1530
  • Rep: 13
    • View Profile
    • http://www.q3k.org/
    • Awards
New beta GMF compiler!
« Reply #30 on: November 04, 2008, 03:26:24 PM »
It was unpossible to decompile and recompile before.
home | twitter | yt | gmf de/compiler | component freedom | xmpp: q3k@q3k.org | email: q3k@q3k.org

Offline Madiaba

New beta GMF compiler!
« Reply #31 on: November 04, 2008, 03:43:46 PM »
Hey, cool, Serge.  I'll try it out ASAP...
Thanks allot... Millions of them....
Input is appreciated. :)
-Arrogance is a quantity devoid of quality...
-As a client once told me "This is my story, and it's sticking to me!"
-Relationships these days are like the 'Arrival' section of the airport: a lot of baggage is being revealed in one place, and not a lot of it is being correlated to its real owners...

Offline ACAMS

New beta GMF compiler!
« Reply #32 on: November 04, 2008, 03:56:56 PM »
Wouldn't you know it....I am at work on my crapassvista laptop without max and can't mod the car steering.
 
BUT I will as soon as I get home
 
Thanks BILLIONS

Offline Clickbeetle

  • *
  • Posts: 3375
  • Rep: 21
  • In Soviet Russia, bugs stomp YOU!
  • Awards BOTM Winner
    • View Profile
    • Beetle Bros site
    • Awards
New beta GMF compiler!
« Reply #33 on: November 05, 2008, 09:56:15 PM »
I have a few projects that will be perfect to test this on.  If it works it will save me a bundle of time.  Thanks Serge.

To lack feeling is to be dead, but to act on every feeling is to be a child.
-Brandon Sanderson, The Way of Kings

Offline Madiaba

New beta GMF compiler!
« Reply #34 on: November 05, 2008, 10:04:24 PM »
Here's the the first mod on the carsteering (thanks to Serge).
It's ACAMS' Jeep with His 6-71 blower and mounted on 2 giant axles to make a Monster Truck. It is 4WD, and has cool steering too.
Just rough tweaking, needs some realistic sounding bigblock wav, but looks very promising:


 
VIDEO: >>>Jeep_1<<<
 
 
....
« Last Edit: November 05, 2008, 10:27:04 PM by Madiaba »
Input is appreciated. :)
-Arrogance is a quantity devoid of quality...
-As a client once told me "This is my story, and it's sticking to me!"
-Relationships these days are like the 'Arrival' section of the airport: a lot of baggage is being revealed in one place, and not a lot of it is being correlated to its real owners...

Offline Clickbeetle

  • *
  • Posts: 3375
  • Rep: 21
  • In Soviet Russia, bugs stomp YOU!
  • Awards BOTM Winner
    • View Profile
    • Beetle Bros site
    • Awards
New beta GMF compiler!
« Reply #35 on: November 05, 2008, 10:08:46 PM »
Nice.  Those bouncy Monster Wheels really work well on that!

To lack feeling is to be dead, but to act on every feeling is to be a child.
-Brandon Sanderson, The Way of Kings

Offline Madiaba

New beta GMF compiler!
« Reply #36 on: November 06, 2008, 01:00:31 AM »
Yea. I'll locate and then tweak downward the L+R axle vertices to connect to the hubs a little later.
 
Thanks you, Sir Serge.
 
..
Input is appreciated. :)
-Arrogance is a quantity devoid of quality...
-As a client once told me "This is my story, and it's sticking to me!"
-Relationships these days are like the 'Arrival' section of the airport: a lot of baggage is being revealed in one place, and not a lot of it is being correlated to its real owners...

Offline Serge

  • *
  • Posts: 1530
  • Rep: 13
    • View Profile
    • http://www.q3k.org/
    • Awards
New beta GMF compiler!
« Reply #37 on: November 06, 2008, 04:29:26 PM »
home | twitter | yt | gmf de/compiler | component freedom | xmpp: q3k@q3k.org | email: q3k@q3k.org

Offline Madiaba

New beta GMF compiler!
« Reply #38 on: November 06, 2008, 06:54:50 PM »
Looks nice, Serge.  PTP could come in handy....
Cool work... again.
Input is appreciated. :)
-Arrogance is a quantity devoid of quality...
-As a client once told me "This is my story, and it's sticking to me!"
-Relationships these days are like the 'Arrival' section of the airport: a lot of baggage is being revealed in one place, and not a lot of it is being correlated to its real owners...

Offline Madiaba

New beta GMF compiler!
« Reply #39 on: November 06, 2008, 11:18:49 PM »
Serge, It will Decompile this gmf, fine. But it will not compile it back. Dummees compiler will, so I hope this helps....
 
Differential][/URL]............Differential[/U]
Input is appreciated. :)
-Arrogance is a quantity devoid of quality...
-As a client once told me "This is my story, and it's sticking to me!"
-Relationships these days are like the 'Arrival' section of the airport: a lot of baggage is being revealed in one place, and not a lot of it is being correlated to its real owners...