WineHQ
Category: Main Games Strategy Games Real-Time Strategy Total Annihilation Total Annihilation + Core Contingency + Battle Tactics + 3.1 Patch

Total Annihilation

Total Annihilation plus Core Contingency plus Battle Tactics pl 1.0-3.1c patch

Application Details:

Version: Total Annihilation + Core Contingency + Battle Tactics + 3.1 Patch
License: Retail
URL: http://en.wikipedia.org/wiki/T...
Votes: 2
Latest Rating: Platinum
Latest Wine Version Tested: 3.0.4

Maintainers: About Maintainership

Link Wikipedia page

Test Results

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

Everything EXCEPT runnig the game, while loading it gives me an error Out of memory! You may be out of space on hard drive (or something like this) :S

What does not

running game

Workarounds

What was not tested

multiplayer

Hardware tested

Graphics:

  • GPU:
  • Driver:

Additional Comments

MY WINE LOG: libGL warning: 3D driver claims to not support visual 0x4b fixme:system:SystemParametersInfoW Unimplemented action: 94 (SPI_GETMOUSETRAILS) fixme:system:SystemParametersInfoW Unimplemented action: 93 (SPI_SETMOUSETRAILS) libGL warning: 3D driver claims to not support visual 0x4b fixme:d3d:IWineD3DDeviceImpl_GetAvailableTextureMem (0x185d50) : stub, simulating 64MB fixme:ddraw:IDirectDrawImpl_SetCooperativeLevel (0x1853e8)->(0x10024,00000053) fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 32 to 8 fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x1d6994,0x1d6684,0x1d6970 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x1d6acc,0x1d6bbc,0x1d6aa8 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x1d737c,0x1d748c,0x1d7358 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x2036fc,0x1d7c24,0x2036d8 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x2133f4,0x1d7c9c,0x2133d0 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x21973c,0x21984c,0x219718 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x21c80c,0x21c91c,0x21c7e8 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x21e30c,0x21e41c,0x21e2e8 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x21f984,0x21fa94,0x21f960 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x21fb34,0x21fc44,0x21fb10 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x21fce4,0x21fdf4,0x21fcc0 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0x21fe94,0x21ffa4,0x21fe70 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xcbfe24,0xcbff34,0xcbfe00 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xcc178c,0xcc187c,0xcc1768 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xccd7cc,0xccd8dc,0xccd7a8 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xcd81ec,0xcd82dc,0xcd81c8 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xcd873c,0xcd884c,0xcd8718 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xcdda24,0xcddb14,0xcdda00 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xce93b4,0xce94c4,0xce9390 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xcfee44,0xcfef34,0xcfee20 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xcff924,0xcffa34,0xcff900 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd00b4c,0xcfeddc,0xd00b28 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd01ab4,0xd01bc4,0xd01a90 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd02aa4,0xd00adc,0xd02a80 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd03c8c,0xd03d9c,0xd03c68 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd06c24,0xd02a2c,0xd06c00 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd0b16c,0xd0b27c,0xd0b148 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd0cb0c,0xd06ba4,0xd0cae8 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd0de9c,0xd0dfac,0xd0de78 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd107d4,0xd0ca84,0xd107b0 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd12274,0xd12384,0xd12250 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd13de4,0xd10744,0xd13dc0 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd15b94,0xd15ca4,0xd15b70 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd173ac,0xd13d4c,0xd17388 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd1909c,0xd191ac,0xd19078 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd1ac1c,0xd1730c,0xd1abf8 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd1c12c,0xd1c23c,0xd1c108 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd1d724,0xd1ab74,0xd1d700 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd1ee4c,0xd1ef5c,0xd1ee28 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd21aec,0xd1d674,0xd21ac8 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f980,92,0,0xd26144,0xd26254,0xd26120 ): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x33f910,8000,0,0xd3075c,0xd3084c,0xd307 38): stub fixme:d3d_surface:IWineGDISurfaceImpl_Blt Can't handle DDBLT_WAIT flag right now. fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd45004,0xd45114,0xd44f e0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd4de84,0xd4df94,0xd4de 60): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd4f984,0xd3069c,0xd4f9 60): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd59a1c,0xd59b0c,0xd599 f8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd5aa74,0xd4f8bc,0xd5aa 50): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd663ac,0xd6649c,0xd663 88): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd7125c,0xd5a9a4,0xd712 38): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd77724,0xd77814,0xd777 00): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd8027c,0xd71184,0xd802 58): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd8e0c4,0xd8e1b4,0xd8e0 a0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xd9b0a4,0xd8019c,0xd9b0 80): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xda368c,0xd80214,0xda36 68): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdb0fdc,0xd9afbc,0xdb0f b8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdb2e24,0xd9b034,0xdb2e 00): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdb671c,0xdb0eec,0xdb66 f8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdb82e4,0xdb0f64,0xdb82 c0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdbbee4,0xdb6624,0xdbbe c0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdbf3ac,0xdb669c,0xdbf3 88): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdbf604,0xdbbdcc,0xdbf5 e0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdbf73c,0xdbbe44,0xdbf7 18): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdbf974,0xdbf4fc,0xdbf9 50): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdbfaac,0xdbf574,0xdbfa 88): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdbfcec,0xdbf864,0xdbfc c8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0xdbfe24,0xdbf8dc,0xdbfe 00): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x134b54c,0xdbfbd4,0x134 b528): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x1351554,0xdbfc4c,0x135 1530): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13632f4,0x134b42c,0x13 632d0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13778fc,0x134b4a4,0x13 778d8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x137a1a4,0xdbff34,0x137 a180): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x1384bac,0xdbffac,0x138 4b88): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x138d8ec,0x137a05c,0x13 8d8c8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x1390c04,0x137a0d4,0x13 90be0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x139e12c,0x138d77c,0x13 9e108): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13a8ef4,0x138d7f4,0x13 a8ed0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13ad6e4,0x138d86c,0x13 ad6c0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13b0cec,0x139dffc,0x13 b0cc8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13ad5ac,0x139e074,0x13 ad588): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13bfd94,0x13631b4,0x13 bfd70): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13b7044,0x136322c,0x13 b7020): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13d4f24,0x13d5014,0x13 d4f00): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13e10cc,0x13caaec,0x13 e10a8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13f54d4,0x13cab64,0x13 f54b0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x13e0f7c,0x13cabdc,0x13 e0f58): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x1415ef4,0x1416004,0x14 15ed0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x1401824,0x141bd74,0x14 01800): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x153a2b4,0x153a3a4,0x15 3a290): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x141bc54,0x141d074,0x14 1bc30): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x141e854,0x141e944,0x14 1e830): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x153b67c,0x153e45c,0x15 3b658): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x15458cc,0x15459dc,0x15 458a8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x141fed4,0x154be54,0x14 1feb0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x15560a4,0x15561b4,0x15 56080): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x154bd3c,0x1562a04,0x15 4bd18): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x156e734,0x156e844,0x15 6e710): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x15628e4,0x157549c,0x15 628c0): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x15801cc,0x15802dc,0x15 801a8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x1575374,0x158aaec,0x15 75350): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x158dd5c,0x158de6c,0x15 8dd38): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x158a9bc,0x158aacc,0x15 8a998): stub fixme:wave:DSD_CreateSecondaryBuffer (0x1d61a0,0x7d41a3e8,92,0,0x1597b7c,0x1597c8c,0x15 97b58): stub fixme:winmm:MMDRV_Exit Closing while ll-driver open fixme:ddraw:IDirectDrawImpl_SetCooperativeLevel (0x1853e8)->((nil),00000008) wine: Unhandled page fault on read access to 0x00000000 at address (nil) (thread 000a), starting debugger... Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000). Register dump: CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b EIP:00000000 ESP:7d8bba2c EBP:7b84f9f0 EFLAGS:00010216( - 00 -RIAP1) EAX:00000000 EBX:7b883c24 ECX:00000280 EDX:00000000 ESI:00000000 EDI:00000001 Stack dump: 0x7d8bba2c: 004c2600 7d8bba60 00007492 0000001a 0x7d8bba3c: 7d8bba6c 7b8842f6 7d8bba80 7bc79368 0x7d8bba4c: 00000000 b7d9bed6 7bc5f31a 7d8bba70 0x7d8bba5c: 00000000 ffffffff 7b8aa880 7b8aa880 0x7d8bba6c: 7d8bba8c 45fc0427 00028eea 7b8aa880 0x7d8bba7c: 0000001a 7d8bba90 7b84fa07 7b84f9f9 Backtrace: =>1 0x00000000 (0x7b84f9f0) 2 0xfc46cee8 (0x53e58955) 3 0x00000000 (0x00000000) 0x00000000: addb %al,0x0(%eax) Modules: Module Address Debug info Name (84 modules) PE 340000-358000 Deferred smackw32 PE 400000-52e000 Deferred totala ELF 7b800000-7b926000 Deferred kernel32 \-PE 7b820000-7b926000 \ kernel32 ELF 7bc00000-7bc94000 Deferred ntdll \-PE 7bc10000-7bc94000 \ ntdll ELF 7bf00000-7bf03000 Deferred ELF 7d676000-7d6f0000 Deferred libglu.so.1 ELF 7d6f0000-7d7ac000 Deferred wined3d \-PE 7d700000-7d7ac000 \ wined3d ELF 7d926000-7d958000 Deferred uxtheme \-PE 7d930000-7d958000 \ uxtheme ELF 7d958000-7d96d000 Deferred midimap \-PE 7d960000-7d96d000 \ midimap ELF 7d993000-7d9ab000 Deferred msacm32 \-PE 7d9a0000-7d9ab000 \ msacm32 ELF 7d9ab000-7da63000 Deferred libasound.so.2 ELF 7da63000-7da8e000 Deferred winealsa \-PE 7da70000-7da8e000 \ winealsa ELF 7da8e000-7daca000 Deferred wineoss \-PE 7daa0000-7daca000 \ wineoss ELF 7dacc000-7dad1000 Deferred libxfixes.so.3 ELF 7dad1000-7dada000 Deferred libxcursor.so.1 ELF 7dada000-7daf7000 Deferred imm32 \-PE 7dae0000-7daf7000 \ imm32 ELF 7daf7000-7db15000 Deferred ximcp.so.2 ELF 7db15000-7db17000 Deferred xlcutf8load.so.2 ELF 7db17000-7db1a000 Deferred libxrandr.so.2 ELF 7e20a000-7e422000 Deferred r300_dri.so ELF 7e422000-7e491000 Deferred libgl.so.1 ELF 7e491000-7e51e000 Deferred winex11 \-PE 7e4a0000-7e51e000 \ winex11 ELF 7e51e000-7e53c000 Deferred libexpat.so.1 ELF 7e53c000-7e56b000 Deferred libfontconfig.so.1 ELF 7e56b000-7e57f000 Deferred libz.so.1 ELF 7e57f000-7e5e9000 Deferred libfreetype.so.6 ELF 7e5e9000-7e6a5000 Deferred comctl32 \-PE 7e5f0000-7e6a5000 \ comctl32 ELF 7e6a5000-7e6fd000 Deferred shlwapi \-PE 7e6b0000-7e6fd000 \ shlwapi ELF 7e6fd000-7e7f1000 Deferred shell32 \-PE 7e710000-7e7f1000 \ shell32 ELF 7e7f1000-7e83a000 Deferred dsound \-PE 7e800000-7e83a000 \ dsound ELF 7e83a000-7e86d000 Deferred dplayx \-PE 7e840000-7e86d000 \ dplayx ELF 7e86d000-7e8fb000 Deferred winmm \-PE 7e880000-7e8fb000 \ winmm ELF 7e8fb000-7e90e000 Deferred libresolv.so.2 ELF 7e90e000-7e92c000 Deferred iphlpapi \-PE 7e920000-7e92c000 \ iphlpapi ELF 7e92c000-7e981000 Deferred rpcrt4 \-PE 7e940000-7e981000 \ rpcrt4 ELF 7e981000-7e98c000 Deferred libgcc_s.so.1 ELF 7e98d000-7e995000 Deferred libxrender.so.1 ELF 7e995000-7e998000 Deferred libxinerama.so.1 ELF 7e998000-7e99f000 Deferred libdrm.so.2 ELF 7ea7e000-7eb35000 Deferred gdi32 \-PE 7ea90000-7eb35000 \ gdi32 ELF 7eb35000-7ec6f000 Deferred user32 \-PE 7eb50000-7ec6f000 \ user32 ELF 7ec6f000-7ecb4000 Deferred advapi32 \-PE 7ec80000-7ecb4000 \ advapi32 ELF 7ecb4000-7ed4d000 Deferred ole32 \-PE 7ecc0000-7ed4d000 \ ole32 ELF 7ed4d000-7ed52000 Deferred libxdmcp.so.6 ELF 7ed52000-7ed55000 Deferred libxau.so.6 ELF 7ed55000-7ee1e000 Deferred libx11.so.6 ELF 7ee1e000-7ee2b000 Deferred libxext.so.6 ELF 7ee2b000-7ee43000 Deferred libice.so.6 ELF 7ee43000-7ee4c000 Deferred libsm.so.6 ELF 7ee4c000-7ee9c000 Deferred ddraw \-PE 7ee50000-7ee9c000 \ ddraw ELF 7efa6000-7efb1000 Deferred libnss_files.so.2 ELF 7efb1000-7efc7000 Deferred libnsl.so.1 ELF 7efc7000-7efed000 Deferred libm.so.6 ELF 7efed000-7eff7000 Deferred libnss_nis.so.2 ELF 7eff7000-7f000000 Deferred libnss_compat.so.2 ELF b7d12000-b7d17000 Deferred libxxf86vm.so.1 ELF b7d18000-b7d1c000 Deferred libdl.so.2 ELF b7d1c000-b7e50000 Deferred libc.so.6 ELF b7e50000-b7e63000 Deferred libpthread.so.0 ELF b7e76000-b7f87000 Deferred libwine.so.1 ELF b7f89000-b7fa4000 Deferred ld-linux.so.2 Threads: process tid prio (all id:s are in hex) 0000000b 0000000d 0 0000000c 0 00000008 (D) C:\Program Files\Cavedog\Total\TotalA.exe 00000012 15 00000011 0 0000000a 2

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
ShowLinux Mint 18.3 "Sylvia" x86_64Jan 04 20193.0.4Yes Yes NoPlatinumPatrick Rooney 
ShowArch Linux x86_64Apr 18 20151.7.41N/A Yes Silveran anonymous user 
ShowArch Linux x86_64Dec 18 20131.7.8Yes Yes GarbagegonX 
ShowMac OS X 10.6 "Snow Leopard"Dec 03 20121.5.16Yes Yes Silveran anonymous user 
ShowGentoo Linux x86_64Dec 29 20111.3.35Yes Yes Silveran anonymous user 

