<- 1  -   of 75 ->
^^
vv
List results:
Search options:
Use \ before commas in usernames
Where is that & what does it have attached to it? If anything
Edit history:
Antidote: 2014-09-15 06:34:09 pm
Antidote: 2014-09-15 06:26:41 pm
Antidote: 2014-09-15 06:25:47 pm
IIRC It's the room right before the one with the dying parasite causing trouble
It deactivates the turret.
Quote from Antidote:
IIRC It's the room right before the one with the dying parasite causing trouble
It deactivates the turret.

I'm assuming the seemingly misplaced scan-point is the reason why players can't disable the turret in-game? (Apologies if the question sounds stupid.)
Edit history:
Aruki: 2014-09-16 02:05:37 am
Aruki: 2014-09-16 02:05:14 am
yep, it would seem so lol



My guess is they wanted to remove this scan point for some reason and it was easier to just move it behind the wall than to actually delete it. Or they didn't want to actually delete it in case they wanted to put it back, or something.
Edit history:
arkarian: 2014-09-16 02:18:07 am
red chamber dream
another idea is they were playtesting it both ways and either left the scan point out of bounds rather than deleting it for some reason, or intended to move it back in but forgot.
I'll check if it's fixed in Trilogy real quick
Yep, it's there, lol
Edit history:
Antidote: 2014-09-16 10:45:15 am
I was looking through Overworld when I found this little gem:


They removed it entirely from CF, It's not on the ground, I checked.
Edit history:
Aruki: 2014-09-16 11:13:17 am
Aruki: 2014-09-16 11:05:47 am
LOL wow. I just set up PWE to render the invisible X-Ray platforms (since the black box that was appearing over them before are actually invisible now with materials being rendered correctly...).

Turns out the invisible platforms in Root Cave are actually from... Phendrana. (Ruined Courtyard)

Retro, plz
red chamber dream
no reason to design a new model for them ;)
phendrana platforms HYPE
reminds me of a Simmons SDS5
xD Thanks for having me make the connection there, I'll never be able to look at Ruined Courtyard again. lol
Yeh, why did Retro not give the appropriate textures to these "invisible" platforms!?! Evil or Very Mad
Probably because you can't actually tell ingame that they're covered in snow :P
hm, it seems my way of conveying sarcasm isn't really successful..
Edit history:
Aruki: 2014-12-02 04:14:34 am
Aruki: 2014-10-28 11:32:27 pm
Aruki: 2014-10-28 01:03:48 am
Aruki: 2014-09-19 01:29:10 am
Aruki: 2014-09-19 01:28:55 am
Aruki: 2014-09-18 04:29:17 am
Aruki: 2014-09-18 04:27:17 am
Aruki: 2014-09-18 04:23:38 am
Aruki: 2014-09-18 04:22:59 am
Aruki: 2014-09-18 04:22:22 am
Here's a little bit of documentation on the CMDL format; this is complete aside from a few values in the submesh headers

Quote:
// This is how CMDL is laid out: different parts of the file are split up into separate sections. The header of the file contains the number of sections and their sizes. Each section is 32-byte aligned.
// The first section is the materials, immediately after the header, and from then on section splits are generally at points where the type of data changes. For instance, vertex coordinates are a section, normals are a section, each submesh is a section, etc.

class cmdl
{
    // Header
    struct cmdl_header {
        u32 deadbabe;
        u32 version; // Prime: 2, Echoes Demo: 3, Echoes: 4, Corruption: 5
        u32 flags; // Bit 1 likely does nothing; Bit 2 marks whether normals are stored as shorts or floats; Bit 3 enables the short UV array
        float AABB[6];
        u32 section_count;
        u32 material_set_count;
        std::vector<u32> section_sizes;
    } header;

    // Materials
    struct material_set {
        u32 texture_count;
        std::vector<u32> texture_IDs;
        u32 material_count;
        std::vector<u32> material_offsets; // These offsets point to the end of each material, not the start. Offsets are relative to the start of the first material.

        std::vector<prime_material> materials;
    };
    std::vector<material_set> material_sets;

