redumper icon indicating copy to clipboard operation
redumper copied to clipboard

Refactor sector data/size access based on mode

Open superg opened this issue 7 months ago • 0 comments

make this a function that returns Sector data pointer and size and reuse it everywhere:

            uint8_t *user_data = nullptr;
            bool user_form2 = false;
            if(sector.header.mode == 1)
            {
                user_data = sector.mode1.user_data;
            }
            else if(sector.header.mode == 2)
            {
                if(sector.mode2.xa.sub_header.submode & (uint8_t)CDXAMode::FORM2)
                {
                    user_data = sector.mode2.xa.form2.user_data;
                    user_form2 = true;
                }
                else
                {
                    user_data = sector.mode2.xa.form1.user_data;
                }
            }

            if(user_data != nullptr)
            {
                if(user_form2 == form2)
                {
                    uint32_t size = sectorSize(user_form2);
                    memcpy(sectors + sectors_read * size, user_data, size);
                    ++sectors_read;
                }
                else if(form_hint != nullptr)
                    *form_hint = true;
            }

superg avatar May 24 '25 12:05 superg