Welcome, Guest. Please Login or Register
TMA - Temporary Board
 
  HomeHelpSearchLoginRegister  
 
Pages: 1 ... 18 19 20 21 22 ... 58
Send Topic Print
TM 1+2 Modding thread (Read 620493 times)
Marltoro
Senior Member
****
Offline



Posts: 266
Ohio
Re: TM 1+2 Modding thread
Reply #285 - 04/21/17 at 14:36:01
 
ヒロ・ハマダ wrote on 04/21/17 at 14:22:48:
Ok, I tried the blackness. I got a black box instead of transparency.


Could you pm me the texture so I could take a look at it?
Back to top
 

Twisted Toolkit
https://drive.google.com/file/d/1Zi-vnTGotGM6lGGX11U7qlWuBk7ZgaeA/view

Source Code Repo
(The source code repo isn't working atm. I need to upload some missing files)
https://bitbucket.org/mrees240/toolkit

Currently working on the Map Editor
 
IP Logged
 
aybe
Certified Astronaut
***
Offline


No matter the consequences

Posts: 39
Re: TM 1+2 Modding thread
Reply #286 - 04/21/17 at 20:32:22
 
Big Boss wrote on 04/20/17 at 22:09:40:
You and Marltoro are absolutely gorgeous right now you know that? I'm so excited it's not even funny.


Thanks but keep in mind that eventually it could fail, and as far as things are going forward, discovery rate wanes and discovery time rises exponentially  Cry

This is from my experience of reversing Wipeout 1/2/3 (and even WO64 but this was rather quick as it's a WOXL in disguise). Getting models, formats, sounds, graphics was relatively easy, understanding higher level concepts took much longer and success rate was very low ...

Here are some examples,
  • graphics (TIM, LZ77-encoding): these are well documented (quick)
  • sounds (VAB, VH/VB): documented but took a while to get it to 100% (e.g. perfect loops)
  • models (PRM): some ppl did it already, I figured out it properly (shading, lighting) (a bit long)
  • game-specific (TRS, TRF, TTF, VEW): didn't do it and honestly I'm not sure if I would have succeeded
  • figuring out incorrect rendering on WOXL and missing polygons in WO3 (not very long but very exhausting): I'm proud to say I did this Smiley


Some major obstacles,
  • how to piece all models together ?
    currently nothing has been found, the only solution was to write a custom level editor and rebuild what seen from the game (there were some clues actually, just like in TM where there are pre-compiled graphics you upload to the PSX; however, unless you're emulating a PSX you can't replicate that (unless you're insane))
  • original game gameplay and logic: very hard close to impossible, when you look at the game code in IDA, it has been optimized away with lots of inlining (a real mess)
    + the fact that there's no pseudo C code that can be generated for a PSX game, only for PC [but for PSX there is plenty of docs (dilemma here)]
  • etc etc etc ... I could go on for days, right now I have all Wipeout data but I'm struggling with shaping up a (modern engine for the) game


Not sure who asked about patching original TM game previously, but IMO I'm rather leaning to 'modern engine' solution because fixing EXEs requires knowledge I don't have (ASM, CPU knowledge etc). And btw, while I talk about IDA, most of my findings actually were done using an hex-editor, a calculator and few custom-tools written, IDA helped me to figure out entry points and some confirmation but that's pretty much it.

TL;DR outer shell is broken for DMD, understanding exactly what's in will be long and eventually fail. If something is really impossible we can always take note of individual models in files and load them manually, it's a matter of days; but we'll have other problems to solve then ...

But working with other people is motivating and gives ideas (I worked alone on Wipeout  Sad), @Marltoro figured things out I struggled on, vice-versa, at some point we should work against the same code base, this is why I'm waiting for his DPC viewer for some relief (in the meantime I'm attacking the problem from a different angle)


PS this is not TM-related but I'm adding a few images about what I've been talking about, I could have redirected you to wipeoutzone forum where these are but you must post at least N messages before getting access to this thread ...

My Youtube channel where you can see the modern engine for Wipeout (a bit dated now):
https://www.youtube.com/channel/UCKobibMxD99YDd_Xc1dgjJQ

A wipeout 3 track:
...

The kind of 'extra-data' you can encounter, here track-related:
...

Another level that shows incorrect-rendering:
...

Proper rendering (dark), raw data (bright) (I expect some of this in TM as there are vertex colors !):
...

These damn missing polygons on WO3 track edges, they were located in a different files with a completely different format (hint: this is probably the result of a tool they transformed data for high speed rendering, hence why it's as unfriendly as one can be ... in TM the HMD is more or less that: 'High-Speed Modeling Data'):
...

Gorgeous track from Wipeout 64:
...


So more or less the kind of challenges/rewards we'll face/receive with TM   Cheesy
Back to top
 
 
IP Logged
 
DefinitelyNotTrollTaco
Certified Astronaut
***
Offline


Glorious Icecream

Posts: 42
Depths of Hell
Gender: male
Re: TM 1+2 Modding thread
Reply #287 - 04/22/17 at 00:25:49
 
Props to you guys to even being able to do what you are right now. I'd never be able to break into code like that. It honestly has a bright future IMO. TM2 getting modding capabilities and possibly Total Conversions. It could breathe new life into the game and we could finally have a means of reviving TM so to speak. That Wipeout looks interesting. Maybe if you can get TM's maps and data shown like that it may bring some light to some problems or impossibilities.
Back to top
 
 
IP Logged
 
Big Boss
Hurricane Wrangler
*****
Offline


TM2 PC Online Shill

Posts: 169
Cyburbia
Gender: male
Re: TM 1+2 Modding thread
Reply #288 - 04/22/17 at 05:58:26
 
For real, that's all good to know. Hopefully it can all be figured out, it's time we had a real Twisted Metal 3 after all these years.
Back to top
 
 
IP Logged
 
ヒロ・ハマダ
Superhero Accountant
****
Offline


Hamadian

Posts: 86
Mars
Gender: male
Re: TM 1+2 Modding thread
Reply #289 - 04/22/17 at 18:41:59
 
Big Boss wrote on 04/22/17 at 05:58:26:
For real, that's all good to know. Hopefully it can all be figured out, it's time we had a real Twisted Metal 3 after all these years.

But wait... wasn't TMHO the 'real TM3'? then we would end up with a real TM4! with (hopefully) custom cars and all! (with modding capabilities!)
Back to top
 

Currently I am trying to understand how to modify Twisted Metal 2 PC.

Twitter account: https://twitter.com/BrandonSelf9
YouTube account: https://www.youtube.com/user/TheApocalypseNine
...
 
IP Logged
 
Big Boss
Hurricane Wrangler
*****
Offline


TM2 PC Online Shill

Posts: 169
Cyburbia
Gender: male
Re: TM 1+2 Modding thread
Reply #290 - 04/22/17 at 20:57:25
 
Head-On was pretty good, but it's no Twisted Metal 3. It's more of a Twisted Metal 3 than the shit 989 Studios released over a decade ago don't get me wrong. But I still think we need a completely genuine Twisted Metal 3.
Back to top
 
 
IP Logged
 
aybe
Certified Astronaut
***
Offline


No matter the consequences

Posts: 39
Re: TM 1+2 Modding thread
Reply #291 - 04/22/17 at 21:22:36
 
Okay, just started the real work with the docs,

I can already tell that,

  • DMD files are not TMD
  • DMD files are not PMD


(checked with real examples in the SDK)

That leaves HMD now (initial thought), but the fun really begins here, it's +100 pages of docs and juggling with overview and reference manuals ... and strong clues that it's a modified version of it because the version in TM files are newer than newest available docs on the web, Y2K (probably an internal Sony tool)  Angry Angry Angry

(TMD and PMD were barely a dozen pages both)

The problem now is understanding what is at the middle of these files, we know the header, we know the polygons, vertices and normals, but we need to grasp what are all these little structs that leads to model data.

I'm just going to do like I did with Wipeout: run all files on the parser and log errors, when there are less errors than previously, I write things down and proceed further ... that is going to take some time !
Back to top
 
 
IP Logged
 
Marltoro
Senior Member
****
Offline



Posts: 266
Ohio
Re: TM 1+2 Modding thread
Reply #292 - 04/23/17 at 17:07:55
 
There appears to be an issue where the transparency doesn't always work. I'm looking into it.
Back to top
 

Twisted Toolkit
https://drive.google.com/file/d/1Zi-vnTGotGM6lGGX11U7qlWuBk7ZgaeA/view

Source Code Repo
(The source code repo isn't working atm. I need to upload some missing files)
https://bitbucket.org/mrees240/toolkit

Currently working on the Map Editor
 
IP Logged
 
DefinitelyNotTrollTaco
Certified Astronaut
***
Offline


Glorious Icecream

Posts: 42
Depths of Hell
Gender: male
Re: TM 1+2 Modding thread
Reply #293 - 04/23/17 at 23:42:38
 
I've noticed it happens on Twister at low health specifically. Normal vehicle transp. is fine.
Back to top
 
 
IP Logged
 
DefinitelyNotTrollTaco
Certified Astronaut
***
Offline


Glorious Icecream

Posts: 42
Depths of Hell
Gender: male
Re: TM 1+2 Modding thread
Reply #294 - 04/25/17 at 07:45:52
 
Random Fun Fact: The toolkit also works with Jet Moto on PC (figures because both games run on the same engine but still)
Back to top
 
 
IP Logged
 
aybe
Certified Astronaut
***
Offline


No matter the consequences

Posts: 39
Re: TM 1+2 Modding thread
Reply #295 - 04/25/17 at 18:27:50
 
Thanks for pointing that out, that might help us understand DMD format better because all these games have plenty of them and smaller ones easier to deal with:

Animorphs - Shattered Reality
Critical Depth
Jet Moto 2
Jet Moto
Outwars
Rogue Trip - Vacation 2012
Streak Hoverboard Racing
Warhawk - The Red Mercury Missions

Wink

PS unfortunately Jet Moto and Outwars PC did not exhibit any friendliness when looked at in IDA, still, new material to look at is welcome !
Back to top
 
 
IP Logged
 
DefinitelyNotTrollTaco
Certified Astronaut
***
Offline


Glorious Icecream

Posts: 42
Depths of Hell
Gender: male
Re: TM 1+2 Modding thread
Reply #296 - 04/26/17 at 00:13:46
 
Sadly the track textures couldn't open due to being more than 8-bit. I wonder if someway, the games share similiar code. Like finding remnants of TM2 in Jet Moto's engine? They do share the same engine and i believe TM came out first so? I'll  do some more snooping around and let you guys know.
Back to top
 
 
IP Logged
 
aybe
Certified Astronaut
***
Offline


No matter the consequences

Posts: 39
Re: TM 1+2 Modding thread
Reply #297 - 04/26/17 at 22:11:13
 
Same libraries yes, same engine probably not. In Jet moto the loading sequence is clearly like TM, in Outwars nothing looks like these (weird actually) ... for the others I did not bother because since there's no PC version it'll be bare ASM.

For everyone to understand, we can get pseudo C code much easier to understand than ASM (though it's not what they wrote in first instance); but it's only available for 32-bit EXEs, whether DOS or Windows, with the latter allowing to debug/step through and therefore live-check what it's exactly doing. (but don't get misled, even though it's pseudo C code, it's still very hard to understand because of the various optimizations and inlining)

For those who hoped modding TM for PSX I have bad news, this is a close to impossible task and I'll explain it:

Graphics (TIM) in TPC files are precisely located in VRAM, that means that if you'd like for instance to change their size, one will have to:
- know and locate all graphics loaded by a level
- updated their VRAM location to fit newcomers (if there's enough space in VRAM)

Here's an example of PSX VRAM,

...

- the left part is not usable, it's the back and front buffers,
- the right part is where you can place your graphics, here it's not crowded though
- the weird colors are normal, it's a 16-bit view of 4/8-bit pics, they get converted by the PSX when drawn on screen with proper CLUT
- the very small blocks are palettes, currently this can be a problem if these have to be updated as well (depends of the game: if they did it the right way, palettes are in TIMs and copied to VRAM (a breeze))
- the upper right graphics (faces) when drawn will be twice larger (8 to 16 bpp width)

So theoretically it is possible but very hard if not impossible, in contrast simply updating graphics with a different content (i.e. keeping the same sizes) is relatively easier because you don't have to deal with relocating items (should work out of the box).

For the PC situation is a bit different, none of TIM files have their VRAM location set (all zero), i.e. it's not needed on this platform -> should be doable and easily but  must be tried for a definitive answer.

Other than I've started looking in details to DMD files, starting with the smallest ones in other games (e.g. a flag), progressively stepping to bigger ones on success. Also there is that RSD2HMD program which supposedly converts high-level text that RSD files are to HMD from Sony, hoping it's a 32bit program as said above to get few more clues. Lastly, I've found the source of 100s of HMD primitive drivers by Sony, hoping that TM guys did not roll out their own, we'd know their exact content since we have the real source code ! (more on the usefulness of this soon)

As far as I understand HMD, each model can bring out some extra properties but in a hierarchical manner, what explains the different possible paths before reaching model polygons. The key is to identify these and we'll be able to proceed even though we don't know all their exact meaning (I've shown previously that there is at some point 4 pointers in a chain, the 1st leading to polygons). But currently it's fuzzy because it's raw data to us...

Back to top
 
 
IP Logged
 
aybe
Certified Astronaut
***
Offline


No matter the consequences

Posts: 39
Re: TM 1+2 Modding thread
Reply #298 - 05/02/17 at 00:22:33
 
Hi !!!

Here's a quick update of what I've been onto and asking for some help  Smiley

(btw Marltoro did some great stuff in the meantime but I'll let him unveil his work)

Getting closer than ever to deciphering DMD format:

Here's the parsed content and I'll explain what is it and what we're trying to figure out,
  • collections are models in a file, here it's CARS.DMD, there are 13 but I didn't have enough space in this post
  • DMD0107 is a mesh-container, that is, contains models and coincidentally other mesh containers (don't worry about that)
  • DMD040B according to Marltoro contains the coordinates of a model (u still here ?)
  • DMD020X currently is unknown, but honestly does not really sound challenging to me because it's stable
  • DMDE457 is THE question, currently we're trying to understand these numbers, as you can see there seems to be some link between them (look before/after)
  • DMD00FF is THE stuff (models you're gonna see on screen)


Once we figure that, IMO it'll be a milestone because then we'd have a simple and easy to use DMD parser, there will be other hurdles but at this point surface has been scratched and it is much less intimidating.

So whatever idea/remark that might pop inside you is welcome, you don't have to be a code guru, actually advices from external persons is valuable because they're laid-back about the subject (I'm drowning in all this hex codes actually).


Thanks  Wink

Code:
Target: ..\.data\.psx\tm1ps\uadmd\cars.dmd

Collection 0:
 DMD0107
    DMD040B
       DMD0107
          DMD020X
             DMDE457, Unknown1: 22500, Unknown2: 0
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 22500, Unknown2: 0
                DMD00FF
             DMDE457, Unknown1: 90000, Unknown2: 22500
                DMD00FF
             DMDE457, Unknown1: 360000, Unknown2: 90000
                DMD00FF
             DMDE457, Unknown1: 3240000, Unknown2: 360000
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 360000, Unknown2: 0
                DMD0107
                   DMD00FF
          DMD020X
             DMDE457, Unknown1: 3240000, Unknown2: 0
                DMD0107
                   DMD00FF
                   DMD00FF

Collection 1:
 DMD0107
    DMD040B
       DMD0107
          DMD020X
             DMDE457, Unknown1: 62500, Unknown2: 0
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 15625, Unknown2: 0
                DMD00FF
             DMDE457, Unknown1: 62500, Unknown2: 15625
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 250000, Unknown2: 62500
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 2250000, Unknown2: 250000
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 250000, Unknown2: 0
                DMD0107
                   DMD00FF
          DMD020X
             DMDE457, Unknown1: 2250000, Unknown2: 0
                DMD0107
                   DMD00FF
                   DMD00FF

Collection 2:
 DMD0107
    DMD040B
       DMD0107
          DMD0107
             DMD020X
                DMDE457, Unknown1: 22500, Unknown2: 0
                   DMD00FF
                DMDE457, Unknown1: 122500, Unknown2: 22500
                   DMD00FF
                DMDE457, Unknown1: 490000, Unknown2: 122500
                   DMD00FF
                DMDE457, Unknown1: 4410000, Unknown2: 490000
                   DMD00FF
             DMD020X
                DMDE457, Unknown1: 122500, Unknown2: 0
                   DMD0107
                      DMD00FF
             DMD020X
                DMDE457, Unknown1: 4410000, Unknown2: 0
                   DMD0107
                      DMD00FF
                      DMD00FF
          DMD0107
             DMD0107
                DMD0107
                   DMD020X
                      DMDE457, Unknown1: 22500, Unknown2: 0
                         DMDE457, Unknown1: 2097929, Unknown2: 65537
                            DMD00FF
                      DMDE457, Unknown1: 90000, Unknown2: 22500
                         DMD00FF
             DMD040B
                DMD0107
                   DMD020X
                      DMDE457, Unknown1: 22500, Unknown2: 0
                         DMDE457, Unknown1: 2097929, Unknown2: 65537
                            DMD00FF
                      DMDE457, Unknown1: 90000, Unknown2: 22500
                         DMD00FF

Collection 3:
 DMD0107
    DMD040B
       DMD0107
          DMD0107
             DMD0107
                DMD050B
                   DMD0107
                      DMD020X
                         DMDE457, Unknown1: 22500, Unknown2: 0
                            DMD00FF
                         DMDE457, Unknown1: 5062500, Unknown2: 22500
                            DMD00FF
                DMD050B
                   DMD0107
                      DMD020X
                         DMDE457, Unknown1: 22500, Unknown2: 0
                            DMD00FF
                         DMDE457, Unknown1: 5062500, Unknown2: 22500
                            DMD00FF
                DMD050B
                   DMD0107
                      DMD020X
                         DMDE457, Unknown1: 22500, Unknown2: 0
                            DMD00FF
                         DMDE457, Unknown1: 5062500, Unknown2: 22500
                            DMD00FF
                DMD050B
                   DMD0107
                      DMD020X
                         DMDE457, Unknown1: 22500, Unknown2: 0
                            DMD00FF
                         DMDE457, Unknown1: 5062500, Unknown2: 22500
                            DMD00FF
          DMD0107
             DMD020X
                DMDE457, Unknown1: 22500, Unknown2: 0
                   DMD00FF
             DMD020X
                DMDE457, Unknown1: 140625, Unknown2: 22500
                   DMD00FF
             DMD020X
                DMDE457, Unknown1: 562500, Unknown2: 140625
                   DMD00FF
             DMD020X
                DMDE457, Unknown1: 5062500, Unknown2: 562500
                   DMD00FF
             DMD020X
                DMDE457, Unknown1: 562500, Unknown2: 0
                   DMD0107
                      DMD00FF
             DMD020X
                DMDE457, Unknown1: 5062500, Unknown2: 0
                   DMD0107
                      DMD00FF
                      DMD00FF

Collection 4:
 DMD0107
    DMD040B
       DMD0107
          DMD020X
             DMDE457, Unknown1: 62500, Unknown2: 0
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 250000, Unknown2: 62500
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 2250000, Unknown2: 250000
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 2250000, Unknown2: 0
                DMD0107
                   DMD00FF
          DMD020X
             DMDE457, Unknown1: 2250000, Unknown2: 0
                DMD0107
                   DMD00FF
                   DMD00FF

Collection 5:
 DMD0107
    DMD040B
       DMD0107
          DMD020X
             DMDE457, Unknown1: 62500, Unknown2: 0
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 250000, Unknown2: 62500
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 2250000, Unknown2: 250000
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 250000, Unknown2: 0
                DMD0107
                   DMD00FF
          DMD020X
             DMDE457, Unknown1: 2250000, Unknown2: 0
                DMD0107
                   DMD00FF
                   DMD00FF

Collection 6:
 DMD0107
    DMD040B
       DMD0107
          DMD020X
             DMDE457, Unknown1: 22500, Unknown2: 0
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 22500, Unknown2: 0
                DMD00FF
             DMDE457, Unknown1: 90000, Unknown2: 22500
                DMD00FF
             DMDE457, Unknown1: 360000, Unknown2: 90000
                DMD00FF
             DMDE457, Unknown1: 3240000, Unknown2: 360000
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 360000, Unknown2: 0
                DMD0107
                   DMD00FF
          DMD020X
             DMDE457, Unknown1: 3240000, Unknown2: 0
                DMD0107
                   DMD00FF
                   DMD00FF

Collection 7:
 DMD0107
    DMD040B
       DMD0107
          DMD020X
             DMDE457, Unknown1: 10000, Unknown2: 0
                DMD00FF
             DMDE457, Unknown1: 22500, Unknown2: 10000
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 62500, Unknown2: 22500
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 250000, Unknown2: 62500
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 2250000, Unknown2: 250000
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 250000, Unknown2: 0
                DMD0107
                   DMD00FF
          DMD020X
             DMDE457, Unknown1: 2250000, Unknown2: 0
                DMD0107
                   DMD0107
                   DMD00FF

Collection 8:
 DMD0107
    DMD040B
       DMD0107
          DMD020X
             DMDE457, Unknown1: 6400, Unknown2: 0
                DMD00FF
             DMDE457, Unknown1: 22500, Unknown2: 6400
                DMD00FF
             DMDE457, Unknown1: 62500, Unknown2: 22500
                DMD00FF
             DMDE457, Unknown1: 250000, Unknown2: 62500
                DMD00FF
             DMDE457, Unknown1: 2250000, Unknown2: 250000
                DMD00FF
          DMD020X
             DMDE457, Unknown1: 250000, Unknown2: 0
                DMD0107
                   DMD00FF
.. trimmed
 


      
PS to make it clear, what you're looking at it is a hierarchy, that means whenever a text is indented,
it is a child of the parent above
Back to top
 
 
IP Logged
 
aybe
Certified Astronaut
***
Offline


No matter the consequences

Posts: 39
Re: TM 1+2 Modding thread
Reply #299 - 05/02/17 at 22:18:51
 
Done !!!


All Twisted Metal 1 DMD can be read, nothing left out, remains to identify and name all this stuff then celebrate this !

Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy

This was my first objective, get a clear picture of what's in them (we already knew quite a few things actually), as you can see hierarchy is pretty big, while types are not so complex getting the bigger picture was the issue.

Expect some renderings soon  Wink

...
Back to top
 
 
IP Logged
 
Pages: 1 ... 18 19 20 21 22 ... 58
Send Topic Print