Page 2 of 123

Re: Spotlight: Señor Casaroja's Noesis

Posted: Fri Jun 11, 2010 2:02 am
by basil
MrAdults: When you talk about "replicating native platform debugging functionality in a script debugger," that sounds like you're thinking of creating a new scripting language instead of using an existing one. Tools like SWIG can create bindings between C++ code and existing scripting languages like Python or Perl, which come with their own debuggers. If you're still planning on it, good luck maintaining your API.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Fri Jun 11, 2010 4:57 am
by MrAdults
Yeah, the problem there is that neither of those languages facilitate direct memory access and debugging in native (e.g. Windows process) address space, and I think that is really vital in effectively discerning binary data in an all-in-one sort of workflow. I know lots of people do this stuff with nothing but hex editors, but really, I think a nice debugger makes the difference between cracking a format in a day and cracking it in a month. So debugging with full access to the underlying memory in all of your data structures and the file being observed, with the ability to cast any and all of that memory to language-native structures at runtime, is just a must-have here. Something like Python is very high-level and easy to understand, but it just does not lend itself to that kind of flexibility.

So...this led me to thinking along the lines of something like Quake 3 VM's, but anything like that would likely need a proprietary debugger. And once it was all up and running it would be awesome - a totally flexible sandbox with optional model-oriented language intrinsics and direct "native" memory casting/access is about the most you could ask for in terms of reversing model formats. But getting there probably isn't really worth the work, considering other things I could put all that work toward instead. :)

So, I've kind of settled back on native DLL's, but using a "soft" pointer-based interface with some trickery to make it behave and work like a class, but the class can be extended and changed radically without busting old plugins. I'm still playing with things a bit in finding a balance between exposing interfaces directly and wrapping them behind sure-fire API's for compatibility's sake, but I think it'll work out fine in the end.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Fri Jun 11, 2010 2:54 pm
by Wudan
Well, I would recommend python for plugins. It is an easy to learn and easy to read language and many of the barriers to deciphering a file format just aren't as big a deal. I guess the next best thing would be like a python (any mesh) to collada converter and then displaying this in Noesis would work.

(yes I have googled and found pycollada, investigating ...)

Re: Spotlight: Señor Casaroja's Noesis

Posted: Fri Jun 11, 2010 9:16 pm
by ReeceMix
MrAdults are you the program author of Noesis, and if so did you figure out all of the model formats yourself ?

I noticed there are a few japanese style game formats and was wondering if you could incorporate the 'Shenmue.MT5 Dreamcast Model format? (over at the http://www.shenmuedojo.net forums) We already have a 'slightly' 50% working program so a lot of the initial work has already been done and the sources are open for anyone to look at here http://github.com/yazgoo/mt5_extraction_tools

Personally this is very important to me and I and a few others would be willing to 'donate' money for a fully working program, If you can please help us.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sat Jun 12, 2010 12:40 am
by MrAdults
Wudan wrote:Well, I would recommend python for plugins. It is an easy to learn and easy to read language and many of the barriers to deciphering a file format just aren't as big a deal. I guess the next best thing would be like a python (any mesh) to collada converter and then displaying this in Noesis would work.

(yes I have googled and found pycollada, investigating ...)
I don't agree that python is good for this purpose, but you're more than welcome to implement your own python hooks via the native DLL plugin system! :) Another benefit of native binary - it's flexible enough that anyone can do whatever the hell they want with it, including laying interpreted languages on top of it.
ReeceMix wrote:MrAdults are you the program author of Noesis, and if so did you figure out all of the model formats yourself ?
Not all, there are plenty of formats in Noesis that have specs publicly available. I only re-invent the wheel when I have to (e.g. people don't release any specs or source).
ReeceMix wrote:I noticed there are a few japanese style game formats and was wondering if you could incorporate the 'Shenmue.MT5 Dreamcast Model format? (over at the http://www.shenmuedojo.net forums) We already have a 'slightly' 50% working program so a lot of the initial work has already been done and the sources are open for anyone to look at here http://github.com/yazgoo/mt5_extraction_tools

Personally this is very important to me and I and a few others would be willing to 'donate' money for a fully working program, If you can please help us.
For this and all other support-this-format-please requests, I think it's probably apparent just based on the number of requests in this thread thus far that I can't afford to allocate time to go after all of these formats myself on the request of others. That's what the whole of Xentax is for - start threads in the appropriate forums sharing all of your code/info, and let everyone contribute, rather than selectively asking people to help out. I'm also far more likely to help out in those circumstances, when I see someone has already started a thread on something with everything out in the open. However, I'm juggling a bunch of projects right now, and Noesis is taking a lower priority for a little while until I clear more of my plate off, which means I'll be even less active/able to take requests than usual.

I also would never accept any money for any of this. I do it purely for educational/recreational purposes. :)

