Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by Krycztij

  1. Back to TFX1

    Sorry for your loss! TFXplorer does put a lot of pressure on the GPU driver (not on the GPU itself, though). I know because I’m looking at this code right now – and wondering, how will I ever get this code hidden behind a proper, Vulkan-compatible interface?! The 3 shape renderer really is one of the ugliest problems I ever had to solve. But anyway, that’s some good work you’ve done on the randomization. I bet you’ll get it right eventually!
  2. Thursday

    Having a good and fair employer is invaluable. I’m so glad for both of you and I wish her the best in her new job!
  3. Sunday

    Wow, so your NASCAR has become just as awful as europe’s Formula One? That’s sad, I used to enjoy it in the 90’s … thank you for the explanation!
  4. TFXplorer

    Announcing TFXplorer Discover the worlds of TAW, ADF, and EF2000 — without the limitations of the actual games! More screenshots here and here. System Requirements: Requires Air Dominance Fighter, Total Air War, Total Air War 2.0, or Super EF2000 installed. I personally tested it on Windows 7 only, but it should work on Windows XP, Vista, and 10 as well. You need a Direct3D 9-compatible graphics card (ATI Radeon 9500 / Nvidia GeForce MX or higher — basically any decent GPU you bought after 2003). Download: https://app.box.com/s/1f8sw293hh7h8f12qfx8abhwbf2qiu4h (updated September 9th, 2017) Setup: If you have already installed an older version of TFXplorer, or if you use 3View, you can skip the following step: If you have not already installed the DirectX End-User Runtimes (June 2010), get them here. Otherwise, TFXplorer will not start due to D3DX9_43.DLL and other files missing. If you have Total Air War 2.0 installed, copy TFXplorer x86 and the UAW folder to the Total Air War 2.0 folder. If you have ADF, TAW or Super EF2000 installed, copy them to ADF/TAW/EF2000’s PROGRAM folder. Double-click TFXplorer x86. The splash screen should appear. Usage: In-Game: Plane controls are just like TAW's. SHIFT+Q quits the game or switches to explorer mode. You can switch to explorer mode via SHIFT+Q; X: Press the left mouse button to move forward. SHIFT+S cycles the time of day. N toggles night vision at night. F1 toggles wireframe rendering. F2 takes a screenshot and saves it as a bitmap with a reconnaissance-like look. F3 switches from Glide to Direct3D and vice versa (only important for developers). F4 toggles target names. F5 brings you back to in-game mode. Repeatedly press S to increase viewing range, or X to decrease. NUMPAD 6, 2, 4, and 8 glide north, south, west, and east. NUMPAD 5 and CTRL+NUMPAD 5 glide up/down. 64-bit Version (it's faster!): Requires Windows Vista or later. Download: https://app.box.com/s/6lvmsbpyfi6swwz7awifd9ds712lgyom (updated September 9th, 2017) Have fun! Please let me know here of any problems, bugs, and suggestions — Pjotr
  5. F-22 Total Air War 2.30 (Final) Released

    I noticed, if you hit enemy planes during taxi without destroying them, they will taxi straight on. That’s funny on Barim Island, because the damaged enemies will eventually roll over the ocean.
  6. TFXplorer

    Please try this one: https://app.box.com/s/f01wzmko8q6lymp18ecshpcd1avhunrz Don’t be confused that the plane explodes. It normally spawns the KC-135, and the engine still needs to figure out that the F-22 wheels are shorter, so it spawns too high above the ground.
  7. TFXplorer

    You’re right … some changes worked in the 64-bit version, but screwed up the 64-bit version and I didn’t test that … sorry! Working on a fix …
  8. TFXplorer

    Oh, didn’t I release that yet? Sorry! Grab a newer version, e.g. https://app.box.com/s/exzvq9qwptgqdlz5bwewicj6qwz8267o If in full-screen mode, move the mouse to the top edge or press ALT or F10 to bring up the menu. (The 3View version there still has the star problems, so don’t use it!)
  9. TFXplorer

    I’m always having that in mind during development. You can open the menu -> View -> Debug -> Tile State and you have a very rough overview of all objects in the scenario (of all tiles having objects on them, actually). Replacing it with an interactive 3D view can be done with moderate time, but first I need to split level description from rendering (i.e. after VRML). We just need to find a good way of expressing SmartView in UI – using F-keys to filter units, without any mouse or joystick support, is very 1994 (but in a bad way). The AWACS overview, in 3D with infinite mouse wheel zoom, would be a great start, I guess.
  10. TFXplorer

    I see no alternative to using square-ish shapes. However, there is no projection of the Earth to square-ish shapes without singularities, and that’s a huge problem. I was thinking about each player using their own square-based coordinate space. So instead of mapping the entire Earth to squares, we just need to map the visible cap below the player (up to the horizon) to squares, which can be done without too much distortion. Whenever a player leaves a square and enters the next one, its squares are re-normalized to match the new cap. There are two problems, though: Terrain data must still be available for any point on Earth, and must therefore use a different system. When the player enters a different square, causing a re-normalization of the coordinate space, the entire visible world must be re-projected into the new coordinate space, with new square-ish borders. This is huge and very costly. If two players meet over network, their coordinate spaces must be synchronized. (Remember Tourmal’s Unity project?) Worst case is 100 F-22’s, each 400 km apart – Earth’s circumference covered by F-22 radars. This means the entire sphere must be mapped and we’re back where we started. Then there’s the possibility to prevent players from reaching the poles. But distortions start way earlier, TFX 2 takes place high up in the North, and have you seen how many real flight routes cross the polar region (caution, Crackpot site)? There are just two things I know for sure: No matter how we solve it, the world coordinate system must be decoupled from vehicle code – and fortunately, that’s almost finished. I need to read more about the coordinate systems in big simulators like X-plane and FSX. Maybe this will enlighten us …
  11. TFXplorer

    Perfect detective work; amazing Looking at the terrain API, every little TFXplorer feature becomes a major refactoring adventure: TFXplorer’s moving map is implemented in the F-22 and uses terrain data directly. It should rather be a function of the terrain engine, because every level should bring its own overview maps. In order to correctly draw the map to MFDs, you need to define rotation/translation. There are no 2D vector/matrix structures in the API yet. So right now I find myself defining a new handle type, ten functions, and the memory layout of 3×2 matrices … because … terrain A different example is coordinates. In the long term, I want to replace 2D terrain coordinates with something spherical. (We may even want TFX terrains to be flat like we’re used to them, while fancy new terrain is mapped to an Earth sphere.) So planes shouldn’t have direct access to global coordinates. They should rather only use local coordinates. Engine Sounds & Co. use, of course, global coordinates everywhere. (And there are other issues, too. They were introduced even before DKD’s XL terrain …) So I find myself reworking the SFX API … because … terrain. Talking about local plane coordinates … I guess I finally need to change that coordinate space soon … … and all the issues are rooted in terrain data using different tile sizes than TFX’s strange “4096 · 8 ft” squares. tl;dr: Please don’t expect VRML too soon
  12. Our Schnauzer, Tehya

    Poor Tehya. I’m so sorry to hear that. My thoughts are with you.
  13. TFXplorer

    I disagree. Apart from the colors, there are only two differences: no sun the “untidy” triangles, which could well be terrain shades so I assume one shape index is wrong, and on your machine it resolves to “sun” while it resolves to “terrain” here. I suggest: look up all shape indices in your file like your code parses them check if the terrain is listed – if so, my version is working and I give it to you if it isn’t listed, tell me whether it’s the first or the last shape index that I screwed up and I’ll check (your parsed code is a great help here; thank you!) I see … so this is an actual case of “in TFX 1 it means degrees of freedom, in TFX 3 it means rotation”. That’s a pity. I’ll put it on my to-do list for a later time. (Do you believe, exactly the same instruction exists in VRML and is on my to-do list for Lean Viewer? ) I’m trying to add a level API for you. It’s mostly about tearing apart very messy 6 years old code and trying to rename that god-like class that is referenced by hundres of others
  14. TFXplorer

    I see – I was wrong removing the 000b from the condition; sorry. Please go back to the line I asked you to change to if(0x0003 == type || 0x0013 == type) { and change it back to if(0x0003 == type || 0x000b == type || 0x0013 == type) { // TODO: what does 000B mean? (TFX2 lost worlds, e.g. FACT.SSD) FACT.SSD loads fine for me now. I’m absolutely sure they’re meant to be billboards, and they used yaw/pitch/roll not for rotation but for degrees of freedom. Maybe we understood that opcode wrong before. Is 0049 a common opcode in TFX2/TFX3? Do we have expressive sample files from TFX2/3 to compare them to?
  15. TFXplorer

    Rebuilding the whole project is actually encouraged, because Visual Studio sometimes chokes on incremental building The crash means that the supershape does not contain a single shape, i.e. none of its shapes could be loaded. Can you hint me to one of its shapes that should load, but don’t?
  16. TFXplorer

    Very pretty! Please tell me the opcode. You can open the .3 file in 3View, then hit one of the F keys (F12?) to dump the execution path to the console.
  17. TFXplorer

    Please understand that I have worked just a bare minimum with TFX 2, so I don’t fully understand its rules either Did you try my fix above? I’d like to give you a compiled version for testing, but I’m having difficulties doing so because I’m amidst major code restructuring … Yes, that’s exactly what the fix above should do. At least the last index I can explain: My code falsely assumed the 000b line was part of block 6. It read six bytes too early, and therefore skipped the last six bytes (i.e. the last index) to exactly match block 6 size. I don’t know either; the SSD code is a spaghetti hell That’s a 95%-for-5% problem again, so just keep throwing TFX 1 problems at me. I’ll fix the low hanging fruits as I can (improving overall TFX 1 compatibility) and if we find something that cannot be handled at all, we can still fall back to TFX 3 formats.
  18. TFXplorer

    Haha, Mike, I’m very sorry for the confusion. If you open TFX Supershape.cpp, and search for ErrorOrNull loadBlock6( around line 500, you will quickly see: if(0x0003 == type || 0x000b == type || 0x0013 == type) { // TODO: what does 000B mean? (TFX2 lost worlds, e.g. FACT.SSD) I didn’t know what it means and just assumed it was <block 5 index> <shape index>. Same for 0003, which you use. So it clearly is my fault Please suggest how exactly the file should be handled, especially 0003 and 000b … Edit: There are two problems here. my code mis-calculates the beginning of block 6 by -6 bytes, and reads the 000b marker as index 0002 for the first shape. my block 6 in fact.ssd looks different from the one you posted above. Edit: Mike, change the above line to if(0x0003 == type || 0x0013 == type) { (i.e. remove the 0x000b check), then search for if(0x007A == marker) { … } and change it to if(0x007A == marker) { … } else if(0x000b == marker) { if(6 > sizeOf(remainingBytes)) { return "legacy block 5 too short"; } remainingBytes.toBeginning += 6; // skip 000B 0000 0002 } This fixes HEAVENLY popping up and it also fixes the missing last shape. Please let me know if this fix works or if it screws something up. (I must test it before release, and I guess due to your work with TFX 2 you’re better at this than I am. Also, I’m working on other issues right now.)
  19. TFXplorer

    Interesting. I have hard-coded explosion animations and craters, but these shouldn’t normally appear in levels. Heavenly.3 is at index 2. 2 is a common value; could be uninitialized data. Can you reproduce it by opening the according supershape in 3View?
  20. TFXplorer

    I remember seeing this in the TFX 1 levels as well. It might still be a problem with TFXplorer, so keep me tuned …
  21. TFXplorer

    Your diagnosis is correct From a quick search, it doesn’t seem that heavenly.3 is hard-coded in TFXplorer, so it seems to be sneaking in some way else. I removed all occurances of it when I replaced TAW’s stars with my own stars, but the code is such a mess that errors on my side are likely. Do you see them as well if you open the SSD in 3View?
  22. AVG thinks NVG Tool is a virus

    if AVG in its warning has a button to send the file to their labs for further inspection, please click that make sure the file really is clean by uploading it to https://www.virustotal.com/#/home/upload (if less than 15 scanners detect the file, it’s clean) submit a false positive report on https://secure.avg.com/submit-sample if you do that, they will fix the detection with an upcoming update (normally takes about two weeks) I recommend not using any anti virus software. It’s mostly guessing what software could be harmful, and that’s not worth the trouble.
  23. F-22 Total Air War 2.30 (Final) Released

    It’s not as OOP as you might think. In TAW’s predecessor, they’re encoded with the weapon’s animations in a data file. So you need not only source code for the game, but also for the entire toolchain to change it in a “not that hard” way. Okay; back to the source code. DID is bankrupt and its rights were transferred. You probably have to contact Infogrames. But we are 99 % sure they don’t have the source code either and you should keep trying to license DCS/X-Plane.
  24. F-22 Total Air War 2.30 (Final) Released

    That’s interesting: From my understanding, TAW 2.0 does not properly model thrust vectoring, engine RPM and thrust, and the fuel consumption is a pure guess.