• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

wc3 modding tools on linux

Level 41
Joined
Jun 2, 2008
Messages
541
i'm having trouble trying to install windows 10 on a freshly bought linux laptop
i installed it on a usb stick (i tried official MediaCreationTool<numbers>.exe from microsoft.com and even a few high seas versions afterwards), i set it up to load the usb device from bios but it just loads linux instead every time
apparently it has something to do with bios having two different types: uefi and legacy/csm
but for the life of me i can't find anything related to that in bios itself (well there is in 2.jpg but it's enabled anyway), i tried flipping on and off different things around there but it didn't help, there's just not a lot of interactable stuff there compared to guides on youtube
any help appreciated
 

Attachments

  • 2.jpg
    2.jpg
    492 KB · Views: 22
  • 3.jpg
    3.jpg
    509.7 KB · Views: 21
  • 4.jpg
    4.jpg
    495.6 KB · Views: 16
  • 5.jpg
    5.jpg
    517.5 KB · Views: 23
Level 41
Joined
Jun 2, 2008
Messages
541
after having tried
1) official microsoft installer thing
2) installing from .iso with rufus several different ways (mbr, gpt)
3) installing from .iso with jinn2usb several different ways (syslinux, grub4dos, xorboot, usb-hdd+)
i am now convinced that something is wrong with usb stick i'm using
as you can see on 5.jpg in bios it's called generic "usb device", and sometimes after linux boots up it doesn't even recognize it
still hoping that there is some incredibly obvious on/off switch that i'm missing
 
Level 41
Joined
Jun 2, 2008
Messages
541
i got wc3 working on wine without cinematics, world editor works but camera moves at like half the framerate, doesn't even matter
mdlvis works and even the flickering that i could not get rid of since like 2013 (even with SlowHighlight=1) is gone, but something is very wrong with blending or transparency or something like that, stuff that should be behind is in front
1.png
and magos just gives this error
2.png
 
1687670710226.png


I was able to make a footman render like this in Retera Model Studio by editing the footman model so that all of his material layers had the NoDepthTest setting.

Even World Editor on Windows honors a custom model made like this, because even since 2002 the Depth Test concept was a common concept in 3D graphics:

1687670903736.png


But so it seems that Mdlvis is not properly honoring this MDX flag DoDepthTest when rendering, and instead maybe they always use some default value that is getting the wrong value on your linux. If you have the source code of Mdlvis to recompile it, you could try adding whatever is the equivalent of this in Pascal:

glEnable(GL_DEPTH_TEST);

I am not very familiar with Pascal programming and never tried to compile my own Mdlvis version. I tried opening one of the copies of Mdlvis source code that was on my backup drive from some download that I got at some point, and although the Cyrillic is not rendering correctly on my computer, a quick search in mdlDraw.pas shows that Mdlvis does indeed make calls to enable and disable GL_DEPTH_TEST:

Code:
//÷åðòèò òî÷êè àêòèâíûõ ïîâåðõíîñòåé. hrc - ðàáî÷àÿ îáëàñòü
//Èñïîëüçóåòñÿ ïåðåìåííàÿ Geosets.
procedure DrawVertices(dc:hdc;hrc:HGLRC);
Var i,ii,j,gn,num:integer;IsEdgeFlag:boolean;
Begin
 PushFunction(252);
 ViewType:=0;                //ñáðîñ âèäîâ(ïîâåðõíîñòü, îáùèé âèä)
 //Ñáðîñ ðÿäà óñòàíîâîê
 glDisable(GL_DEPTH_TEST);
 glDisable(GL_LIGHTING);
 if AnimEdMode<>1 then glEnable(GL_DEPTH_TEST);
 glDepthFunc(GL_LEQUAL);
 if CurrentListNum<>-1 then glDeleteLists(CurrentListNum,1);
 CurrentListNum:=glGenLists(1);
 glNewList(CurrentListNum,gl_compile);

So I guess with that in mind, the problem might be some where inside of Wine and however you are adapting OpenGL calls in Wine or whatever.

What if you looked for a pascal compiler for linux and tried to just build a Linux specific version of Mdlvis? Is that a thing? I don't know, whenever I would use linux I would just run Retera Model Studio on there because my code is Java and so it runs natively on Linux without any Wine or headache or whatever. The Retera Model Studio hive download was made to be exceedingly Windows centric to try to "make it easy" for people but really under the hood it's a Java program that will run on anything. Downside is that because I was never a Magos user for anything but previewing, and barely an Mdlvis user, I went straight from MDL editing to using my own code and so I was never motivated to make buttons for everything because I can just edit the MDL. So I guess Magos users hate Retera Model Studio or something.

