Gecko
Member
Level: 25
   

Posts: 77/113
EXP: 83089 For next: 6531
Since: 03-27-09
Since last post: 9.1 years Last activity: 7.7 years
|
| Posted on 02-28-10 09:51:17 AM (last edited by Gecko at 02-28-10 07:07 AM) |
Link | Quote
| |
It works when I type:
cvt.exe "grass.png" BMP3:"grass.png.bmp"
The bmp file has been created.
Maybe, there's a problem with the quotation marks or the full path being used.
Edit: After converting all textures by hand, they get imported, as well as getting deleted afterwards.
Thank you for adding an option for saving import preferences, it's really useful. ^^ |
messiaen
Catgirl
Level: 68
   
Posts: 765/1085
EXP: 2596321 For next: 132479
Since: 11-20-07
Since last post: 8.1 years Last activity: 7.2 years
|
|
Originally posted by Gecko It works when I type:
cvt.exe "grass.png" BMP3:"grass.png.bmp"
The bmp file has been created.
Maybe, there's a problem with the quotation marks or the full path being used.
Edit: After converting all textures by hand, they get imported, as well as getting deleted afterwards.
Thank you for adding an option for saving import preferences, it's really useful. ^^
Thanks Gecko, I figured out what was wrong. As you can see, I did include quotation marks between files, but forgot to do so on the program path . Since the directory I'm usually testing obj_import.exe is in a folder without spaces, it always worked for me.
I won't release a new beta version with this solved, but for a very simple fix just use the program in a directory without spaces, such as C:\ObjImport. This should solve all texture problems! |
Gecko
Member
Level: 25
   

Posts: 78/113
EXP: 83089 For next: 6531
Since: 03-27-09
Since last post: 9.1 years Last activity: 7.7 years
|
|
Works like a charm in C:\objimport6\  |
Me-me
340      
Level: 41
   

Posts: 91/341
EXP: 462078 For next: 18067
Since: 08-05-07
Since last post: 9.7 years Last activity: 8.1 years
|
| Posted on 02-28-10 02:16:55 PM (last edited by Me-me at 02-28-10 11:17 AM) |
Link | Quote
| |
Originally posted by wwwarea Even though, I want to add the objects from other levels using toads tool after but in toads tool, I get a black screen in there when I try viewing the level. Does this happen with anyone else?
Sure does. I used the texture-fix trick above and now everything looks goon in-game. However... TT64 won't let me view the level. At first I see a glimpse of the original background and some 0x24 objects, then everything goes black. Any ideas?
____________________ Wow! SM64 is totally turned upside-down! |
Super Mario 64000
Random nobody
Level: 7
   
Posts: 3/6
EXP: 981 For next: 467
Since: 02-11-10
Since last post: 12.1 years Last activity: 12.1 years
|
|
Originally posted by Me-me
Originally posted by wwwarea Even though, I want to add the objects from other levels using toads tool after but in toads tool, I get a black screen in there when I try viewing the level. Does this happen with anyone else?
Sure does. I used the texture-fix trick above and now everything looks goon in-game. However... TT64 won't let me view the level. At first I see a glimpse of the original background and some 0x24 objects, then everything goes black. Any ideas?
This happens with me too. It doesn't show my model though. |
messiaen
Catgirl
Level: 68
   
Posts: 766/1085
EXP: 2596321 For next: 132479
Since: 11-20-07
Since last post: 8.1 years Last activity: 7.2 years
|
|
This error has been discussed in the last page. Probably some of the modifications I did in the ROM caused a bug in TT64, and VL-Tone may take a look at it if he has time. If it's something very straightforward to fix he may able to release a small revision of TT64.
Meanwhile, you can just use the safer v0.7 version. |
BTTF Forever
Member
Level: 20
   

