From 545d3c6c2a053007d1a1b032f9e0359d44a9a358 Mon Sep 17 00:00:00 2001 From: rodri Date: Sat, 28 Sep 2024 11:45:26 +0000 Subject: obj: add more conversion possibilities. this brings back the < in.obj obj >out.mdl mechanic that's so handy for simpler models where there are no textures. --- obj.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'obj.c') diff --git a/obj.c b/obj.c index a2e5936..7095e58 100644 --- a/obj.c +++ b/obj.c @@ -325,7 +325,7 @@ readobjmodel(char *path) static void usage(void) { - fprint(2, "usage: %s objfile dstdir\n", argv0); + fprint(2, "usage: %s [objfile [dstdir]]\n", argv0); exits("usage"); } @@ -333,17 +333,28 @@ void threadmain(int argc, char *argv[]) { Model *m; + char *infile, *dstdir; ARGBEGIN{ default: usage(); }ARGEND; - if(argc != 2) + if(argc > 2) usage(); - m = readobjmodel(argv[0]); + infile = argc > 0? argv[0]: "/fd/0"; + dstdir = argc == 2? argv[1]: nil; + + m = readobjmodel(infile); if(m == nil) sysfatal("readobjmodel: %r"); - if(exportmodel(argv[1], m) < 0) - sysfatal("exportmodel: %r"); + + if(dstdir == nil){ + if(writemodel(1, m) == 0) + sysfatal("writemodel: %r"); + }else{ + if(exportmodel(dstdir, m) < 0) + sysfatal("exportmodel: %r"); + } + exits(nil); } -- cgit v1.2.3