    // Mesh
    struct mesh {
        // There's no way to tell the number of elements in these arrays in advance. Best you can do is take the size of the entire section and divide it.
        std::vector<float> pos_array;
        std::vector<float> nrm_array; // If the normals are shorts, divide them by the submesh's mantissa value (always 0x8000) to get the float value
        std::vector<u32> color_array; // This is not used by anything as far as I know. Data format (u32) is a guess.
        std::vector<float> float_uv_array;
        std::vector<u16> short_uv_array; // Only present if bit 3 is set on the flags value in the header. Read the same way as short normals. This is not used by anything on CMDL and is always listed with a size of 0.

        u32 submesh_count;
        std::vector<u32> submesh_offsets; // These offsets point to the end of each submesh, not the start. Offsets are relative to the start of the first submesh.

        struct submesh {
            float pivot[3]; // Basically just the submesh's position value
            u32 materialID;
            u16 mantissa; // This is the number that short normals are divided by
            u16 primitive_table_size; // This value usually works, but it's not 100% reliable; occasionally the table is actually bigger than this value says it is (examples: Phendrana Ridley model, Samus's ship in Echoes). Use the section size or the submesh end offset to detect the end of the table instead.
            u32 unknown1;
            u32 unknown2;
            u32 extra_data_size; // Always 0 on CMDL
            float unknown3[3]; // A normalized vector; purpose unknown
            // Two extra u16s are present here on Echoes CMDLs
            std::vector<u8> extra_data; // Always empty on CMDL
            // Pad to multiple of 32 before primitive data begins

            struct primitive {
                u8 primitive_type; // Top five bits indicate primitive type. Bottom three bits indicate vertex attribute format.
                u16 vertex_count;
                struct primitive_vertex { // Check the vertex attribute flags on the material to tell which of these attributes are actually present. Echoes models can have an extra attribute present before pos.
                    u16 pos;
                    u16 nrm;
                    u16 color0;
                    u16 color1;
                    u16 uv0;
                    u16 uv1;
                    u16 uv2;
                    u16 uv3;
                    u16 uv4;
                    u16 uv5;
                    u16 uv6;
                };
                std::vector<primitive_vertex> vert_array;
            };
            std::vector<primitive> primitive_table;

        };
        std::vector<submesh> submesh_table;

    }  mesh;
};
So one more little tidbit... apparently that Galactic Federation questionnaire I found in Prime 3 is actually used in the Japanese version.



From Iwata Asks:

Quote:
Tanabe: Now that I think about it, you can choose the difficulty level as well. While in the American version, partly because of time issues, we made it so this was chosen directly by the player, in the Japanese version, we wanted to add a bit of "Nintendo flavor" to it, so the difficulty is decided by answering to a questionnaire from the Galactic Federation. That was an idea that came from Retro Studios… After you answer the questionnaire, they will tell you, "This is the difficulty level we would like to recommend to you."

Iwata: The idea of a questionnaire from the Galactic Federation is very interesting, isn't it? (Laughs)
Edit history:
Antidote: 2014-09-18 01:37:58 pm
Antidote: 2014-09-18 01:36:58 pm
Parax, that unknown set of values, it's a bounding box, It's just never properly initialized in CMDLs, but it's always reliable on MREAs.
I'm guessing it gets filled in at runtime and is used as an OBB for ragdoll physics. And since MREAs don't have ragdolls it makes since to fill that data in.
Well, the thing is, even if there's a bounding box there in MREA, there's also more data present in the MREA submesh header. The submesh header is 0x40 bytes long in CMDL and 0x60 bytes long in MREA. So the presence of a bounding box there in MREA doesn't necessarily mean that's what it is in CMDL.
That extra 0x20 bytes is mostly padding from what I can tell.
I'd rather leave it marked unknown unless you can prove definitively that it's allocated space for a bounding box.
What I would do to test that is fill it in with the minimum and maximum values used for each mesh, if it matches up properly that's probably what it's for, I'll give it a test real quick.
Quote from Paraxade:
            u16 primitive_table_size; // This value usually works, but it's not 100% reliable; occasionally the table is actually bigger than this value says it is (examples: Phendrana Ridley model, Samus's ship in Echoes). Use the section size or the submesh end offset to detect the end of the table instead.
            // There are a bunch of unknown 32-bit values here. The primitive table begins at (submesh start offset + 0x40).

    }  mesh;
};


Could these unknowns be a Vertex Declaration? Not that its uncommon for games to have a fixed vertex decl but just seems like the right place for it.