Posts: 16/70
EXP: 39142 For next: 3297
Since: 02-08-10
From: Australia
Since last post: 11.3 years Last activity: 11.3 years
|
|
Originally posted by messiaen
Originally posted by BTTF Forever ok, i cant even get into my level...
i have a brand newly patched rom, imported the object, went into SM64, jumped in the painting, selected the first star, mario said "letsa gooo..."...............White screen stays there, it doesnt load the level, i have done everything perfectly, what am i doing wrong?
Log please? Did it work with previous versions of the importer?
yes it did work with previous versions, here is the log:
[Environment]
Convert path = C:\N64\0.8BETA\cvt.exe
[Import Parameteres]
ObjFile = C:\Documents and Settings\Jared Doevendans\Desktop\bedroom\output.obj
Scaling = 300.000000
Level = 0
Weather = 0
Background = 4
Create Death at Bottom plane = 1
Restore Level Flag = 0
Bank 0x0C = 0
Bank 0x0D = 0
Bank 0x0E = 0
Music = 0
Terrain = 0
[Material]
Material Library = ./output.obj.mtl
Material #1 = material_0
Material #2 = material_1
Texture File = 22B753D9_c.bmp.BMP DataOffset = 0x36
(16x32) Texture Pointer = 0e000000
Material #3 = material_2
Texture File = 5FEB56C1_c.bmp.BMP DataOffset = 0x36
(16x32) Texture Pointer = 0e000400
Material #4 = material_3
Texture File = 19A6AF05_c.bmp.BMP DataOffset = 0x36
(32x16) Texture Pointer = 0e000800
Material #5 = material_4
Texture File = 76ED1A7B_c.bmp.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e000c00
Material #6 = material_5
Texture File = D42DB76_c.bmp.BMP DataOffset = 0x36
(8x8) Texture Pointer = 0e001400
Material #7 = material_6
Texture File = 45445EA0_c.bmp.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e001480
Material #8 = material_7
Texture File = 487E6E47_c.bmp.BMP DataOffset = 0x36
(64x32) Texture Pointer = 0e001c80
Material #9 = material_8
Texture File = 112DDD3D_c.bmp.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e002c80
Material #10 = material_9
Texture File = 2EFE7B7A_c.bmp.BMP DataOffset = 0x36
(16x32) Texture Pointer = 0e003480
Material #11 = material_10
Texture File = 6B682FD4_c.bmp.BMP DataOffset = 0x36
(16x11) Texture Pointer = 0e003880
Material #12 = material_11
Texture File = 4BABD7A1_c.bmp.BMP DataOffset = 0x36
(32x64) Texture Pointer = 0e0039e0
Material #13 = material_12
Texture File = 5B4B2FA2_c.bmp.BMP DataOffset = 0x36
(32x64) Texture Pointer = 0e0049e0
Material #14 = material_13
Texture File = 8C2AAB4_c.bmp
[BMP conversion]
Command = C:\N64\0.8BETA\cvt.exe "8C2AAB4_c.bmp" BMP3:"8C2AAB4_c.bmp.bmp"
Return Value = 0
[BMP resizing]
Command = C:\N64\0.8BETA\cvt.exe -resize 32x32 "8C2AAB4_c.bmp.bmp" BMP3:"8C2AAB4_c.bmp2.bmp"
Return Value = 0.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e0059e0
Material #15 = material_14
Texture File = 52A10C61_c.bmp
[BMP conversion]
Command = C:\N64\0.8BETA\cvt.exe "52A10C61_c.bmp" BMP3:"52A10C61_c.bmp.bmp"
Return Value = 0
[BMP resizing]
Command = C:\N64\0.8BETA\cvt.exe -resize 32x32 "52A10C61_c.bmp.bmp" BMP3:"52A10C61_c.bmp2.bmp"
Return Value = 0.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e0061e0
Material #16 = material_15
Texture File = 1B6B9D74_c.bmp
[BMP conversion]
Command = C:\N64\0.8BETA\cvt.exe "1B6B9D74_c.bmp" BMP3:"1B6B9D74_c.bmp.bmp"
Return Value = 0
[BMP resizing]
Command = C:\N64\0.8BETA\cvt.exe -resize 32x32 "1B6B9D74_c.bmp.bmp" BMP3:"1B6B9D74_c.bmp2.bmp"
Return Value = 0.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e0069e0
Material #17 = material_16
Texture File = 34A20049_c.bmp
[BMP conversion]
Command = C:\N64\0.8BETA\cvt.exe "34A20049_c.bmp" BMP3:"34A20049_c.bmp.bmp"
Return Value = 0
[BMP resizing]
Command = C:\N64\0.8BETA\cvt.exe -resize 32x32 "34A20049_c.bmp.bmp" BMP3:"34A20049_c.bmp2.bmp"
Return Value = 0.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e0071e0
Material #18 = material_17
Texture File = 50AD54F9_c.bmp.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e0079e0
Material #19 = material_18
Texture File = 14EC9D10_c.bmp
[BMP conversion]
Command = C:\N64\0.8BETA\cvt.exe "14EC9D10_c.bmp" BMP3:"14EC9D10_c.bmp.bmp"
Return Value = 0
[BMP resizing]
Command = C:\N64\0.8BETA\cvt.exe -resize 32x32 "14EC9D10_c.bmp.bmp" BMP3:"14EC9D10_c.bmp2.bmp"
Return Value = 0.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e0081e0
Material #20 = material_19
Texture File = 4E67371D_c.bmp.BMP DataOffset = 0x36
(8x8) Texture Pointer = 0e0089e0
Material #21 = material_20
Texture File = 1BF73CD4_c.bmp.BMP DataOffset = 0x36
(16x32) Texture Pointer = 0e008a60
Material #22 = material_21
Texture File = 39E8259B_c.bmp.BMP DataOffset = 0x36
(32x16) Texture Pointer = 0e008e60
Material #23 = material_22
Texture File = 14F27B25_c.bmp.BMP DataOffset = 0x36
(32x16) Texture Pointer = 0e009260
Material #24 = material_23
Texture File = 1C589947_c.bmp
[BMP conversion]
Command = C:\N64\0.8BETA\cvt.exe "1C589947_c.bmp" BMP3:"1C589947_c.bmp.bmp"
Return Value = 0
[BMP resizing]
Command = C:\N64\0.8BETA\cvt.exe -resize 32x32 "1C589947_c.bmp.bmp" BMP3:"1C589947_c.bmp2.bmp"
Return Value = 0.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e009660
Material #25 = material_24
Texture File = 27C14366_c.bmp
[BMP conversion]
Command = C:\N64\0.8BETA\cvt.exe "27C14366_c.bmp" BMP3:"27C14366_c.bmp.bmp"
Return Value = 0
[BMP resizing]
Command = C:\N64\0.8BETA\cvt.exe -resize 32x32 "27C14366_c.bmp.bmp" BMP3:"27C14366_c.bmp2.bmp"
Return Value = 0.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e009e60
Material #26 = material_25
Texture File = 359B630A_c.bmp.BMP DataOffset = 0x36
(16x8) Texture Pointer = 0e00a660
Material #27 = material_26
Texture File = 67EAC686_c.bmp.BMP DataOffset = 0x36
(16x32) Texture Pointer = 0e00a760
Material #28 = material_27
Texture File = 60406202_c.bmp.BMP DataOffset = 0x36
(32x16) Texture Pointer = 0e00ab60
Material #29 = material_28
Texture File = 8ADC39D_c.bmp.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e00af60
Material #30 = material_29
Texture File = 6A3B4241_c.bmp.BMP DataOffset = 0x36
(16x1) Texture Pointer = 0e00b760
Material #31 = material_30
Texture File = 358CF07B_c.bmp
[BMP conversion]
Command = C:\N64\0.8BETA\cvt.exe "358CF07B_c.bmp" BMP3:"358CF07B_c.bmp.bmp"
Return Value = 0
[BMP resizing]
Command = C:\N64\0.8BETA\cvt.exe -resize 32x32 "358CF07B_c.bmp.bmp" BMP3:"358CF07B_c.bmp2.bmp"
Return Value = 0.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e00b780
Material #32 = material_31
Texture File = 6A5B5F3B_c.bmp.BMP DataOffset = 0x36
(16x8) Texture Pointer = 0e00bf80
Material #33 = material_32
Texture File = 35AFB0C0_c.bmp.BMP DataOffset = 0x36
(32x16) Texture Pointer = 0e00c080
Material #34 = material_33
Texture File = 27D62D17_c.bmp.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e00c480
Material #35 = material_34
Texture File = 3C3E2C53_c.bmp.BMP DataOffset = 0x36
(8x32) Texture Pointer = 0e00cc80
Material #36 = material_35
Texture File = 478FECDD_c.bmp.BMP DataOffset = 0x36
(32x64) Texture Pointer = 0e00ce80
Material #37 = material_36
Texture File = 4428D5D7_c.bmp.BMP DataOffset = 0x36
(64x32) Texture Pointer = 0e00de80
Material #38 = material_37
Texture File = 67683089_c.bmp
[BMP conversion]
Command = C:\N64\0.8BETA\cvt.exe "67683089_c.bmp" BMP3:"67683089_c.bmp.bmp"
Return Value = 0
[BMP resizing]
Command = C:\N64\0.8BETA\cvt.exe -resize 32x32 "67683089_c.bmp.bmp" BMP3:"67683089_c.bmp2.bmp"
Return Value = 0.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e00ee80
Material #39 = material_38
Texture File = 48815006_c.bmp.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e00f680
Material #40 = material_39
Texture File = 6C7D6C27_c.bmp.BMP DataOffset = 0x36
(16x32) Texture Pointer = 0e00fe80
Material #41 = material_40
Texture File = 34C0A52B_c.bmp.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e010280
Material #42 = material_41
Texture File = 47CB0575_c.bmp.BMP DataOffset = 0x36
(16x32) Texture Pointer = 0e010a80
Material #43 = material_42
Texture File = 2FBA0C1E_c.bmp.BMP DataOffset = 0x36
(32x32) Texture Pointer = 0e010e80
[Fatal error]
Quads found. Triangule .obj file first!
i know it says triangulate first, but i used the exact same .obj file with previous versions and it imported fine!!!
____________________ See You In The Future.........Or The Past!
Long Live Back To The Future! |
spinout
Random nobody
Level: 6
   

