<- 1  -   of 75 ->
^^
vv
List results:
Search options:
Use \ before commas in usernames
does this mean we are a step closer to having a way to make MP1 easily hackable(fully custom games)?
every piece of progress that gets posted here puts us a step closer.
well, I suppose that makes sense
From what I can tell though this just means texture mods, mapping out custom clipping and such will still be difficult
(Although I'm totally probably wrong)
This is for custom materials (not textures - not the same thing) and it's a rather important step if we ever want to have completely custom models and such.
Whoops. We already cracked textures, why am I not paying attention
Edit history:
Aruki: 2015-04-08 03:46:22 pm
Aruki: 2015-04-08 02:20:23 pm
Materials are basically what determines what a surface looks like. It does determine which textures get used on the model, but there's almost always more than one texture, and there's sometimes no textures at all, so that certainly isn't the only thing it does. In Metroid Prime they determine how a bunch of different color sources are mixed together to give a surface its ingame appearance, as well as things like how the surface is lit, whether Samus's reflection shows up on it, how texture coordinates are generated, how texture coordinates are animated (which is used for scrolling textures, reflections and specularity that move with the camera, etc), among other things.

Everything's on the wiki if you're interested in more specifics.
damn, after going through that wiki page all I can say is, there's a lot of konst where it should be const
Konst is correct, that's the term Nintendo uses in the documentation.
wow, I actually expected it to be proper english grammar... well, guess I can't be right all off the time when it comes to documentation...
Edit history:
Antidote: 2015-04-08 11:09:18 pm
Retro also uses 'konst' rather than 'const' internally, e.g: their zero vector static member is called "skZeroVector"

Translation: "static const CVector3f(0)"
I'm just assuming the reason is because "k" is more distinguishable when abbreviated. Konst colors are abbreviated in GX function names like "GXSetTevKColor" for instance. Makes it obvious what it's referring to. In Retro's case, "C" is already used as the class prefix, so it makes sense to distinguish const values with k instead of c. (Although that didn't stop them with "s", which is used for both structs and for static variables.)
Edit history:
jackoalan: 2015-04-09 06:34:48 pm
Quote from wowsers:
wow, I actually expected it to be proper english grammar... well, guess I can't be right all off the time when it comes to documentation...

The trouble with english grammar in programming is that it sometimes clashes between mechanisms and introduces ambiguities..

I'm sure "const" is not used for identifying KColors since it is a reserved keyword in the C/C++ programming languages (which Nintendo's SDKs are written in):
http://en.wikipedia.org/wiki/Const_(computer_programming%29

This means that Nintendo's developers wouldn't be able to use the term "const" in their code without the compiler yelling at them..
I thought they did it like khronos and opengl, ALL CAPS RAGE!! But seriously, writing your own keywords with all-caps and/or an aberration (think GL_INT, GL_FLOAT... possibly just "CONST" or "NT_CONST"). That's a nice way to do it, makes actual programming easier (at least for me).
ALL_CAPS is typically reserved for macros. Also, even if Nintendo wanted to write their SDK that way it would be lame of them to force every developer to write their code that way as well. It's just infinitely simpler to use something that's more distinguishable and doesn't clash with any keywords.
Edit history:
jackoalan: 2015-04-09 10:17:19 pm
jackoalan: 2015-04-09 06:53:29 pm
Admittedly, every programmer's naming conventions will vary in some way.. Substituting 'K' for 'C' in identifiers isn't exclusive to Nintendo either..
Python's core library sometimes uses 'klass' to identify a local-variable containing a class-reference (again, 'class' being a reserved keyword)
Edit history:
Antidote: 2015-04-10 04:18:41 am
Jack and I spent the better part of 2 hours investigating the AROT section of MREA and we think we've got the structure pretty well figured out, still need to figure out the bitmasks though.
AROT was certainly a brain-bender, but once the relationships between octants became clear, everything fell into place
Edit history:
Antidote: 2015-04-11 12:59:24 pm
Took a look at MP2's ANCS files, and it turns out that they changed a few things, however even though ANCS doesn't technically have a version (just to shorts at the beginning) we're able to tell which version we need to load. Which makes things a little less painful.

What we can check is actually part of the CharacterNode, the value after the node ID is a value which determines which particle lists are available, but we can also re-purpose that to detect MP2, in MP1 it's either 5 or 6, in MP2 it's always 10, and since it's reliable (so reliable I set an assert, something which you normally only do when you KNOW something shouldn't happen) we're able to use that as our "Version" field.
Sorry if I'm interrupting, but is there any chance that you guys have looked into whether or not it's possible to change what weapons/upgrades/health the player(s) has at the beginning of these games?
west furnace access why
I'm pretty sure it is possible. Someone feel free to correct me if I'm wrong.
Yeah, that stuff is handled by spawn point objects. You can change the properties on the Landing Site spawn to set Samus's inventory to whatever you want.
Edit history:
jackoalan: 2015-04-16 03:33:21 pm
So far, pretty much all of AROT is known; it will eventually control rendering of areas in RetroView.
http://www.metroid2002.com/retromodding/wiki/AROT_(MREA_Section%29

Here's a visualization of the root-octant's relationships with the area meshes:
The pirates need to get a new painter.