documentation for studiomdl
It would be neat if i could compile models on my linux partition. But I'm having trouble getting it to work.
Hammer.exe and hlmv.exe runs just fine and those are from the same game.
I'm using Arch, and I'm using PlayonLinux to make my life a little easier.
I have made sure to have the following packages installed:
playonlinux
gnutls
mpg123
gst-plugins-base
gst-plugins-good
gstreamer
lib32-gnutls
lib32-gst-plugins-base
lib32-gst-plugins-good
lib32-gst-plugins-bad
lib32-gst-plugins-ugly
lib32-mpg123
lib32-gstreamer
lib32-nvidia-utils
lib32-ocl-icd
ocl-icd
lib32-krb5
Here's the log from trying to run studiomdl.exe from the game momentum mod, with a simple .qc file:
Code: Select all
[02/25/20 16:02:56] - Running wine-5.2 studiomdl.exe -game C:\Program Files\MM\momentum -nop4 -verbose E:\Storage\projects\source\surf\mapping\tux\raw\hat.qc (Working directory : /home/yoggi/.PlayOnLi0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:ntdll:EtwEventRegister ({47a9201e-73b0-42ce-9821-7e134361bc6f}, 0x100068a0, 0x1003fff0, 0x1003ffe8) stub.
0009:fixme:ntdll:EtwEventRegister ({58a9201e-73b0-42ce-9821-7e134361bc70}, 0x100068a0, 0x10040028, 0x10040020) stub.
0009:fixme:ntdll:EtwEventRegister ({3fa9201e-73b0-43fe-9821-7e145359bc6f}, 0x100068a0, 0x1003ffb8, 0x1003ffb0) stub.
0009:fixme:ntdll:EtwEventRegister ({1432afee-73b0-42ce-9821-7e134361b433}, 0x100068a0, 0x10040060, 0x10040058) stub.
0009:fixme:ntdll:EtwEventRegister ({4372afee-73b0-42ce-9821-7e134361b519}, 0x100068a0, 0x10040098, 0x10040090) stub.
0009:fixme:ver:GetCurrentPackageId (0x32fa80 (nil)): stub
0025:fixme:ver:GetCurrentPackageId (0xdb2ff3c (nil)): stub
0009:fixme:ver:GetCurrentPackageId (0x32f5ac (nil)): stub
ERROR: 'EXCEPTION_ACCESS_VIOLATION' (assert: 1)
0009:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0009:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0009:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0009:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0009:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
ERROR: 'EXCEPTION_ACCESS_VIOLATION' (assert: 1)
Which is a very non descriptive error message.
I also installed the following components in playonlinux:
gdiplus vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015 vcrun2019 vcrun6 atmlib msxml3 msxml6
I've tested this with the following wine versions:
5.2-staging, 5.2, 5.0-rc4, 4.21
I'm not sure how i should i go about debugging this.
Some googling lead me to someone posting the source files for studiomdl:
https://github.com/ValveSoftware/source ... issues/340
There's no chance I'll be able to figure out how to compile this myself, but maybe it could be useful.
Any suggestions are greatly appreciated.
Thanks!
Here is the expected output if i run the same command on windows with the same 3d model files: (They are on my network drive)
Code: Select all
X:\Program Files (x86)\steam\steamapps\common\Momentum Mod\bin
$ studiomdl.exe -game "X:\Program Files (x86)\steam\steamapps\common\Momentum Mod\momentum" -nop4 -verbose "Y:\Storage\projects\source\surf\mapping\tux\raw\hat.qc"
qdir: "y:\storage\projects\source\surf\mapping\tux\raw\"
gamedir: "X:\Program Files (x86)\steam\steamapps\common\Momentum Mod\momentum\"
g_path: "Y:\Storage\projects\source\surf\mapping\tux\raw\hat.qc"
Building binary model files...
Working on "hat.qc"
SMD MODEL mesh.smd
SMD MODEL col.smd
WARNING: Model has 2-dimensional geometry (less than 0.500 inches thick on any axis)!!!
WARNING: Error with convex elements of col.smd, building single convex!!!!
Model has 2 convex sub-parts
Collision model completed.
---------------------
writing X:\Program Files (x86)\steam\steamapps\common\Momentum Mod\momentum\models/hat.mdl:
bones 964 bytes (1)
animation x y ips angle
@idle 0.00 0.00 : 1.#J ( 90.00) 0.0
animations 112 bytes (1 anims) (1 frames) [0:00]
sequences 220 bytes (1 seq)
ik/pose 164 bytes
eyeballs 0 bytes (0 eyeballs)
flexes 0 bytes (0 flexes)
textures 72 bytes
keyvalues 0 bytes
bone transforms 0 bytes
bone flex driver 0 bytes
Collision model volume 347.59 in^3
collision 0 bytes
total 1724
---------------------
writing X:\Program Files (x86)\steam\steamapps\common\Momentum Mod\momentum\models/hat.vvd:
vertices 8496 bytes (177 vertices)
tangents 2832 bytes (177 vertices)
total 11392 bytes
---------------------
Generating optimized mesh "X:\Program Files (x86)\steam\steamapps\common\Momentum Mod\momentum\models/hat.sw.vtx":
body parts: 8 bytes
models: 20 bytes
model LODs: 12 bytes
meshes: 9 bytes
strip groups: 25 bytes
strips: 27 bytes
verts: 1593 bytes
indices: 1500 bytes
bone changes: 16 bytes
everything: 3234 bytes
---------------------
Generating optimized mesh "X:\Program Files (x86)\steam\steamapps\common\Momentum Mod\momentum\models/hat.dx80.vtx":
body parts: 8 bytes
models: 20 bytes
model LODs: 12 bytes
meshes: 9 bytes
strip groups: 25 bytes
strips: 27 bytes
verts: 1593 bytes
indices: 1500 bytes
bone changes: 16 bytes
everything: 3234 bytes
---------------------
Generating optimized mesh "X:\Program Files (x86)\steam\steamapps\common\Momentum Mod\momentum\models/hat.dx90.vtx":
body parts: 8 bytes
models: 20 bytes
model LODs: 12 bytes
meshes: 9 bytes
strip groups: 25 bytes
strips: 27 bytes
verts: 1593 bytes
indices: 1500 bytes
bone changes: 16 bytes
everything: 3234 bytes
Completed "hat.qc"
X:\Program Files (x86)\steam\steamapps\common\Momentum Mod\bin
$