Posts: 2/4
EXP: 533 For next: 374
Since: 02-28-10
Since last post: 12.1 years Last activity: 11.9 years
|
| Posted on 03-02-10 12:55:53 AM (last edited by spinout at 03-07-10 06:40 AM) |
Link | Quote
| |
Here's some pseudo-code to convert faces of more than one point to triangles so you can do quads and stuff:
for (i=0;i<PointListLen-2;i++,TriCount++) {
TriList[TriCount].Vert[0] = PointList[0];
TriList[TriCount].Vert[1] = PointList[i+1];
TriList[TriCount].Vert[2] = PointList[i+2];
}
PointList = Array of points in face
PointListLen = Amount of points in face
TriList = Array of faces
TriCount = Number of triangles in TriList
I hope this helps! |
Emoluvjd2
Member
Level: 20
   

Posts: 20/70
EXP: 39606 For next: 2833
Since: 10-24-09
Since last post: 4.1 years Last activity: 2.7 years
|
| Posted on 03-02-10 01:39:22 AM (last edited by Emoluvjd2 at 03-01-10 10:39 PM) |
Link | Quote
| |
| If your up to it, could a level preview mode be possible? |
messiaen
Catgirl
Level: 68
   
Posts: 767/1085
EXP: 2596321 For next: 132479
Since: 11-20-07
Since last post: 8.1 years Last activity: 7.2 years
|
|
Originally posted by BTTF Forever [Fatal error]
Quads found. Triangule .obj file first!
i know it says triangulate first, but i used the exact same .obj file with previous versions and it imported fine!!!
Can you send me the .obj file? The break when finding quads was a last minute addition which I didn't test.
Originally posted by spinout
for (i=0;i<PointListLen;i++,TriCount++) {
TriList[TriCount].Vert[0] = PointList[0];
TriList[TriCount].Vert[1] = PointList[i+1];
TriList[TriCount].Vert[2] = PointList[i+2];
}
I hope this helps!
Seems simple, I can probably flexibilize my parsing code by using strtok() to find the number of faces in polygon. Thanks!
Originally posted by Emoluvjd2 If your up to it, could a level preview mode be possible?
Not possible for now. To get a better scalling sense, you can probably use some measuring system in your 3D modeller (AFAIR, I think has has been already discussed in some other thread). |
BigBrain
Member
Level: 22
   
