Jump to content
COMBATSIM Forum
Krycztij

TAW 3View — A Renderer for TAW's .3 Files

Recommended Posts

Ah, while you can tag nodes with height data in OSM2World, it can't handle terrain.

So, using yet another tool called Maperitive to combine OSM data with SRTM elevation data. The output is in COLLADA format, but AC3D coverts it to VRML quite well.

asm_map.png.9003148fb854a5fbecff71fbb1ca6666.png

 

It's not too difficult (conceptually at least) to combine the output of the two programs into a single VRML file, but that would require a consistent coordinate system. ie a tiling structure that we can use WGS-84 to define a tile, but end up with a 2D grid, so I have to incorporate a projection system somehow.

Share this post


Link to post
Share on other sites
On 1/22/2018 at 10:34 PM, mikew said:

It's suggested to run ReactOS in a VM, but what's the point of that? I might as well just run Windows 2000 in the VM. 

Well, as it's been too hot to do much of anything significant on the PC this summer, I thought I'd give it a go.

The main object was to simply run the ADF installer in support of DKD's investigation, but ReactOS can't yet handle 16-bit programs.

 

TFXplorer looks like it might have worked if I could somehow get VirtualBox to present a D3D interface to the VM...

tfxp_reactos.png.cf647ebbbc02f0bafe5247a2e13125d9.png

Share this post


Link to post
Share on other sites

What a pity. Looks like we should start writing our own operating system. (What UAW almost has become due to the UI APIs ;) ) Thanks a lot for testing. Next time my system breaks down, I’ll install ReactOS and check what its D3D can and can not do.

 

(BTW, the "ERROR: Joystick input broken" message doesn’t look promising either. Probably no more RawInput support than Wine …)

 

(And why do I need to enable Audio devices in my browser in order to write an answer here? Is The Dude trying to make Combatsim Radio? :D )

Share this post


Link to post
Share on other sites

ReactOS is incredibly fragile and reminds me of Linux about 15 years ago. The slightest thing can lead to the OS needing to be reinstalled. At least with a VM I can just go back to a good snapshot.

I can get a bit further by enabling 3D in VirtualBox, This causes TFXplorer to complain about the lack of the DirectX June 2010 runtime. If I install that, TFXplorer sees some of it but not XAudio 2.7, then it eventually crashes (although I don't think from the lack of XAudio)

The ReactOS DXDiag doesn't work for the D3D tests either, and the ReactOS forums lead me to believe that it can't work right now.

 

While Linux is now very stable and seems to have drivers for everything out of the box, it's much bigger these days and has taken a lot of effort to get there.

I just can't see ReactOS getting anywhere near that at their current trajectory. It might make a great base for a TFXplorer specific OS though. :D

Share this post


Link to post
Share on other sites

It appears like file hosters deleted my 3View uploads (again) and image hosters deleted the screenshots (again) and one of the forum upgrades messed up some of my posts (again) … so I decided to host a dedicated website for 3View:

 

http://krishty.com/taw/3view_en

 

All my screenshots are uploaded and explained there, so you can scroll through the gallery for some TAW modding nostalgia.

Share this post


Link to post
Share on other sites

Well, that's a treasure trove of information. Not only TAW. but Ace Combat, Driver (whatever that is) and STALKER as well. :thumbsup:

 

I just downloaded 3View to this Linux PC and it works fine with the Wine defaults. :)

Share this post


Link to post
Share on other sites
1 hour ago, Krycztij said:

 

 

All my screenshots are uploaded and explained there, so you can scroll through the gallery for some TAW modding nostalgia.

 

It is much more than Nastalgia. I already see concepts that I can explore immediately. A classic example is the unused cockpit image. I am now working on the vrcpt vs tcpt and am focused on the 0083 / 0084 implementation. That gives me a good insight into where to concentrate my efforts.  Thanks! ☺️

Share this post


Link to post
Share on other sites

I've downloaded 3view from the link in your first post onto a up-to-date Win10 Home PC. After download the file disappeared without any warning, and it took some effort to find out that it was being quarantined with the following reason:

Trojan:Win32/Fuery.B!cl

 

I did a manual scan on another version I happened to have on a memory stick using the same Win10 PC, but no threat found.

Share this post


Link to post
Share on other sites

It's just Windows Defender that's built into Win10.

If I 'Restore' the file and scan manually, then it's OK.

If I redownload and scan manually in the few seconds before it gets removed then I get the trojan detection.

Probably something screwed up with this machine, but it's weird.

Share this post


Link to post
Share on other sites

Yeah, odd …

 

Do you remember the difference between EF2000’s lev and 4ev levels? I forgot and now I see there’s two versions of Norway and NW-Norway … which one is used in the final game?

Share this post


Link to post
Share on other sites

I think so, as I was only looking at this stuff yesterday. :)

TFX1 used a 200x200 grid and used a .lev/.le2 combination for each level.