Known Bugs

Bug # Description Status Resolution Other apps affected
4066 Online Play Doesn't Work (DirectPlay) NEW View

Show all bugs

HowTo / Notes

HOWTO

Introduction

What works?

- missions

- skirmish

- multiplayer

- core contingency expansion

- battle tactics expansion

- runs fluidly

- sound

- music

It says in 'bugs' that multiplayer doesn't work?

DirectPlay is not implemented natively within wine, but it works using the native directplay dlls.  There is a section about multiplayer configuration below.

Installation and configuration

Wine version:

If you're not sure which version of wine to use, use 1.1.27, otherwise you could try using the version of wine that comes with your distribution, and then, if that doesn't seem to work, you could try 1.1.27.

Wine basic configuration

- In winecfg, set "windows version" to "Windows 95"

Installation:

Install TA original from cd

- run winefile

- in winefile, click on the drive icon corresponding to your cd, for example it could be "D:"

- in winefile, double-click SETUP.EXE

    - at the end you will likely get an error "cannot open readme.txt"

         - you can ignore this error    (fixed in wine 1.1.27)

Install Core Contingency

     - the bad news is that you can't install core contingency using setup.exe, because it will complain that TA isn't installed yet  (fixed in 1.1.27)

    - you can install via the installer SETUP.EXE on the cd, or by simply copying the .CXX files from the DATA directory of the Core Contingency cd into the directory where you installed TA original to

    - it is recommended to just copy the files across, otherwise the 1.0-3.1c patch may not install correctly