But anyway, if you use Retera Model Studio-based code as the game engine to simulate a Warcraft 3 experience, you can play the game without wine or whatever just as a Java+OpenGL program running as "natively" as Java gets on Linux. At this point I would probably do that instead of actually using Blizzard's game but that's a matter of personal preference and it seems that literally everyone in WC3 modding disagrees with that idea and very few people have been interested in my "build an alternate game engine for the same thing" idea. [Too technical, I guess. And it has too many bugs, and no World Editor yet, making it an incomplete emulator.]
 

Attachments

  • NoDepthTestFootman.mdx
    102.6 KB · Views: 0
Last edited:
Level 41
Joined
Jun 2, 2008
Messages
541
after reinstalling wine, magos broke again but i fixed it by installing all available d3dcompiler dlls with winetricks (probably only need one)
found out it's also possible to circumvent that error by just putting MaxShaderModelPS dword 0 in registry but geoset animation coloring will be borked (and probably other stuff too)

thought i could try the same winedebug=+loaddll trick with mdxpather; installed mfc42.dll for it but it only broke even further, while raving about elves and dwarves
Code:
~/.wine/drive_c/games/wc3/#tools/MdxPather$ winedebug=+loaddll wine mdxpather.exe
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0060:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0088:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0088:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0088:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0088:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0024:fixme:imm:ImeSetActiveContext (00010056, 1): stub
0024:fixme:imm:ImmReleaseContext (0001005A, 00010056): stub
0060:fixme:imm:ImeSetActiveContext (0000000000010026, 0): stub
0060:fixme:imm:ImmReleaseContext (0000000000010020, 0000000000010026): stub
0024:err:module:DelayLoadFailureHook failed to delay load comctl32.dll.HIMAGELIST_QueryInterface
wine: Call from 7B012566 to unimplemented function comctl32.dll.HIMAGELIST_QueryInterface, aborting
wine: Unimplemented function comctl32.dll.HIMAGELIST_QueryInterface called at address 7B012566 (thread 0024), starting debugger...
010c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
Unhandled exception: unimplemented function comctl32.dll.HIMAGELIST_QueryInterfa
ce called in 32-bit code (0x7b012566).
010c:fixme:dbghelp:elf_search_auxv can't find symbol in module
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7b012566 ESP:0050c044 EBP:0050c0b8 EFLAGS:00000246(   - --  I  Z- -P- )
 EAX:0050c050 EBX:0090c6c4 ECX:00000004 EDX:0050c0f8
 ESI:80000100 EDI:00000000