Posts: 66/85
EXP: 55318 For next: 3032
Since: 09-10-08
Since last post: 8.9 years Last activity: 6.8 years
|
|
Originally posted by messiaen
Originally posted by spinout
for (i=0;i<PointListLen;i++,TriCount++) {
TriList[TriCount].Vert[0] = PointList[0];
TriList[TriCount].Vert[1] = PointList[i+1];
TriList[TriCount].Vert[2] = PointList[i+2];
}
I hope this helps!
Seems simple, I can probably flexibilize my parsing code by using strtok() to find the number of faces in polygon. Thanks!
I'd advise you against using this code for other polyons than tris and quads, since it might produce strange effects when using higher order polygons than quads (if the polygon isn't concave* for example). These effects would be a pain to properly recognize and "debug", so you should probably fail (not just warn or be quiet) if someone tries to import an obj file containing faces with more than 4 edges (not sure whether you're doing that already).
But for triangles and quads this code works just fine of course, yeah.
* I think the problems even only arise if the polygon _is_ concave. For convex faces you might still try to apply the algorithm, but that'd bloat the "validity" check on the other hand, so you might be best off just disabling support for anything greater than quads.
|
messiaen
Catgirl
Level: 68
   
Posts: 768/1085
EXP: 2596321 For next: 132479
Since: 11-20-07
Since last post: 8.1 years Last activity: 7.2 years
|
|
BigBrain: Thanks for claryfying that. Currently, the last version of the importer fails on anything other than triangles, just to avoid people reporting that half of the faces are missing (quads). I might suport quads then, but break if a polygon with more than four faces is found in the .obj file. |
Aamelo
Member
Level: 17
   
Posts: 32/46
EXP: 21280 For next: 3463
Since: 08-06-09
Since last post: 11.8 years Last activity: 10.8 years
|
|
I Updated My level, but i won't be able to post it here until i have it fixed, because, Every time I open the level with TT it won't show the terrain and it only shows the items floating, and, after moving a little, the screen [of toad tool] turns Dark Blue.
Help? |
Gecko
Member
Level: 25
   

Posts: 80/113
EXP: 83089 For next: 6531
Since: 03-27-09
Since last post: 9.1 years Last activity: 7.7 years
|
|
This bug has been reported before. Turn back to version 0.7 until there's a new version of either the importer or TT64.  |
spinout
Random nobody
Level: 6
   

Posts: 3/4
EXP: 533 For next: 374
Since: 02-28-10
Since last post: 12.1 years Last activity: 11.9 years
|
| Posted on 03-02-10 11:26:34 PM (last edited by spinout at 03-07-10 06:40 AM) |
Link | Quote
| |
Originally posted by BigBrain
Originally posted by messiaen
Originally posted by spinout
for (i=0;i<PointListLen-2;i++,TriCount++) {
TriList[TriCount].Vert[0] = PointList[0];
TriList[TriCount].Vert[1] = PointList[i+1];
TriList[TriCount].Vert[2] = PointList[i+2];
}
I hope this helps!
Seems simple, I can probably flexibilize my parsing code by using strtok() to find the number of faces in polygon. Thanks!
I'd advise you against using this code for other polyons than tris and quads, since it might produce strange effects when using higher order polygons than quads (if the polygon isn't concave* for example). These effects would be a pain to properly recognize and "debug", so you should probably fail (not just warn or be quiet) if someone tries to import an obj file containing faces with more than 4 edges (not sure whether you're doing that already).
But for triangles and quads this code works just fine of course, yeah.
* I think the problems even only arise if the polygon _is_ concave. For convex faces you might still try to apply the algorithm, but that'd bloat the "validity" check on the other hand, so you might be best off just disabling support for anything greater than quads.
I'm pretty sure it works for any amount of points within a .obj "f" polygon. |
BTTF Forever
Member
Level: 20
   

Posts: 17/70
EXP: 39142 For next: 3297
Since: 02-08-10
From: Australia
Since last post: 11.3 years Last activity: 11.3 years
|
| Posted on 03-03-10 03:51:37 AM (last edited by Metal_Man88 at 03-03-10 03:10 AM) |
Link | Quote
| |
Originally posted by messiaen Can you send me the .obj file? The break when finding quads was a last minute addition which I didn't test.
This post made less stupid by Metal Man. Edited, less stupid version follows.
its the bedroom.zip i posted a few posts back when i had an error, i tried importing that .obj file in 0.8 beta and it didn't work.
i am looking forward to another beta.
If you wish to subject yourself to useless text, view the text commented below this post. I do not advise it, for it will add nothing of value to the post.
____________________ Scream some more incomprehensible gibberish at You In The Future.........Or The Past!
Long Live Back To The Future 2! |
messiaen
Catgirl
Level: 68
   
Posts: 770/1085
EXP: 2596321 For next: 132479
Since: 11-20-07
Since last post: 8.1 years Last activity: 7.2 years
|
| Posted on 03-03-10 12:24:11 PM (last edited by messiaen at 03-03-10 12:59 PM) |
Link | Quote
| |
Thanks, I looked at the .obj file and I found what fooled my quads detection. I have changed my mind and will probably release a "beta 2" of the 0.8 version because I did some internal changes in the program which I would like to test. Previously I was using system() to launch ImageMagick's converter, but now I'm using ShellExecute from the Windows API which gives me more control over some conditions, such as working directory.
Also, ImageMagick's was updated with a minor fix which will be important if I finish the alpha support for v0.8. Implementing it has been difficult, because I have to build separate display lists each time a texture uses alpha due to the way graphics are rendered in Mario 64.
Edit: I found the bug that prevented the terrain to show up in TT64, turns out it was my fault , I was experimenting a few settings and forget to correct a pointer. Also, I finished the alpha support, so instead of a beta it will be the "final" 0.8 release. |
BTTF Forever
Member
Level: 20
   

Posts: 18/70
EXP: 39142 For next: 3297
Since: 02-08-10
From: Australia
Since last post: 11.3 years Last activity: 11.3 years
|
|
cool, im glad you got those bugs fixed, you dont know how much this means to me to be able to import custom levels, i'm really greatfull, and thanks for helping me out with my problems, i appreciate that.
PS: i dont know why metal man had to edit my post? 
____________________ See You In The Future.........Or The Past!
Long Live Back To The Future! |
SuntaMan
No, you see, "banned" means "go away."
Level: 8
   
Posts: 1/10
EXP: 2107 For next: 80
Since: 03-04-10
Since last post: 12.1 years Last activity: 12.1 years
|
|
| Hey, I-m new here, an I've a problem: when I export a level (from SketchUp, triangulated), the textures won't load and Mario can pass trough some walls and can-t pass in some normal places |
messiaen
Catgirl
Level: 68
   
Posts: 772/1085
EXP: 2596321 For next: 132479
Since: 11-20-07
Since last post: 8.1 years Last activity: 7.2 years
|
|
SuntaMan: just wait for the new version, it should fix some texture bugs related to paths.
BTT, this is how your .obj looks:
The only thing left to adjust in v0.8 is to enhance a bit the alpha channel support. For that matter, only .PNG files will be supported. |