Page 74 of 123

Re: Señor Casaroja's Noesis

Posted: Sat Jul 21, 2012 9:15 pm
by MrAdults
You want to use toMat43_XYZ for Euler XYZ convention. If you have other conventions, you can easily code your own conversion by just generating a matrix with something like:

Code: Select all

	mat = NoeMat43()
	mat.rotate(a[2], NoeVec3(0.0, 0.0, 1.0))
	mat.rotate(a[1], NoeVec3(0.0, 1.0, 0.0))
	mat.rotate(a[0], NoeVec3(1.0, 0.0, 0.0))
This example is how you would manually generate a rotation matrix from Euler XYZ.

Re: Señor Casaroja's Noesis

Posted: Sun Jul 22, 2012 5:26 pm
by Demonsangel
I was writing a sort of tutorial for Noesis, but was thinking it might be better to provide a manual with examples in it.
I've cooked up a tiny example (which looks horrible atm) as a preview.

What would all be useful? I started with explaining the classes/ functions in noesis_inc with some examples.
I was then going to recreate Chroxx's tutorials and add others.

I thought this would be useful since I've only noticed 4 people posting Noesis scripts (MrAdults, Chroxx's, Finale and myself (and I didn't even post that many), sorry if I missed someone) and would hopefully encourage people / make it easier for people to start creating Noesis scripts.
I know most people that come here want everything spoonfed and the excuses "I don't want to invest my time in learning" make me want to vomit, but there have to be more people with a braincell count larger than their shoesize.

The idea is to put a lot of tips in there that don't seem obvious for starters (like defining materials before rapi.commitTriangles, god I felt like an idiot)

I'm still a noob at Noesis for the most part so any help is welcome, especially finding mistakes I made in explaining the material

/end incohesive rambling

Re: Señor Casaroja's Noesis

Posted: Sun Jul 22, 2012 7:12 pm
by finale00
"I don't want to invest my time in learning"
Lol I think the more common rationale would be "I'm too lazy to learn"

I'm usually lazy to learn a new tool (eg: new API, new techniques), or new concepts unless I am greatly interested or just have motivation to learn something new for whatever reason.

But I knew python and some 3D concepts, so I just need a couple tutorials that pointed out which methods to use to draw the stuff I want (chrrox's basic 3D model tutorial made it pretty straightforward).

Figuring out hex was a new concept but I think I was following one of chrrox's "figure out a simple format" guide where he just takes some specs and parses it and figured out how hex works from there.

Looking at source code didn't help much cause unless you already know what you're looking for, you're pretty much missing the "how did you figure that out?" part of the process. Which is pretty much the whole thing; the code itself isn't the hard part unless you can churn out full specs like a beast but don't know how to write code.

Re: Señor Casaroja's Noesis

Posted: Sun Jul 22, 2012 9:28 pm
by Demonsangel
I think there's a difference and python, compared to c++, is easy to learn. Practically any question you have about basic python is answered on stackoverflow

I never felt like helping people that never wanted to put in any effort themselves for something they wanted to be done.
My second post here was about reversing the guild wars 1 format. I had never opened a hex editor before and like 2 weeks after you mentioned Noesis I had a script made that did some basic importing. All this was during my exams, so I didn't have a lot of time. Granted, the script was a clusterfuck, but figured it was better than begging someone to take a look at it, sitting there wondering why it isn't done yet.

It's just a pity there's only 3 other people I can ask questions. I find it's easier to script for Noesis, thanks to the way MrAdults made the engine, than it was for blender.

I remember a topic where chrrox gave the entire layout (which was pretty damn easy and small) of a format, we linked him to tutorials etc. You could say all he had to do was fill in a premade form and he refused. I wonder why I should help someone like this and what they need to models for anyways.

Re: Señor Casaroja's Noesis

Posted: Sun Jul 22, 2012 10:45 pm
by finale00
Ya, python is pretty easy compared to some other languages like those in the C-family.
I wonder if it's the fact that people don't want to learn another language.

For example, I spent a few days to learn ruby. Maybe if noesis had a ruby API would people use it?
Or perhaps a java API?

If it is a language issue, then maybe people can suggest what kind of languages they would prefer to program in.

Implementing a scripting API for custom language of your choice would be something good to know. After all, when you consider something like a game engine, it is just not powerful unless you can give users the ability to write their own stuff.

But I guess you will need to know your C(++) for that lol

Re: Señor Casaroja's Noesis

Posted: Sun Jul 22, 2012 11:04 pm
by howfie
Don't pull any of yours hairs out lol. Do this for yourself and do whatever games you want to get the models you want and fuck everybody else. Don't worry about what other people want or do with the models you extract, it will make you sick lol. Just do what you do and know it's cool to share the rewards.

The people who don't want to learn how to extract are smarter than we are.so we extracted models from xxx game. Did we learn anything we didn't already know? No, probably not. Did we make any money? Nope. Did we do anything that will one day help us make money? Probably not. How much time did we waste? A week? A month? If all your interested in is how the models are made like other people are, then downloading an unreal game and using gildor's tools is 10 minutes worth of work. Brilliant! All we did is waste time for nothing.

Btw, I always tellpeople who say python is easier to learn than xxx that I want to slap them, so let me slap you demonsangel lol. I can use both and its the same shit to me. A variable is a variable, array is an array, a loop a loop, an if an if, a class a class, a self a this, same dot syntax... just python and Java have more functionality and diversity in their libraries. As Bruce eckel once put it, python has a library for fucking everything. But at the core of every language is the same limiting lalr compiler or parser. In other words every computer language is a list of statements and expressions.

Re: Señor Casaroja's Noesis

Posted: Sun Jul 22, 2012 11:24 pm
by Demonsangel
C++ is a goddamn nightmare.
Everytime I see some c++ code I spend an hour trying to figure out what the hell they just did because they managed to do the same thing everyone else did in yet another way making it look completely different.
I've asked plenty of people who use c++ on a daily/professional basis about some snippets of code and most of the time they're "idunno" as well.
I can read most of it, I can write some of it, if I can I avoid it.


I've only been doing this since january, so yes, every time I open a format I learn something new, not only about the format but also about 3d game engines and other properties.
Apart from recently looking at Guild Wars 2, mostly out of curiostiy because I couldn't get Guild Wars 1 to work (and now I know why, lol) I've only reversed format from games I actually own and I'm interested in. I haven't done anything with the models, but I won't consider it all for nothing. It's a hobby, it's supposed to waste my time.

Don't you get excited when you take the first look at a format? Or a kick when that thing's actually imported? I might be weird, but I do.

Anyways, not exactly what I aimed for when I first posted. Was just wondering if it would be futile to continue the manual or not.

Re: Señor Casaroja's Noesis

Posted: Mon Jul 23, 2012 12:04 am
by howfie
now that you mention it, at first, yeah, it was kind of exciting. but after a year of the same old same old, it's really hard to get excited. just like sex lol. remember that first time? how many seconds was it after you first put it in till you imploded lol? now how long does it take? 10 - 20 minutes? an hour?

ha ha ha i wouldn't bother with that manual, your time is probably better spent doing something for yourself since maybe only 1 or 2 people over the next year may actually make use of it. maybe working on another game where say 100+ people get some joy out of it... want to work on orochi 3? it's got some hot-ass female models in there.

btw, the only thing in C++ that should be difficult for even professional level C++ programmers is template metaprogramming (and even then they should be able to at least recognize it when they see it). anything else and they should be ashamed of themselves for saying "i dunno" lol. if there were C++ questions in the coding forum, i would be answering them (but there never are :P).

Re: Señor Casaroja's Noesis

Posted: Mon Jul 23, 2012 12:27 am
by Demonsangel
I've got no idea what template programming even is but I don't think they should be ashamed if someone used some exotic overcomplicated way to do something and they didn't recognise it instantly.

Might just be my hatred for c++ talking, but I think you're oversimplifying things. And I never meant that they couldn't figure it out
I was eventually going to try and convert my scripts to dll's, so I'll be haunting your dreams with all my questions now.

Re: Señor Casaroja's Noesis

Posted: Mon Jul 23, 2012 12:39 am
by howfie
noesis plugin dlls? you're thinking about going the revelation way? like robots? want to work together on a noesis plugin for Macross when it comes out (that is, extraction permitting)?

Re: Señor Casaroja's Noesis

Posted: Mon Jul 23, 2012 12:48 am
by finale00
Lol I looked at a couple C++ plugins but wasn't really sure what I needed, and didn't really take the time to actually look at them carefully to determine what does what.

Then again, it's probably the same process anyways: register plugin, type check, load model, rpg calls and whatever, then return 1 when you're done.

Re: Señor Casaroja's Noesis

Posted: Mon Jul 23, 2012 1:17 am
by Demonsangel
I'm pretty sure my c++ wil be an even greater halfassed clusterfuck than my python.
When would it come out, someone I know is looking for people for an arpg project and my internship year starts soon.

The noesis part won't be difficult, it's finding the most efficient way to process everything that'll be the hardest for me.

I've tried using c++ more, I usually got fed up and converted it to python. Always leaves a bad taste in my mouth. :p

Re: Señor Casaroja's Noesis

Posted: Mon Jul 23, 2012 1:21 am
by finale00
it's finding the most efficient way to process everything that'll be the hardest for me.
I think you can write horribly bad inefficient code (without doing stupid things), and would still run faster than python LOL

Re: Señor Casaroja's Noesis

Posted: Mon Jul 23, 2012 1:46 am
by howfie
Rich is pretty old-school; constructors with single pointer arguments should be declared explicit to prevent people from saying things like

Code: Select all

RichAngles a = 0;
which would cause your program to crash. RichAngels? Oh what are RichAngles ? :-P

P.S.
I'm just teasing you Rich lol ;-). When you come back don't take offense :-). It doesn't look that bad, everything's pretty much in pluginshare.h. Noesis calls your DLL's NPAPI_Init function. It gives you two C-struct interfaces that contain a bunch of function pointers that give you access to Noesis' internal functions. Fairly standard plugin/interface system that's actually very similar to how LightWave's plugin system works as well. Pretty nasty for anyone who doesn't know C and C++ pretty well :-). Even I'm sitting here wondering how from those two interfaces do I get access to the functions declared in the noeRAPI_s interface.

Re: Señor Casaroja's Noesis

Posted: Mon Jul 23, 2012 1:55 am
by howfie
actually finale, i think what demon meant by that was not how fast his code runs but how fast he can get things done (faster in python). but good god my batch rippers already normally take 10 to 30 minutes to extract and process models. in fact, my next ripper for saint's row is going to top that 30 minute mark LOL!