Stack dump:
0x0050c044:  7ffc3409 0050c068 7bc5c74a 80000100
0x0050c054:  00000001 00000000 7b012566 00000002
0x0050c064:  0090c6c4 0090a482 7bc5c9c7 7ffc3409
0x0050c074:  000003f7 7bc7abe0 7bc7adc0 7b08a121
0x0050c084:  7b0906bc 0000001c 7bc2b748 715f186c
0x0050c094:  0090a482 00000001 0090a482 7b090489
Backtrace:
=>0 0x7b012566 RaiseException+0x51(code=<couldn't compute location>, flags=<coul
dn't compute location>, count=<couldn't compute location>, args=<couldn't comput
e location>) [Z:\usr\src\packages\BUILD\dlls\kernelbase\debug.c:302] in kernelba
se (0x0050c0b8)
  1 0x7b027fdc DelayLoadFailureHook+0x57(name=<couldn't compute location>, funct
ion=<couldn't compute location>) [Z:\usr\src\packages\BUILD\dlls\kernelbase\load
er.c:215] in kernelbase (0x0050c118)
  2 0x7bc331ab LdrResolveDelayLoadedAPI+0x13b(base=<couldn't compute location>,
desc=<couldn't compute location>, dllhook=<couldn't compute location>, syshook=<
couldn't compute location>, addr=<couldn't compute location>, flags=<couldn't co
mpute location>) [Z:\usr\src\packages\BUILD\dlls\ntdll\loader.c:3645] in ntdll (
0x0050c1c8)
  3 0x008a60a5 __delayLoadHelper2+0x45(descr=<couldn't compute location>, addr=<
couldn't compute location>) [Z:\usr\src\packages\BUILD\dlls\winecrt0\delay_load.
c:46] in shell32 (0x0050c208)
  4 0x008a566d in shell32 (+0x9566d) (0x0050c278)
  5 0x0050c230 (0x0050c278)
  6 0x00845450 SHGetFileInfoW+0x950(path=<couldn't compute location>, dwFileAttr
ibutes=<couldn't compute location>, psfi=<couldn't compute location>, sizeofpsfi
=<couldn't compute location>, flags=<couldn't compute location>) [Z:\usr\src\pac
kages\BUILD\dlls\shell32\shell32_main.c:392] in shell32 (0x0050c978)
  7 0x690470be FILEDLG95_InitControls+0x31e(hwnd=0002006A) [Z:\usr\src\packages\
BUILD\dlls\comdlg32\filedlg.c:1578] in comdlg32 (0x0002006a)
  8 0x6904e987 FileOpenDlgProc95+0x177(hwnd=<couldn't compute location>, uMsg=<c
ouldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't
compute location>) [Z:\usr\src\packages\BUILD\dlls\comdlg32\filedlg.c:1300] in c
omdlg32 (0x0050d778)
  9 0x688e295c in user32 (+0x6295c) (0x0050d7b8)
  10 0x688e2fd8 call_dialog_proc+0x58(hwnd=0002006A, msg=0x110, wp=0x10074, lp=0
x50e574, result=0050D84C, arg=6904E810) [Z:\usr\src\packages\BUILD\dlls\user32\w
inproc.c:145] in user32 (0x0050d898)
  11 0x688e6608 WINPROC_CallDlgProcA+0x78(hwnd=0002006A, msg=0x110, wParam=0x100
74, lParam=0x50e574) [Z:\usr\src\packages\BUILD\dlls\user32\winproc.c:1313] in u
ser32 (0x0050d898)
  12 0x688a1866 USER_DefDlgProcA+0xaf(lParam=<internal error>, wParam=<internal
error>, msg=<internal error>, hwnd=<internal error>) [Z:\usr\src\packages\BUILD\
dlls\user32\defdlg.c:326] in user32 (0x0050d898)
  13 0x688a1866 USER_DefDlgProc+0x136(hwnd=<couldn't compute location>, msg=<cou
ldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't co
mpute location>, unicode=<couldn't compute location>) [Z:\usr\src\packages\BUILD
\dlls\user32\defdlg.c:423] in user32 (0x0050d898)
  14 0x70d82a6c UXTHEME_DefDlgProc+0x7c(hwnd=<couldn't compute location>, msg=<c
ouldn't compute location>, wp=<couldn't compute location>, lp=<couldn't compute
location>, unicode=<couldn't compute location>) [Z:\usr\src\packages\BUILD\dlls\
uxtheme\dialog.c:192] in uxtheme (0x0050d928)
  15 0x688a1a6b DefDlgProcA+0x3b(hwnd=<couldn't compute location>, msg=<couldn't
 compute location>, wParam=<couldn't compute location>, lParam=<couldn't compute
 location>) [Z:\usr\src\packages\BUILD\dlls\user32\defdlg.c:430] in user32 (0x00
50d968)
  16 0x688e295c in user32 (+0x6295c) (0x0050d9a8)
  17 0x688e2e9c call_window_proc+0x3c(hwnd=0002006A, msg=0x110, wp=0x10074, lp=0
x50e574, result=0050DA88, arg=688A1A30) [Z:\usr\src\packages\BUILD\dlls\user32\w
inproc.c:122] in user32 (0x00000110)
  18 0x688e5248 dispatch_win_proc_params+0x128(params=0050DA8C) [Z:\usr\src\pack
ages\BUILD\dlls\user32\winproc.c:740] in user32 (0x0002006a)
  19 0x688e64f4 CallWindowProcA+0x64(func=<couldn't compute location>, hwnd=<cou
ldn't compute location>, msg=<couldn't compute location>, wParam=<couldn't compu
te location>, lParam=<couldn't compute location>) [Z:\usr\src\packages\BUILD\dll
s\user32\winproc.c:1264] in user32 (0x0050dad8)
  20 0x5f406af0 in mfc42 (+0x6af0) (0x0050db58)
  21 0x688e295c in user32 (+0x6295c) (0x0050db88)
  22 0x688e2e9c call_window_proc+0x3c(hwnd=0002006A, msg=0x110, wp=0x10074, lp=0
x50e574, result=0050E12C, arg=5F406A49) [Z:\usr\src\packages\BUILD\dlls\user32\w
inproc.c:122] in user32 (0x00000110)
  23 0x688e37d2 WINPROC_CallProcWtoA+0x6f2(callback=688E2E60, hwnd=<register ESI
 not accessible in this frame>, msg=<register EBX not accessible in this frame>,
 wParam=0x10074, lParam=0x50e574, result=0050E12C, arg=5F406A49) [Z:\usr\src\pac
kages\BUILD\dlls\user32\winproc.c:712] in user32 (0x0050e12c)
  24 0x688e5220 dispatch_win_proc_params+0x100(params=0050E17C) [Z:\usr\src\pack
ages\BUILD\dlls\user32\winproc.c:728] in user32 (0x0050e12c)
  25 0x688c7eab dispatch_send_message+0x7b(params=<register EBX not accessible i
n this frame>, wparam=<internal error>, lparam=<internal error>) [Z:\usr\src\pac
kages\BUILD\dlls\user32\message.c:595] in user32 (0x00000000)
  26 0x688c9796 SendMessageW+0x66(hwnd=<couldn't compute location>, msg=<couldn'
t compute location>, wparam=<couldn't compute location>, lparam=<couldn't comput
e location>) [Z:\usr\src\packages\BUILD\dlls\user32\message.c:613] in user32 (0x
0050e1c8)
  27 0x688a5981 DIALOG_CreateIndirect+0xf41(hInst=69040000, dlgTemplate=<is not
available>, owner=<is not available>, dlgProc=6904E810, param=0x50e574, unicode=
0, modal_owner=0050E4CC) [Z:\usr\src\packages\BUILD\dlls\user32\dialog.c:676] in
 user32 (0x6904e810)
  28 0x688a7b18 DialogBoxIndirectParamAorW+0x2c(flags=<internal error>, param=<i
nternal error>, dlgProc=<internal error>, owner=<internal error>, template=<inte
rnal error>, hInstance=<internal error>) [Z:\usr\src\packages\BUILD\dlls\user32\
dialog.c:879] in user32 (0x0050e4d8)
  29 0x688a7b18 DialogBoxIndirectParamA+0x38(hInstance=69040000, template=691191
20, owner=00020048, dlgProc=6904E810, param=0x50e574) [Z:\usr\src\packages\BUILD
\dlls\user32\dialog.c:888] in user32 (0x0050e4d8)
  30 0x6904556e GetFileName95+0x18e(fodInfos=<register EBX not accessible in thi
s frame>) [Z:\usr\src\packages\BUILD\dlls\comdlg32\filedlg.c:406] in comdlg32 (0
x0050e614)
  31 0x69046287 GetFileDialog95+0x27(info=<register ESI not accessible in this f
rame>, dlg_type=<register EBX not accessible in this frame>) [Z:\usr\src\package
s\BUILD\dlls\comdlg32\filedlg.c:554] in comdlg32 (0x0050e614)
  32 0x69051cf3 GetOpenFileNameA+0x53(ofn=0050E734) [Z:\usr\src\packages\BUILD\d
lls\comdlg32\filedlg.c:4182] in comdlg32 (0x0050e614)
  33 0x00401882 in mdxpather (+0x1882) (0x0050e780)
  34 0x0040242b in mdxpather (+0x242b) (0x0050e78c)
  35 0x5f4023d8 in mfc42 (+0x23d8) (0x0050e79c)
  36 0x5f4022ae in mfc42 (+0x22ae) (0x0050e7cc)
  37 0x5f408fc5 in mfc42 (+0x8fc5) (0x0050e7f0)
  38 0x5f402976 in mfc42 (+0x2976) (0x0050e840)
  39 0x5f401dcc in mfc42 (+0x1dcc) (0x0050e8c0)
  40 0x5f401cea in mfc42 (+0x1cea) (0x0050e8e0)
  41 0x5f401c73 in mfc42 (+0x1c73) (0x0050e940)
  42 0x5f401bfb in mfc42 (+0x1bfb) (0x0050e95c)
  43 0x5f401bba in mfc42 (+0x1bba) (0x0050e988)
  44 0x688e295c in user32 (+0x6295c) (0x0050e9b8)
  45 0x688e2e9c call_window_proc+0x3c(hwnd=00020048, msg=0x111, wp=0x3ee, lp=0x1
005e, result=0050EF5C, arg=5F401B81) [Z:\usr\src\packages\BUILD\dlls\user32\winp
roc.c:122] in user32 (0x00000111)
  46 0x688e37d2 WINPROC_CallProcWtoA+0x6f2(callback=688E2E60, hwnd=<register ESI
 not accessible in this frame>, msg=<register EBX not accessible in this frame>,
 wParam=0x3ee, lParam=0x1005e, result=0050EF5C, arg=5F401B81) [Z:\usr\src\packag
es\BUILD\dlls\user32\winproc.c:712] in user32 (0x0050ef5c)
  47 0x688e5220 dispatch_win_proc_params+0x100(params=0050EFAC) [Z:\usr\src\pack
ages\BUILD\dlls\user32\winproc.c:728] in user32 (0x0050ef5c)
  48 0x688c7eab dispatch_send_message+0x7b(params=<register EBX not accessible i
n this frame>, wparam=<internal error>, lparam=<internal error>) [Z:\usr\src\pac
kages\BUILD\dlls\user32\message.c:595] in user32 (0x00000002)
  49 0x688c9796 SendMessageW+0x66(hwnd=<couldn't compute location>, msg=<couldn'
t compute location>, wparam=<couldn't compute location>, lparam=<couldn't comput
e location>) [Z:\usr\src\packages\BUILD\dlls\user32\message.c:613] in user32 (0x
0050eff8)
  50 0x68888e2c ButtonWndProc_common+0x42c(hWnd=0001005E, uMsg=0x202, wParam=0,
lParam=0x90008, unicode=0) [Z:\usr\src\packages\BUILD\dlls\user32\button.c:298]
in user32 (0x0000000b)
  51 0x688e29a2 ButtonWndProcA+0x32(hwnd=0001005E, msg=0x202, wParam=0, lParam=0
x90008) [Z:\usr\src\packages\BUILD\dlls\user32\winproc.c:1353] in user32 (0x0050
f0d8)
  52 0x688e295c in user32 (+0x6295c) (0x0050f108)
  53 0x688e2e9c call_window_proc+0x3c(hwnd=0001005E, msg=0x202, wp=0, lp=0x90008
, result=0050F1E8, arg=688E2970) [Z:\usr\src\packages\BUILD\dlls\user32\winproc.
c:122] in user32 (0x00000202)
  54 0x688e5248 dispatch_win_proc_params+0x128(params=0050F1EC) [Z:\usr\src\pack
ages\BUILD\dlls\user32\winproc.c:740] in user32 (0x0001005e)
  55 0x688e64f4 CallWindowProcA+0x64(func=<couldn't compute location>, hwnd=<cou
ldn't compute location>, msg=<couldn't compute location>, wParam=<couldn't compu
te location>, lParam=<couldn't compute location>) [Z:\usr\src\packages\BUILD\dll
s\user32\winproc.c:1264] in user32 (0x0050f238)
  56 0x5f4020f2 in mfc42 (+0x20f2) (0x0050f264)
  57 0x5f401d01 in mfc42 (+0x1d01) (0x0050f280)
  58 0x5f401c73 in mfc42 (+0x1c73) (0x0050f2e0)
  59 0x5f401bfb in mfc42 (+0x1bfb) (0x0050f2fc)
  60 0x5f401bba in mfc42 (+0x1bba) (0x0050f328)
  61 0x688e295c in user32 (+0x6295c) (0x0050f358)
  62 0x688e2e9c call_window_proc+0x3c(hwnd=0001005E, msg=0x202, wp=0, lp=0x90008
, result=0050F8F8, arg=5F401B81) [Z:\usr\src\packages\BUILD\dlls\user32\winproc.
c:122] in user32 (0x00000202)
  63 0x688e37d2 WINPROC_CallProcWtoA+0x6f2(callback=688E2E60, hwnd=<register ESI
 not accessible in this frame>, msg=<register EBX not accessible in this frame>,
 wParam=0, lParam=0x90008, result=0050F8F8, arg=5F401B81) [Z:\usr\src\packages\B
UILD\dlls\user32\winproc.c:712] in user32 (0x0050f8f8)
  64 0x688e5220 dispatch_win_proc_params+0x100(params=0050F8FC) [Z:\usr\src\pack
ages\BUILD\dlls\user32\winproc.c:728] in user32 (0x0050f8f8)
  65 0x688c7850 dispatch_message+0x80(msg=<register EBX not accessible in this f
rame>, ansi=<internal error>) [Z:\usr\src\packages\BUILD\dlls\user32\message.c:8
57] in user32 (0x0050f9d8)
  66 0x688ca1ef DispatchMessageW+0x3a(msg=<couldn't compute location>) [Z:\usr\s
rc\packages\BUILD\dlls\user32\message.c:945] in user32 (0x0050f9d8)
  67 0x688a6de9 IsDialogMessageW+0xf9(hwndDlg=<couldn't compute location>, msg=<
couldn't compute location>) [Z:\usr\src\packages\BUILD\dlls\user32\dialog.c:1292
] in user32 (0x0050fb38)
  68 0x688a7692 IsDialogMessageW+0x62(hwndDlg=<couldn't compute location>, msg=<
couldn't compute location>) [Z:\usr\src\packages\BUILD\dlls\user32\dialog.c:1156
] in user32 (0x0050fb78)
  69 0x688ca057 IsDialogMessageA+0x67(hwndDlg=<couldn't compute location>, pmsg=
<couldn't compute location>) [Z:\usr\src\packages\BUILD\dlls\user32\message.c:82
0] in user32 (0x0050fbd8)
  70 0x5f41690f in mfc42 (+0x1690f) (0x0040613c)
  71 0x00000202 (0x0001005e)
0x7b012566 RaiseException+0x51 [Z:\usr\src\packages\BUILD\dlls\kernelbase\debug.
c:302] in kernelbase: subl      $4,%esp
Unable to access file 'Z:\usr\src\packages\BUILD\dlls\kernelbase\debug.c'
Modules:
Module  Address                 Debug info      Name (85 modules)
PE      00400000-00409000       Export          mdxpather
PE      00810000-014bf000       Dwarf-4         shell32
PE      01de0000-01e64000       Deferred        winex11
PE      02640000-02ab8000       Deferred        ole32
PE      02ac0000-02cd3000       Deferred        rpcrt4
PE      5f400000-5f4f2000       Export          mfc42
PE      64180000-64221000       Deferred        winspool
PE      64a80000-64ad8000       Deferred        win32u
PE      65680000-658fc000       Deferred        msvcrt
PE      66080000-66179000       Deferred        shlwapi
PE      66640000-6665a000       Deferred        version
PE      667c0000-66805000       Deferred        shcore
PE      66fc0000-66fe4000       Deferred        compstui
PE      67500000-67553000       Deferred        imm32
PE      684c0000-6860d000       Deferred        combase
PE      68880000-68d6a000       Dwarf-4         user32
PE      69040000-6925e000       Dwarf-4         comdlg32
PE      69840000-6993b000       Deferred        advapi32
PE      6aac0000-6ad9c000       Deferred        ucrtbase
PE      6bbc0000-6bc57000       Deferred        sechost
PE      6da80000-6dc9f000       Deferred        gdi32
PE      70d80000-70e20000       Dwarf-4         uxtheme
PE      71590000-71617000       Deferred        comctl32
PE      7b000000-7b52c000       Dwarf-4         kernelbase
PE      7b600000-7b759000       Deferred        kernel32
PE      7bc00000-7bebc000       Dwarf-4         ntdll
ELF     7d000000-7d005000       Deferred        <wine-loader>
ELF     7d50d000-7d538000       Deferred        libgpg-error.so.0
ELF     7d538000-7d63d000       Deferred        libgcrypt.so.20
ELF     7d63d000-7d661000       Deferred        liblz4.so.1
ELF     7d661000-7d730000       Deferred        libzstd.so.1
ELF     7d730000-7d75c000       Deferred        liblzma.so.5
ELF     7d75c000-7d768000       Deferred        libffi.so.8
ELF     7d768000-7d837000       Deferred        libsystemd.so.0
ELF     7d837000-7d84a000       Deferred        libresolv.so.2
ELF     7d84a000-7d8d9000       Deferred        libgmp.so.10
ELF     7d8d9000-7d923000       Deferred        libhogweed.so.6
ELF     7d923000-7d96d000       Deferred        libnettle.so.8
ELF     7d96d000-7d984000       Deferred        libtasn1.so.6
ELF     7d984000-7db2f000       Deferred        libunistring.so.2
ELF     7db2f000-7db52000       Deferred        libidn2.so.0
ELF     7db52000-7dcaf000       Deferred        libp11-kit.so.0
ELF     7dcaf000-7dd0e000       Deferred        libdbus-1.so.3
ELF     7dd0e000-7dd1d000       Deferred        libkrb5support.so.0
ELF     7dd1d000-7dd4f000       Deferred        libk5crypto.so.3
ELF     7dd4f000-7de2d000       Deferred        libkrb5.so.3
ELF     7de2d000-7e05b000       Deferred        libgnutls.so.30
ELF     7e05b000-7e071000       Deferred        libavahi-client.so.3
ELF     7e071000-7e11d000       Deferred        libcups.so.2
ELF     7e174000-7e17f000       Deferred        libcap.so.2
ELF     7e17f000-7e18e000       Deferred        libavahi-common.so.3
ELF     7e18e000-7e1ea000       Deferred        libgssapi_krb5.so.2
ELF     7e246000-7e24e000       Deferred        libxfixes.so.3
ELF     7e24e000-7e25b000       Deferred        libxcursor.so.1
ELF     7e25b000-7e270000       Deferred        libxi.so.6
ELF     7e270000-7e275000       Deferred        libxcomposite.so.1
ELF     7e275000-7e284000       Deferred        libxrandr.so.2
ELF     7e284000-7e292000       Deferred        libxrender.so.1
ELF     7e292000-7e29a000       Deferred        libxxf86vm.so.1
ELF     7e29a000-7e29f000       Deferred        libxinerama.so.1
ELF     7e29f000-7e2ad000       Deferred        libmd.so.0
ELF     7e2ad000-7e2c5000       Deferred        libbsd.so.0
ELF     7e2c5000-7e2cd000       Deferred        libxdmcp.so.6
ELF     7e2cd000-7e2d3000       Deferred        libxau.so.6
ELF     7e2d3000-7e301000       Deferred        libxcb.so.1
ELF     7e301000-7e453000       Deferred        libx11.so.6
ELF     7e453000-7e46a000       Deferred        libxext.so.6
ELF     7e46a000-7e472000       Deferred        libkeyutils.so.1
ELF     7e472000-7e478000       Deferred        libcom_err.so.2
ELF     7e478000-7e47e000       Deferred        winspool.so
ELF     7e480000-7e50c000       Deferred        winex11.so
ELF     7e591000-7e5c1000       Deferred        libexpat.so.1
ELF     7e5c1000-7e611000       Deferred        libfontconfig.so.1
ELF     7e611000-7e634000       Deferred        libbrotlicommon.so.1
ELF     7e634000-7e642000       Deferred        libbrotlidec.so.1
ELF     7e642000-7e660000       Deferred        libz.so.1
ELF     7e660000-7e6a0000       Deferred        libpng16.so.16
ELF     7e6a0000-7e76d000       Deferred        libfreetype.so.6
ELF     7e76d000-7e875000       Deferred        libm.so.6
ELF     7e88b000-7e9fe000       Deferred        win32u.so
ELF     7e9fe000-7eb87000       Dwarf           libwine.so.1
ELF     f7ac0000-f7aca000       Deferred        libuuid.so.1
ELF     f7aca000-f7b7a000       Deferred        ntdll.so
ELF     f7c7a000-f7eaf000       Deferred        libc.so.6
ELF     f7ec7000-f7eff000       Deferred        ld-linux.so.2
Threads:
process  tid      prio    name (all IDs are in hex)
00000020 (D) C:\games\wc3\#tools\MdxPather\mdxpather.exe
        00000024    0 <==
        00000110    0
00000038 services.exe
        0000003c    0
        00000040    0     wine_rpcrt4_server
        0000004c    0     wine_rpcrt4_io
        00000078    0     wine_rpcrt4_io
        00000084    0     wine_rpcrt4_io
        000000b4    0     wine_rpcrt4_io
        000000cc    0     wine_rpcrt4_io
        000000e4    0     wine_rpcrt4_io
00000044 winedevice.exe
        00000048    0
        00000054    0
        00000058    0     wine_sechost_service
        00000064    0
        00000068    0
        0000006c    0
        000000d8    0
0000005c explorer.exe
        00000060    0
        0000009c    0
        000000a0    0     wine_rpcrt4_server
00000070 winedevice.exe
        00000074    0
        0000007c    0
        00000080    0     wine_sechost_service
        00000088    0
        0000008c    0
        00000090    0
        00000094    0
        00000098    0
000000ac plugplay.exe
        000000b0    0
        000000b8    0
        000000bc    0     wine_sechost_service
        000000c0    0     wine_rpcrt4_server
000000c4 svchost.exe
        000000c8    0
        000000d0    0
        000000d4    0     wine_sechost_service
000000dc rpcss.exe
        000000e0    0
        000000e8    0
        000000ec    0     wine_sechost_service
        000000f0    0     wine_rpcrt4_server
        000000f4    0     wine_rpcrt4_server
        000000f8    0     wine_rpcrt4_io
00000100 conhost.exe
        00000104    0
System information:
    Wine build: wine-8.0.1
    Platform: i386 (WOW64)
    Version: Windows 10
    Host system: Linux
    Host version: 5.15.0-75-generic
reminded me of this

got the good ol' Wc3ImageExtractorII (list view and search function are 👌) working by installing vb6run with winetricks

for mdlvis i tried a different storm.dll but that just made the game ask for a cd
almost nothing affects mdlvis for some reason, not even changing the renderer (breaks magos completely)
debugdll doesn't show any errors
i will take this huge list of dlls, copy all these files from my shitty windows laptop and then try overriding them here one by one, starting with ones that have "gl" and/or "32" in their names
if that won't work, i'll reinstall wc3 and everything else on a 32 bit wineprefix

GL_DEPTH_TEST
thanks for this
and so it runs natively on Linux
well yeah it runs but just like imperialblp it has the annoying habit of defaulting to the user folder (instead of where the .jar is) and not showing the hidden folders (where wine/wc3 install is)
i manually paste the path, it finds 2 mpqs, i press ok, it gives this error
Code:
Unknown error occurred:
java.lang.NullPointerException
    at com.matrixeater.src.MainPanel.createMenuBar(MainPanel.java:2508)
    at com.matrixeater.src.MainFrame.<init>(MainFrame.java:301)
    at com.matrixeater.src.MainFrame$1.run(MainFrame.java:249)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
and now somehow all the files are gone from my wc3 folder, literally every single file is gone but all the folders are intact
they're not in the trash either
i don't know what happened, i pressed ctrl+h (show hidden files) too hard?
i'm blaming you, retera
i'm certainly not using rms after this

edit: if i had no backups this^ would be hilarious
but i do and so it's only funny
 
Last edited:
and now somehow all the files are gone from my wc3 folder, literally every single file is gone but all the folders are intact
they're not in the trash either
i don't know what happened, i pressed ctrl+h (show hidden files) too hard?
i'm blaming you, retera
i'm certainly not using rms after this
Okay, we are all free to do as we please, but I would suggest being really careful because there is not any code that I am aware of inside of Retera Model Studio that would write back to the Warcraft 3 directory -- generally it is intentionally read-only to where it looks and what it does, other than writing a single MDX file when we do "save" or "save as."

So, I am writing to inform you of this because if there is a possibility that some other program on your computer is eliminating files in this way, and you do not know about it, you might want to be on the look out and not blindly blame Retera Model Studio because it might be that even if you completely remove Retera Model Studio from the computer that some other program will continue removing all your files if indeed you have a program that is removing all your files.

Edit:

You are describing using "Retera Model Studio" but the error message that you pasted appears to come from a different and possibly much older version of this program than what is currently available. In case I were going to sift through my code to look for some insane error case that only applies to you and no one else, were you able to tell what version of software calling itself "Retera Model Studio" you were using and where you got it?
 
Level 41
Joined
Jun 2, 2008
Messages
541
Okay, we are all free to do as we please, but I would suggest being really careful because there is not any code that I am aware of inside of Retera Model Studio that would write back to the Warcraft 3 directory -- generally it is intentionally read-only to where it looks and what it does, other than writing a single MDX file when we do "save" or "save as."

So, I am writing to inform you of this because if there is a possibility that some other program on your computer is eliminating files in this way, and you do not know about it, you might want to be on the look out and not blindly blame Retera Model Studio because it might be that even if you completely remove Retera Model Studio from the computer that some other program will continue removing all your files if indeed you have a program that is removing all your files.
yeah it probably is something else, or there is some button combination close to ctrl+h that just deletes everything
don't worry about it, i have backups
and i barely used rms before anyways
 
Level 41
Joined
Jun 2, 2008
Messages
541
You are describing using "Retera Model Studio" but the error message that you pasted appears to come from a different and possibly much older version of this program than what is currently available. In case I were going to sift through my code to look for some insane error case that only applies to you and no one else, were you able to tell what version of software calling itself "Retera Model Studio" you were using and where you got it?
i just noticed it says matrix eater, but it's rms (matrix eater didn't work at all), some old version that i dled here ages ago
like i said don't worry about it, it's gone anyway
 
Top