Application Details:
Version: | The Titans: 1.03 |
License: | Retail |
URL: | http://www.microsoft.com/games... |
Votes: | 3 |
Latest Rating: | Silver |
Latest Wine Version Tested: | 7.0 |
Maintainers: About Maintainership
No maintainers. Volunteer today!
What works
You need mfc42.dll in your System32 directory and you need AOM Gold
NoCD patch 1.03 English (aomx.exe) to be able to play this game. I was
using the latest version of wine as of Nov 28, 2008: 1.1.9. I'm also
using Ubuntu 8.10 Intrepid.Also use OSS sound, becaue ALSA sound is very choppy in the game.
- installing
- random maps
- campaign mode
- map editor
- sounds - use OSS
- everything except multiplayer
What does not
- multiplayer due to NoCD patch
- windowed mode
As well as the following bugs/problems:
A plethora of problems related to crashes and drawing in the game Age of Mythology Gold. A few of these problems didn't exist in earlier versions of wine. I haven't filed any of these as bug reports but wanted to put what I did find here so I wouldn't lose it.
[quote]
#1 richedit text does not appear in EULA with Age Of Mythology Gold right after installation:
$ wine aomx.exe
err:ole:CoGetClassObject class {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} not registered
err:ole:CoGetClassObject no class object {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} could be created for context 0x1
err:richedit:ReadStyleSheet ReadStyleSheet: skipping sounoptional destination
err:richedit:ReadStyleSheet ReadStyleSheet: skipping optional destination
err:richedit:ReadStyleSheet ReadStyleSheet: skipping optional destination
err:richedit:ReadStyleSheet ReadStyleSheet: skipping optional destination
err:ole:CoGetClassObject class {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} not registered
err:ole:CoGetClassObject no class object {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} could be created for context 0x1
err:ole:CoGetClassObject class {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} not registered
err:ole:CoGetClassObject no class object {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} could be created for context 0x1
#2 Clicking on a window to bring it over the EULA will generate the following:
err:ole:CoGetClassObject class {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} not registered
err:ole:CoGetClassObject no class object {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} could be created for context 0x1
#3 Sound works fine during Microsoft Games intro and prior intro, but the AOM Gold Intro movie directly before the AOM Menu and all the sounds after it are very choppy when using ALSA. OSS was much better but every now and then during cinematic scenarios, at the end of each person's dialogue it would glitch slightly.
#4 Using Alt + Tab to minimize or bring up a window on top of AOM Gold will generate:
err:ole:CoGetClassObject class {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} not registered
err:ole:CoGetClassObject no class object {ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e} could be created for context 0x1
#5 Cannot play in Window mode:
I selected Play in Window in the settings. Hit OK and it was still in full screen. Went back to the settings and changed the resolution to the smallest one. Again, it was in full screen mode.
#6 Gradient missing:
AOM does show visited and unvisited areas properly but there is not any gradient texture from visited to unvisited like under Windows.
#7 Related to gradient:
New uncovered land isn't smooth, it goes by block. If one block on the grid has been touched with the smallest amount of the line of sight of an ally or yourself it will uncover the entire block rather than just the area where the line of sight touched. Objects, however, will only appear when the line of sight touches them, working as they should.
#8 Right clicking on trees does not make the tree object glow and unglow. If a citizen is selected and you would like it to chop trees, right clicking on the trees will not make the tree object glow and unglow as it should.
#9 Right clicking multiples times on trees shows Kronos (or all?) citizens show the first frame of their not-doing-anything-animation and then perform the correct chopping-trees-animation.
#10 Right clicking on objects like gold mines/trees when using your citizen will not show the blue marker. Shows blue marker when using Town Center to kill underdeveloped walls and other things and shows blue marker when moving people.
#11 AOM crashes on close and brings up a prompt to either show the debug log or close. This is the output if clicking on the debug log.
fixme:d3d:WineD3D_ChoosePixelFormat Add OpenGL context recreation support to SetDepthStencilSurface
err:wgl:internal_SetPixelFormat Invalid operation on root_window
err:d3d:CreateContext SetPixelFormat failed on HDC=0x374 for iPixelFormat=8
fixme:d3d:IWineD3DDeviceImpl_EvictManagedResources (0x147bb0) : stub
fixme:imm:ImmDisableIME (-1): stub
fixme:advapi:RegisterEventSourceW ((null),L"Age of Mythology"): stub
fixme:advapi:ReportEventA (0xcafe4242,0x0001,0x0000,0x000003e8,(nil),0x0005,0x0000004b,0x7e2707fc,0x7e2703b4): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x000003e8,(nil),0x0005,0x0000004b,0x1391c8,0x7e2703b4): stub
err:eventlog:ReportEventW L"aomx.exe"
err:eventlog:ReportEventW L"4.2004.1.500"
err:eventlog:ReportEventW L""
err:eventlog:ReportEventW L"0.0.0.0"
err:eventlog:ReportEventW L"00000000"
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
Opening the debug log crashes AOM again and this is the output when hitting close or OK.
wine: Unhandled page fault on read access to 0x0000115c at address 0x7d3b5f4c (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x0000115c in 32-bit code (0x7d3b5f4c).
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
EIP:7d3b5f4c ESP:0032fbd0 EBP:0032fbf8 EFLAGS:00210246( - 00 -RIZP1)
EAX:00000000 EBX:7d49eff4 ECX:00000000 EDX:00000000
ESI:00000001 EDI:00000001
Stack dump:
0x0032fbd0: 00000000 00110000 00000002 7bc34981
0x0032fbe0: b805bff4 7e04f790 7d3b5f2b 7d49eff4
0x0032fbf0: 00000001 00000001 0032fc48 7d45c79e
0x0032fc00: 00147bb0 00000000 0015b538 7d45939f
0x0032fc10: 7e04eff4 00000002 0032fc48 7e0434d4
0x0032fc20: 7d49fcc4 7d49094a 7d47b0f4 7bc34981
Backtrace:
=>1 0x7d3b5f4c DestroyContext+0x2c() in wined3d (0x0032fbf8)
2 0x7d45c79e in wined3d (+0xcc79e) (0x0032fc48)
3 0x7e043716 in d3d8 (+0x13716) (0x0032fc78)
4 0x7e03fca8 D3D8CB_DestroySwapChain+0x78() in d3d8 (0x0032fcb8)
5 0x7d3cb1ea in wined3d (+0x3b1ea) (0x0032fcf8)
6 0x7e03e1c5 in d3d8 (+0xe1c5) (0x0032fd28)
err:dbghelp_msc:pe_load_debug_directory Got a page fault while loading symbols
7 0x00856ef6 in aomx (+0x456ef6) (0x0032fe6c)
8 0x004ce4c6 in aomx (+0xce4c6) (0x0032ff08)
9 0x7b878c18 in kernel32 (+0x58c18) (0x0032ffe8)
10 0xb7f40d37 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000)
0x7d3b5f4c DestroyContext+0x2c in wined3d: movl 0x115c(%ecx),%edx
Modules:
Module Address Debug info Name (118 modules)
PE 330000- 3bd000 Deferred granny
PE 400000- b396d2 Export aomx
PE 1760000- 182f000 Deferred xpacklanguage
PE 10000000-10014000 Deferred rockalldll
PE 21100000-2115e000 Deferred mss32
PE 69b10000-69c3e000 Deferred msxml4
PE 780c0000-78121000 Deferred msvcp60
ELF 7899d000-789ac000 Deferred libgcc_s.so.1
ELF 78ddc000-78e28000 Deferred dsound
\-PE 78de0000-78e28000 \ dsound
ELF 7b800000-7b940000 Export kernel32
\-PE 7b820000-7b940000 \ kernel32
ELF 7bc00000-7bcac000 Deferred ntdll
\-PE 7bc10000-7bcac000 \ ntdll
ELF 7bf00000-7bf04000 Deferred
ELF 7cf7a000-7d1c8000 Deferred i915_dri.so
ELF 7d1c8000-7d229000 Deferred libgl.so.1
ELF 7d37e000-7d4a1000 Export wined3d
\-PE 7d390000-7d4a1000 \ wined3d
ELF 7d4a1000-7d4f7000 Deferred riched20
\-PE 7d4b0000-7d4f7000 \ riched20
ELF 7d4f7000-7d4fb000 Deferred libgpg-error.so.0
ELF 7d4fb000-7d564000 Deferred libgcrypt.so.11
ELF 7d564000-7d576000 Deferred libtasn1.so.3
ELF 7d576000-7d613000 Deferred libgnutls.so.26
ELF 7d613000-7d6a5000 Deferred libkrb5.so.3
ELF 7dea8000-7deac000 Deferred libkeyutils.so.1
ELF 7deac000-7deb5000 Deferred libkrb5support.so.0
ELF 7deb5000-7dee7000 Deferred libcrypt.so.1
ELF 7dee7000-7df0b000 Deferred libk5crypto.so.3
ELF 7df0b000-7df35000 Deferred libgssapi_krb5.so.2
ELF 7df35000-7df6b000 Deferred libcups.so.2
ELF 7df83000-7df8c000 Deferred libdrm.so.2
ELF 7df8c000-7df8f000 Deferred libxdamage.so.1
ELF 7df8f000-7e024000 Deferred opengl32
\-PE 7dfb0000-7e024000 \ opengl32
ELF 7e024000-7e050000 Export d3d8
\-PE 7e030000-7e050000 \ d3d8
ELF 7e050000-7e065000 Deferred midimap
\-PE 7e060000-7e065000 \ midimap
ELF 7e065000-7e08e000 Deferred msacm32
\-PE 7e070000-7e08e000 \ msacm32
ELF 7e08e000-7e0a7000 Deferred msacm32
\-PE 7e090000-7e0a7000 \ msacm32
ELF 7e0a7000-7e0f7000 Deferred libpulse.so.0
ELF 7e104000-7e10d000 Deferred librt.so.1
ELF 7e10d000-7e1d5000 Deferred libasound.so.2
ELF 7e1d7000-7e1db000 Deferred libcom_err.so.2
ELF 7e1db000-7e1e2000 Deferred libasound_module_pcm_pulse.so
ELF 7e1e2000-7e219000 Deferred winealsa
\-PE 7e1f0000-7e219000 \ winealsa
ELF 7e265000-7e298000 Deferred uxtheme
\-PE 7e270000-7e298000 \ uxtheme
ELF 7e298000-7e2a1000 Deferred libxcursor.so.1
ELF 7e2a1000-7e2a6000 Deferred libxfixes.so.3
ELF 7e2a6000-7e2aa000 Deferred libxcomposite.so.1
ELF 7e2aa000-7e2b1000 Deferred libxrandr.so.2
ELF 7e2b1000-7e2bb000 Deferred libxrender.so.1
ELF 7e2bb000-7e2c1000 Deferred libxxf86vm.so.1
ELF 7e2c1000-7e2c4000 Deferred libxinerama.so.1
ELF 7e2c4000-7e2c9000 Deferred libxdmcp.so.6
ELF 7e2c9000-7e2e2000 Deferred libxcb.so.1
ELF 7e2e2000-7e2e5000 Deferred libxcb-xlib.so.0
ELF 7e2e5000-7e3d4000 Deferred libx11.so.6
ELF 7e3d4000-7e3e3000 Deferred libxext.so.6
ELF 7e3e3000-7e3fb000 Deferred libice.so.6
ELF 7e3fb000-7e404000 Deferred libsm.so.6
ELF 7e40d000-7e411000 Deferred libcap.so.1
ELF 7e411000-7e4ad000 Deferred winex11
\-PE 7e420000-7e4ad000 \ winex11
ELF 7e4e1000-7e508000 Deferred libexpat.so.1
ELF 7e508000-7e535000 Deferred libfontconfig.so.1
ELF 7e542000-7e558000 Deferred libz.so.1
ELF 7e558000-7e5ce000 Deferred libfreetype.so.6
ELF 7e5ce000-7e5e3000 Deferred lz32
\-PE 7e5d0000-7e5e3000 \ lz32
ELF 7e5e3000-7e5fe000 Deferred version
\-PE 7e5f0000-7e5fe000 \ version
ELF 7e5fe000-7e61f000 Deferred imm32
\-PE 7e600000-7e61f000 \ imm32
ELF 7e61f000-7e70c000 Deferred oleaut32
\-PE 7e640000-7e70c000 \ oleaut32
ELF 7e70c000-7e779000 Deferred msvcrt
\-PE 7e720000-7e779000 \ msvcrt
ELF 7e779000-7e7a6000 Deferred ws2_32
\-PE 7e780000-7e7a6000 \ ws2_32
ELF 7e7a6000-7e83a000 Deferred winmm
\-PE 7e7b0000-7e83a000 \ winmm
ELF 7e83a000-7e84e000 Deferred libresolv.so.2
ELF 7e84e000-7e851000 Deferred libxau.so.6
ELF 7e85b000-7e87b000 Deferred iphlpapi
\-PE 7e860000-7e87b000 \ iphlpapi
ELF 7e87b000-7e8e2000 Deferred rpcrt4
\-PE 7e890000-7e8e2000 \ rpcrt4
ELF 7e8e2000-7e9f5000 Deferred ole32
\-PE 7e900000-7e9f5000 \ ole32
ELF 7e9f5000-7eabc000 Deferred comctl32
\-PE 7ea00000-7eabc000 \ comctl32
ELF 7eabc000-7eb11000 Deferred advapi32
\-PE 7ead0000-7eb11000 \ advapi32
ELF 7eb11000-7ebb1000 Deferred gdi32
\-PE 7eb20000-7ebb1000 \ gdi32
ELF 7ebb1000-7ecff000 Deferred user32
\-PE 7ebd0000-7ecff000 \ user32
ELF 7ecff000-7ed5c000 Deferred shlwapi
\-PE 7ed10000-7ed5c000 \ shlwapi
ELF 7ed5c000-7ee88000 Deferred shell32
\-PE 7ed70000-7ee88000 \ shell32
ELF 7efa8000-7efb4000 Deferred libnss_files.so.2
ELF 7efb4000-7efcd000 Deferred libnsl.so.1
ELF 7efcd000-7eff3000 Deferred libm.so.6
ELF 7eff5000-7f000000 Deferred libnss_nis.so.2
ELF b7da6000-b7daf000 Deferred libnss_compat.so.2
ELF b7db0000-b7db4000 Deferred libdl.so.2
ELF b7db4000-b7f12000 Deferred libc.so.6
ELF b7f13000-b7f2c000 Deferred libpthread.so.0
ELF b7f39000-b8070000 Export libwine.so.1
ELF b8072000-b808f000 Deferred ld-linux.so.2
Threads:
process tid prio (all id:s are in hex)
00000008 (D) C:\Program Files\Microsoft Games\Age of Mythology\aomx.exe
0000002c 15
00000009 0 <==
0000000c
00000019 0
00000012 0
0000000e 0
0000000d 0
0000000f
00000015 0
00000014 0
00000011 0
00000010 0
00000016
0000001a 0
00000018 0
00000017 0
0000001c
0000001d 0
Backtrace:
=>1 0x7d3b5f4c DestroyContext+0x2c() in wined3d (0x0032fbf8)
2 0x7d45c79e in wined3d (+0xcc79e) (0x0032fc48)
3 0x7e043716 in d3d8 (+0x13716) (0x0032fc78)
4 0x7e03fca8 D3D8CB_DestroySwapChain+0x78() in d3d8 (0x0032fcb8)
5 0x7d3cb1ea in wined3d (+0x3b1ea) (0x0032fcf8)
6 0x7e03e1c5 in d3d8 (+0xe1c5) (0x0032fd28)
7 0x00856ef6 in aomx (+0x456ef6) (0x0032fe6c)
8 0x004ce4c6 in aomx (+0xce4c6) (0x0032ff08)
9 0x7b878c18 in kernel32 (+0x58c18) (0x0032ffe8)
10 0xb7f40d37 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000)
fixme:imm:ImmDisableIME (-1): stub
fixme:advapi:RegisterEventSourceW ((null),L"Age of Mythology"): stub
fixme:advapi:ReportEventA (0xcafe4242,0x0001,0x0000,0x000003e8,(nil),0x0005,0x0000004b,0x7e27a7fc,0x7e27a3b4): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x000003e8,(nil),0x0005,0x0000004b,0x1391c8,0x7e27a3b4): stub
err:eventlog:ReportEventW L"aomx.exe"
err:eventlog:ReportEventW L"4.2004.1.500"
err:eventlog:ReportEventW L""
err:eventlog:ReportEventW L"0.0.0.0"
err:eventlog:ReportEventW L"00000000"
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
#12 Waves will be drawn on land and smoothly come forward into the water, when it should do the opposite and not show the wave coming from land.
#13 There isn't a distinction between lit up and nonlit up areas. It shows all land, except covered land, as lit up. But you can't see what the enemy is doing, you still need a character to use its line of sight to see what's happening in the unlit land.
#14 The gradient problem is not only for the land but it's also for the water. The water will not gradually become water, it's just one solid color, Dark Blue. Also will not show what's underneath the water, such as seaweed, etc.
#15 While playing the sound abruptly shut off but the gradient for water started to be drawn correctly, as well as what's underneath the water.
#16 After using the first disk to install half the game, a prompt will ask for the second disk. Put in the second disk, and hit OK. The window will blink, the cursor will say busy if you move the mouse on the top of the window ( which is the main window behind the install window ). You will have to almost play around with it by hitting OK multiple times. I think I got passed this by navigating to my second disk's directory and running it's _aomg.exe file in wine in the terminal and then hitting OK, successfully bringing me to the second half of the install.
#17 During the "Fall of the Trident" scenario part 1. Omens, when Arkantos is on the ship sitting down, it looks like his knees are going through his body. No screenshot taken sorry.
#18 After first scenario is over, the loading bar will appear on the bottom, but the background of the game will be pitch black instead of showing the European map.
[/quote]
Screen shots:
[url=http://img201.imageshack.us/my.php?image=aomgoldnogradualchangefhu3.png]#6, #7 No gradual change from covered to uncovered land[/url]
[url=http://img201.imageshack.us/my.php?image=aomgolduncoverlandgradiuy5.png]#7 Line of sight - no object [/url]
[url=http://img523.imageshack.us/my.php?image=aomgolduncoverlandbug2snf6.png]#7 Line of sight - objects[/url]
[url=http://img201.imageshack.us/my.php?image=aomgoldmarkerdoesnotshomk8.png]#10 Marker doesn't show when right clicking objects[/url]
[url=http://img519.imageshack.us/my.php?image=aomgoldwavescomefromlannp6.png]#12 Waves coming from land[/url]
[url=http://img201.imageshack.us/my.php?image=aomgoldnolighttodarkarefv2.png]#13 No light to dark difference - look at minimap light to dark and then look at the actual map[/url]
[url=http://img523.imageshack.us/my.php?image=aomgoldwaterisdrawnstraym8.png]#14 Water is drawn strangely[/url]
[url=http://img519.imageshack.us/my.php?image=aomgoldwaterbugrandomlyal5.png]#14 Water is fixed? #14 randomly fixes itself[/url]
[url=http://img300.imageshack.us/my.php?image=aomgoldnormalmr6.png]Is this how AOM characters are supposed to appear?[/url] - no bug reference
A previous bug report I did file was concerning the text drawn in straight lines. That bug is fixed. :)
I will file all the bug reports immediately. I already filed the AOM Gold crashing bug a while back. Hopefully someone can fix these issues and make wine just that much better. :)
Workarounds
What was not tested
- multiplayer due to using the NoCD patch
Hardware tested
Graphics:
Additional Comments
Operating system | Test date | Wine version | Installs? | Runs? | Used Workaround? | Rating | Submitter | ||
Show | Ubuntu 21.04 "Hirsute" (+ variants like Kubuntu) | Feb 08 2022 | 7.0 | Yes | Yes | No | Silver | Leo von Barbarosa | |
Show | Arch Linux x86_64 | Aug 05 2018 | 3.13 | Yes | Yes | Yes | Gold | Isira Seneviratne | |
Show | Ubuntu 16.04 "Xenial" amd64 (+ variants like Kubuntu) | Jul 24 2016 | 1.9.15 | Yes | Yes | Platinum | Isira Seneviratne | ||
Show | Ubuntu 12.04 "Precise" amd64 (+ variants like Kubuntu) | Jun 20 2014 | 1.7.18 | No, but has workaround | Yes | Silver | Thor | ||
Show | Ubuntu 13.10 "Saucy" i386 (+ variants like Kubuntu) | Dec 29 2013 | 1.6.1 | No, but has workaround | Yes | Silver | an anonymous user |
These errors/problems have been reported on older versions of wine, but are listed here (along with possible solutions) in case they pop up again.
Problem: Flickering water and/or memory leak
Solution: Set graphics detail to low and increase your swap size.
Problem: MS EULA Appears below AoM logo on first launch.
Solution: Focus the window using the taskbar or Alt+Tab and then use Alt+A to agree.
Problem: You need MSXML 4.0
Solution: Use the version included on the install CD. Type "wine msiexec /i msxml.msi" to install.
Problem: The installer can't find PidGen.DLL.
Solution: Copy PidGen.DLL from the installation CD and place it in C:\WINDOWS\SYSTEM32.
AoM installation may require:
* MFC42.DLL
If nothing happens after you click "Next" on the CD Key input screen, you may need this file.
Download this file from dll-files and place it in C:\WINDOWS\SYSTEM32. Add a new override (see below).
Adding an Override
Run "winecfg" from the command line. Click the "Libraries" tab at the top of the window that appears.
Type the name of the library into "New override for library:" (type "pidgen" for PidGen.DLL). Click "Add",
make sure that "(native, builtin)" appears next to the library you just added. If it doesn't highlight the new
override and click "Edit" select "Native then builtin" and click "OK" and finally click "OK".
Comments for this application have been disabled because there are no maintainers.