Edit: Just so everyone's aware, I'm actually gonna be taking a programmer retreat for a week or two starting tomorrow, to deal with some of those other project issues I mentioned. Kind of a spontaneous decision, fueled by my utter lack of productivity in my "professional" work for the past several months. So I'll probably appear to be dead during that time. Feel free to continue posting and leaving feedback on Noesis here in the mean time! (and try not to send PM's/e-mails, the most depressing thing in the world after a productive retreat is coming back to 50 e-mails that are expecting a reply)

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sat Jun 12, 2010 7:49 pm
by shadowmoy
hi there , really nice app mradult !
some things that could be added :

in the opendialog, the file filter may contain the platform and the game name i think
something like :
[PC]Resident evil5 Model | *.mod
[xb360]Resident evil5 Model | *.mod

etc...
i already encountered several games using the same extension but not the same format/byte order on different hardwares,
it may be more convinient to know what filter to use for what game no ?

also adding a scripting support in it would be very nice, i hate dlls :p , and maybe chroxx and me can add some new models support to the large list you already have ^^

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sat Jun 12, 2010 11:45 pm
by firsak
2Mr.Adults

Don't know if this issue is game specific (Tekken 6) or concerns some other games.

Code: Select all

Output extension has set output file type to:
.dae - COLLADA
Detected file type: SC4 Model
Writing 'C:\Documents and Settings\Firsak\Desktop\New Folder\ntxr000.dds'.
Writing 'C:\Documents and Settings\Firsak\Desktop\New Folder\ntxr000.dds'.
Writing 'C:\Documents and Settings\Firsak\Desktop\New Folder\ntxr000.dds'.
Cleaned 8.00MB (in 2 pools).
As you can see, files overwrite each other. This only occurs with NMD files that contain textures only.
Is there a workaround for this at the moment? :) Maybe some command it would be wise to use?

Speaking of commands (advanced options). The only way that I found to get a list of commands was to launch mesh2rdm. :oops:

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sun Jun 13, 2010 3:51 am
by Tosyk
On the program's page i see version changing every time when i come. Where can i find change list?

Tekken6: when i convert other characters (backgrounds) i can't get weight data.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sun Jun 13, 2010 12:35 pm
by alvincx
thanks for the tool MrAdults, you're awesome!!

i'm just thinking if you could make that amazing tool like a posing program so that whenever we export the pose is already made..well just an opinion but hoping you could make it :)

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sun Jun 13, 2010 4:12 pm
by basil
shadowmoy wrote:in the opendialog, the file filter may contain the platform and the game name i think
something like :
[PC]Resident evil5 Model | *.mod
[xb360]Resident evil5 Model | *.mod
I'm pretty sure the Open dialog only allows filtering by filename or extension, so I'm afraid this is not possible. Besides, to check files' types without relying on the extension, you would have to open and read at least a part of each file.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sun Jun 13, 2010 10:54 pm
by FEATHER
it's AMAZING :D because works fine in the win 64 bit version

Re: Spotlight: Señor Casaroja's Noesis

Posted: Mon Jun 14, 2010 3:10 am
by AceAngel
I know you guys said specifically 'No Requests' and that the tool will be updated overtime, but I really need to ask this much and forgive me.

Please put up a History/Format tab so that we may know what things are available in the tool. Thank you.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Mon Jun 14, 2010 3:44 am
by basil
I think by "no requests" he mainly meant no asking to add specific 3D model formats. And also that he'll be gone for two weeks-- obviously, he can't take requests of any sort until he gets back. Unless he's psychic or something. You never know with these guys.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Wed Jun 16, 2010 7:57 pm
by NMCM
Maybe I'm the only one so far with a problem...but when I open the program it crashes before I could do anything. Windows Help and Support says it is Data Execution Prevention. I've tried adding it to the exception list but I got this: This program must run with data execution protection enabled. You cannot turn off (DEP) for this program.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Thu Jun 17, 2010 1:08 am
by basil
NMCM wrote:but when I open the program it crashes before I could do anything. Windows Help and Support says it is Data Execution Prevention.
I just enabled Data Execution Prevention on my end, but Noesis still works fine. (That's Noesis v1.31 on Windows 7.) Maybe you can enable DEP for Windows services/programs only instead of for all programs. Or maybe you should do a virus/malware check in case there's something else going on. (Rather vague suggestions, sorry.)