<- 1  -   of 75 ->
^^
vv
List results:
Search options:
Use \ before commas in usernames
https://www-01.ibm.com/support/knowledgecenter/ssw_aix_61/com.ibm.aix.alangref/idalangref_fsel_fp_instrs.htm

Quote:
The double-precision floating-point operand in floating-point register (FPR) FRA is compared with the value zero. If the value in FRA is greater than or equal to zero, floating point register FRT is set to the contents of floating-point register FRC. If the value in FRA is less than zero or is a NaN, floating point register FRT is set to the contents of floating-point register FRB.The comparison ignores the sign of zero; both +0 and -0 are equal to zero.
hmm, that's what I get for using a 3rd party opcode list, yeah, your interpretation is the correct one *fixes*
Edit history:
Antidote: 2015-08-10 01:23:43 pm
Antidote: 2015-08-10 01:09:07 pm
Antidote: 2015-08-10 01:08:43 pm
Antidote: 2015-08-10 01:08:21 pm
Oh, parax, that ref states that +0 and -0 are the same, but your code isn't checking for signedness, so -0 will be false:
this is what I'm doing instead:
Code:
inline float fsel(float a, float b, float c)
{
    return (a >= -0.f) ? b : c;
}


That also covers the +0 case.

EDIT:
Whoops, messed up the args.
I'm not really bothered by that. It doesn't need to be perfectly accurate in my case.
rewrote the ANCS template with everything we currently know about it:
https://gist.github.com/Antidote/bd477e2bd35f1f2193b4
Jack and I realized that MP2 animations weren't all that different from MP1, the biggest addition is scaling (MP approximated scaling by translating all required bones equally)

Very nice!
https://dl.dropboxusercontent.com/u/21757902/trooper.gif <- here's a gif it's big so I'm only linking it.
Well, we figured out part of the reason ZSS in MP2 looks like she has a load in her pants:

I don't know about you, but this has "Intern" written all over it.
I run this here hotel of an evening
This probably isn't the place to ask this but I didn't know where else.

Why is Dolphin telling me "You are using a free DSP ROM made by the Dolphin Team"? It says it for all my backups, most of which I ripped myself
DSP is the audio decoder
Dolphin dev
On a real GameCube/Wii, the DSP ROM is inside the console. It isn't present on any game disc, so Dolphin ships with a replacement for it in case you can't dump it from your own console. The DSP ROM is not needed if you're using DSP HLE.
Edit history:
Antidote: 2015-08-17 06:23:55 am
Whelp, a while back I found the crc32 table in primes code, and went about trying my crc32 implementation in Athena with no success. Last night I RE'd their CRC32 function in it's entirety to see what the heck retro was doing that was throwing off my code. Turns out that other than unrolling the loop and doing the calculation on a per-word basis, it's exactly what you'd expect with one very important exception. The CRC32 standard requires you return the sums compliment (xor by 0xFFFFFFFF, or return ~sum) however Retro isn't doing this! So with that bit of info in hand I modified my code and voila, I suddenly have unfettered access to MP's save data!

For reference here is MP's fully RE'd and properly simplified code:
https://gist.github.com/Antidote/a67f727a951fde6fe4d4

In hindsight I should have realized that from the beginning, but for some reason it just never came to mind to check the inverse value of the result. Embarassed
Edit history:
Antidote: 2015-08-17 07:28:23 am
Antidote: 2015-08-17 07:13:18 am
I've confirmed that it also works on MP2, MP2 seems to use the same or a similar format as SCLY, SCGN, SCAN, etc.

MP1 and MP2 saves are checksummed on a 0x1FFC byte basis. with the checksum preceding the data, I'm working on checking MP3.

EDIT: MP3 works too.
Edit history:
Aruki: 2015-08-17 09:38:11 am
Oh hey, that's pretty awesome. I'm pretty sure Miles was interested in pulling data from the save files so he should be interested in this. Nice work!