It looks like there was some intermediate development phase where they were using a 200x200 grid for parts of TFX2, eg nwnorway.lev/.le2 together with the hidden worlds, Korea etc.

For TFX2's EF2000, they used the 400x400 grid norway.4ev/.4e2

Share this post


Link to post
Share on other sites

Not 3View, but a Lean Viewer question...

 

How does Lean Viewer decide how big its Window should be when it opens?

On Win10, it opens at a useful size, but at the same size each time. ie it doesn't remember any resizing from the last session.

 

On Linux (GTK based Desktop with Wine), it always opens as a small box about 100x20 pixels in the top left hand corner.

I then have to either maximize the window or manually resize it so I can see anything useful.

Obviously not a huge problem, but an extra step I need to do just to see if my model has loaded correctly.

Share this post


Link to post
Share on other sites

Lean Viewer passes CW_USEDEFAULT as window position and size. This means:

 

Quote

If x is set to CW_USEDEFAULT, the system selects the default position for the window's upper-left corner and ignores the y parameter.

 

Quote

If nWidth is CW_USEDEFAULT, the system selects a default width and height for the window

 

Windows 10 selects reasonable defaults (and so do all other Windows versions I know), but it seems like Wine doesn’t. In fact, 100×20 pixels is a very questionable default :D

I got a few requests to remember the window position, I just didn’t get to implement them yet.

Share this post


Link to post
Share on other sites

Thanks for the detailed answer. :thumbsup:

Wine is probably maintaining compatibility for people still using CGA where that would seem quite big. :)

It may be that approx.100x20 is the minimum size that can display the minimize, maximize and close buttons, which is about all I see.

 

Anyway, Lean Viewer is the only program I've tried that behaves likes this, hence the question.

 

 

 

Share this post


Link to post
Share on other sites
2 hours ago, mikew said:

It may be that approx.100x20 is the minimum size that can display the minimize, maximize and close buttons, which is about all I see.

 

Anyway, Lean Viewer is the only program I've tried that behaves likes this, hence the question.

 

Yes, that’s also the size Windows uses if you pass a negative/zero value for size. Hence I’m pretty convinced I’m hitting something that is just not implemented in Wine yet.

 

FYI, TFXplorer (the version with the new UI) uses the same code for the main window, so it should start up in 100×20 as well in its minimal size as well, which would be something like 900×600 …

Share this post


Link to post
Share on other sites

Ah yes, that's now 2 programs that show this effect. Here's TFXplorer at the top left corner of my screen...with its companion console for scale.

tfxp_corner.png.f5381c1f21115ab924e690aa9c440d58.png

Share this post


Link to post
Share on other sites
25 minutes ago, mikew said:

Ah yes, that's now 2 programs that show this effect. Here's TFXplorer at the top left corner of my screen...with its companion console for scale.

tfxp_corner.png.f5381c1f21115ab924e690aa9c440d58.png

 

Wow, that’s even worse. Windows asks the applications whether the suggested size is okay via sending a WM_GETMINMAXINFO message, and to 100×20 both TFXplorer and 3View respond „No way. Too small. Use 800×600 instead!“

But Wine seems to totally skip that and just display the nonsense default size it chose. This can lead to unexpected behavior like crashes (Direct3D doesn’t like display areas of 0×0 pixels a lot), so I’ll have to have a second look at the matter.

Share this post


Link to post
Share on other sites

Okay, so CW_USEDEFAULT is only valid for windows, not for dialog windows. It’s just a happy little accident that Windows includes code to convert CW_USEDEFAULT to valid dialog window coordinates, and it seems to be used so rarely that Wine/ReactOS never noticed. Edit: See below.

 

The Right® solution is creating an invisible window with CW_USEDEFAULT, recording its placement, and then applying this to the dialog. I wouldn’t believe it if it didn’t come from Raymond Chen himself. Changes 64 bits of data to 200 B of code, but well.

 

I’ll fix this when adding a general facility to record the window position. (Hard to believe that Windows, after applications implementing this badly for 40 years, still doesn’t provide that.)

 

I’ll also file bugs at Wine/ReactOS because after all, applications should start there just like they do on Windows.

 

Edit: No, Wine should totally handle this. In fact, it has been implemented in this commit in 1996: https://source.winehq.org/git/wine.git/blobdiff/2ace16ac08cf22baaab391d578195b91a993b2a2..1285c2f9e9c029427fd7cce5dbfa3372daf01394:/windows/dialog.c

 

I’ll fix it anyway, but I think there is also something broken in Wine that once before worked.

Share this post


Link to post
Share on other sites

Sorry to put you to so much trouble! I can just keep resizing the window myself. :lol:

 

I suppose it may not be Wine's fault directly, but the stack that Wine runs on.

Since I don't like the default Gnome3 on Fedora, I'm using the Cinnamon desktop which may have some negative consequences.

I could try Ubuntu in a VM, but not today.

 

EDIT: ..and the behaviour is the same with Ubuntu 19.10 (Wine 4.0.2)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...