Need help. MDLC runtime error 203.

igacci

Charter Member
Hello everybody.

I have another problem with converting FS2004 mdl to CFS2 mdl

Since I started using GMAX, the mdl files must be converted from FS2004 to CFS2.
There is "Runrime error 203" occurs while I'm converting mdl files with mdlc.
The mdl file looses some of LOD model when error 203 when it happens.

Has anyone ever seen same problem?
If so, can it be solved?

Thank you in advance

Daisuke

Edit:

Self follow-up.
After some google-search, I found that the error 203 is "Heap over flow" error.
Sounds like "Your model is too large to handle within MS-DOS' memory limit".
I'm still looking for a solution for this. If anybody ever encounterd the same problem, plz let me know.
 
Hi Daisuke,
Yes had the problem all the time on big mdls! There is a line that can be added to the mdlc.ini file at the begining, if not already there:-

[MK_MDLC]
DosTimeout=5

You can increase this number, but I've never found it to work for me!. The conversion as you've found does work but leaves out LODs and VCs, which is a pain. What size mdl are you converting?

Also found that old Win98 OS pc's convert very well, possibly how they handle DOS?

Cheers Shessi
 
Daisuke

GMax can export CFS2 models IIRC, you need the FS2002 SDK and it's compiler, it contains a secret CFS2 switch in it to export straight to CFS2. There was a thread on this by Gnoopey, I think, that explained how to do this. This thread long lost since the server crash unfortunately.

Jamie
 
Thank you very much for your info.

Thank you for your info, friends.

Looks like this error is due to MS-DOS' memory limit.
As Shessi suggested, MDLC works fine when the mdl size is smaller than about 4MBytes.
I prepared 6 LOD models for smoother transition to "rougher" models.
(That is about 6MBytes without VC model)
Today's PCs are far more powerfull than they are at the time of CFS2's release.
I think it's OK to skip some medium-resolution LODs.
I tried FS2002 makemdl too but the specular shine was lost when compiled with CFS2-compatible mode.
It definitely needs specular since the plane is bare-metal finish.

Daisuke
 
Daisuke,
You would be able to add shine/reflective with an mdlc command switch or easy through mk_MDLC or hand editing through MDLmat.

You could compile through to the final mdl and then run it through one of the above.

Shessi
 
That's the one!

Daisuke,
You would be able to add shine/reflective with an mdlc command switch or easy through mk_MDLC or hand editing through MDLmat.

MDLmat! I completely forgot it!
That's the one!

Thank you for reminding me Shessi!
I'll get to work.:salute:

Daisuke.
 
Self follow up

So far, half success and half not success.

MDLmat works ok and I can make the metalic part shiny.
But as a side-effect, everything becomes reflective.
Now the pilot figure also becomes shiny!
This is due to that I can not distinguish metalic parts from non-metalic parts in MDLmat, since FS2002 compiler automatically "optimize" and make textured parts all white and non-metalic.

So, I made non-metalic part half-transparent.
This works OK and I could distinguish metalic part and non-metalic part in MDLmat.
But another side effect appears...

Since I made it half transparent, the compiler "optimize" the Z-order to look them OK.
Now, virtual cockpit part causes breed-through problem.

And also, oreo animation becomes strange.

Prety unfrotunate but there seems not a perfect solution.
Looks like I must make some compromise.

Daisuke
 
Hi Daisuke,
Just make an mdl with the same specularity and no transparent parts. Now load up this mdl into MDLmat. How I work out which bit is which is I change each line to an opaque red, save and re-load into CFS2 or Fs9, in the ac viewing screen you can then see which parts are red and so ID them. Go back to MDLmat and note down the LOD number. Then re-load with a unchanged mdl and just change the specularity on the part you have ID'd, et voila!!

PM me if you need a hand!

Cheers Shessi
 
Scasm is also a good tool for transitioning large FS mdls to CFS2. When you convert a CFS2 or FS mdl to a scasm file, scasm automatically creates a *.sca work file
two to three times larger than the original mdl. Then you recompile it to MDK -- FS2002 -- then finally to CFS2.

Using your original, virgin FS mdl -- before all the shine and reflective touch-ups mentioned above -- try these steps in command prompt window:

(1) MDLC /a x.mdl ---> MDL to SCASM

(2) MDLC /m x.sca ---> compile SCA to BGL

(3) MDLC /l x.bgl ---> link MDD with BGL to MDL

(4) MDLC /c x.mdk x.md2 ---> convert MDK to CFS2

(5) MDLC /t x.md2 ---> fix any exclusive FS animations to CFS2 compatibility


Hope this helps....
 
Try using a VM

Hi,
If you still have an old WIN98 or WINME boot disk around you can try creating a virtual machine on your PC and install WIN98 in it. Then try using MDLC in the VM and see if that works better.

I have been playing around with VirtualBox and it looks pretty good
www.virtualbox.org

Gavin
 
Hi Gavin,
That's interesting. Could you try MDLC in VB and let us know of the results?

I wonder if it changes how the memory is handled, so emulates Win98?

Cheers Shessi
 
Hi everybody.

Thank you very much indeed for your kind suggestions.

Now, I'm reviewing my work flow once again and making it clear waht is what.
I'll report when any good signs apears.

BTW, virtual machine and Win98 combo is interesting.
Actually, I use WinXP on VMWare to run MS-DOS prompt for MDLC.
(The host is Win7 64bit, on which I run CFS2, GMAX, Photoshop etc.)
I'll see if win98 better handles MDLC.

Also, manual SCASM decompilation/recompilation is pssible option.
There is another drawback of FS2002 sdk that the maximum LOD transition size is limited to 200dot.
That's 1/10 of my WUXGA screen. That means, the highest resolution model (around 40k poly) shows up untill it ges smaller than 1/10 of the screen! FS2004 SDK solves this problem a bit by increasing the number to 400dots, but basically the transition threshold is too late.
I'm thinking to fix this "too late transition" problem by manual editing of LOD branch in SCASM stream.

Well, I'm positive that there is always a work-around.

Daisuke
 
Back
Top