edit: Miles still doesn't want to post here but apparently he's already had a look through MP2's save data before to try to pull the value of the ingame timer; he says they use fourCCs to mark different sections of the file but it's not the SCLY format.
Ah, I did only glance at it.
Quick question, has anyone tried to look into the lights format from Prime 3/DKCR? I'm a little hesitant because the demo symbols were extremely useful for MP1/2 lights, and we don't have anything like that for 3/DKCR. Position/direction/color/type could probably be picked out fairly easily at least.
Edit history:
Antidote: 2015-08-17 04:34:14 pm
I've only cracked the format, I haven't had a chance to RE what each of the fields mean.

Code:
struct LightEntryMP3 // 4 layers
{
    uint lightType;
    float4 color;
    float3 position;
    float4 unk3;
    float power;
    float unk;
    float unk5;
    float unk6;
    byte unk7;
    uint unk8;
    uint unk9; 
    float unk10;
    uint unk11;
    float4 unk12;
    uint unk;
};

struct LightEntryDKCR // 8 layers
{
    uint lightType;
    float4 color;
    float3 position;
    float4 unk3;
    float power;
    float unk1;
    float unk2;
    float unk3;
    float unk4;
    float unk5;
    float unk6; 
    float unk7;
    uint unk8;
    byte unkBools[6];
    uint unk9;
    float3 unkFloats;
    uint unk10;
};
Oh parax, I was browsing through the PDF documents for the SDK and came to a realization that, while you're correct that GX doesn't have WORLD space directional lighting it does have VIEW space directional lighting. XD
Metroid Wiki
Hey guys, I may have asked this a long time ago but I've forgotten: What programs do you use to view the Prime models/textures (and, if applicable, what do you use to convert the unpaked files to be compatible)? I finally got a new computer today and I'm hoping to graduate from Mpxviewer, which never really worked right for me in the first place. :P (P.S., sorry to butt in on this more sophisticated conversation with significantly less impressive topics. :P)
I think the only released tool that can do it other than MpxViewer is Antidote's RetroView, and even that I don't think has a proper release so much as it's open source so you can go grab the in-development version and compile it yourself if you want. PWE will be able to view models/textures among other things, but I don't feel it's release-ready just yet. I think I should have something before the end of the year at the latest, hopefully.

Or if you want shoot me a PM and I might be able to give you a WIP build of PWE. I'm not really comfortable doing a public release yet (too many missing/unfinished features) but I've given out builds privately to a few people who have actual uses for it in its current state, which isn't that big of a deal to me.

By the way, if anyone cares, I'm still working my ass off on PWE pretty much all the time and there's progress happening on a regular basis. A lot of it I don't really feel is worth posting about, since this thread is mostly about reverse engineering research, and there isn't too much of that being done at the moment - just tools development. It is getting really close to actually being functional as a level editor so hopefully I'll be able to start testing some small-scale hacks done with it soon.
Metroid Wiki
I'm SUPER pumped about the PWE being finished, glad to hear it hasn't fallen to the wayside.
Pretty sure we're all interested Parax. If you wanted to start another thread about your progress with PWE I'd certainly enjoy reading about it.
I think I'd rather focus on developing the thing for right now. I'm really focused on getting the world editor to a state where you can actually edit the game maps with it. I think once that works smoothly is probably when I'll want to do a first release, and then hopefully after that I can do a lot of more frequent smaller updates as I continue adding features to it, rather than just having like one release every two years or something. When I get to that point that might be the best time to make a separate thread for it.
Edit history:
Antidote: 2015-08-23 12:25:13 am
Antidote: 2015-08-23 12:24:17 am
RV has a really horrible renderer (RE: non-existent) and has severe performance issues, Jack and I are working tirelessly RE'ing the engine's individual subsystems for our purposes, for those curious check out https://github.com/RetroView/PathShagged for details on our current progress, and contributions are welcome via patches or PRs.


PathShagged is an inside joke that anybody with the symbols will understand