Install Battle Tactics

    - Just copy the .CXX files and .UFO files across as from the cd into the directory where you installed ta to, since this ensures that the 1.0-3.1c patch will install correctly.

Install 1.0-3.1c patch

- this should be installed last

     - it will ask you for the location for where you installed TA original, so give it the location and this will work fine  ( correctly detects location automatically in 1.1.27 )

Wine configuration for single player play:

You may find that TA runs out of the box, if so: good!

If wine/ta complains that it can't find an appropriate resolution - perhaps you are running on a 800x480 screen - then you could try the following, in winecfg:

- In the 'Applications', create a new application setting for TotalA.exe

    - this is important, because otherwise winecfg itself will run in the virtual desktop you're going to create, and it is not always easy to use winecfg in a virtual desktop

- select the "TotalA.exe" application setting

- switch to the 'graphics' tab and:

    - select 'Allow DirectX apps to stop mouse leaving the window'

    - unselect 'Allow the window manager to decorate windows'

    - unselect 'Allow the window manager to control windows'

    - select 'Emulate a virtual desktop', and try putting the resolution of your screen, which, strangely, seems to work great!

Wine configuration for multiplayer

Follow the instructions at http://wiki.winehq.org/DirectPlayGames (integrated into winetricks)

Note that the dll over-rides need to be global to your wine prefix, otherwise dplaysvr.exe will use the wine directplay dlls instead, which won't work. (integrated into winetricks)

You need to install the Microsoft DirectPlay dlls, which you can do by doing the following:

- download winetricks from svn at http://winezeug.googlecode.com/svn/trunk/winetricks

- run "sh winetricks directplay"

You can find more details about DirectPlay on this page http://wiki.winehq.org/DirectPlayGames

You might consider running ta from a new wine prefix, to avoid possible interactions with other wine configurations/programs.  See 'wine prefixes' section below.

Running:

Insert the appropriate ta cd, then simply run:

wine /the/directory/where/you/installed/ta/TotalA.exe

Issues

If the keyboard doesn't work

You may have scim installed or similar.  If this is the cause, you may get the keyboard working by typing in front of wine "XMODIFIERS=''":

XMODIFIERS='' wine /my/ta/directory/TotalA.exe

Sound

 These instructions were tested with the sound set to 'alsa' in winecfg, and with pulseaudio entirely uninstalled from the machine.  I'm not recommending you uninstall pulseaudio, but if the sound doesn't work for you, then you might consider doing this.

If game won't start at all

- the game probably won't run without the 1.0-3.1c patch applied

- if your screen won't run at 640x480, you could try creating a virtual desktop, see 'Wine configuration for single player play' above

- note that these instructions were tested on wine 1.1.26 and wine 1.1.27, so if the game still won't run you might consider installing wine 1.1.27.

- if the game still won't run, please add a comment and / or bug report, providing as much information as possible on hardware, operating system, packages installed, screen hardware, console trace, and so on.

Other configuration

Virtual cds

You can mount .iso images of the cd, for example on a netbook which doesn't have a cd player, but you won't get any music.

One might think that a .iso image is an image of an entire cd, but actually, a .iso image of a TA cd is just an image of the data track of the cd.  The music is stored in the subsequent audio tracks.  The original TA cds are mixed-mode cds.

To get sound using a virtual cd, it is not sufficient to create and mount a .iso image: you need to get an image of the entire cd, for example, by creating a cue/bin image.

Once you have a cue/bin image, you can load it as a virtual cd from within linux using cdemu.  If you're not sure which version of cdemu to use, or if the one packaged with your distribution doesn't seem to work correctly, you might consider getting the 1.2.0/1.2.1 version - you may need to build from source - which works just fine.

You don't need to "mount" the virtual cd using "mount": it is enough to "cdemu load" the cd, and wine should automatically see the virtual cd.  You can check that the audio tracks are visible by opening RhythmBox or similar.  The first track should be about 28 minutes or so: it is the data track that contains TA itself.

If you're not sure whether to use --bus=system or --bus=session , --bus=session seems to work just fine.

Wine prefixes

You might consider creating a new wine prefix to keep everything neat.  By using a new prefix, you can keep your ta wine configuration separate from your other wine program configurations.  You don't have to; things will most likely work without doing this, but they might break more easily, or something might not work and you're not sure why.

To use a wine prefix, simply, whenever using wine or winecfg, instead of typing just "wine" or "winecfg", type:

WINEPREFIX=/home/user/wineta wine

WINEPREFIX=/home/user/wineta winecfg

This will create a new wine configuration directory at /home/user/wineta

You can delete the directory /home/user/wineta/drive_c/windows/gecko , if it exists, which takes up 30M of space, and is not needed.

FAQ

How well does it run?

It runs great!  Very fluid, even on an ancient netbook with a 600megahertz Celeron.

Comments

Back