| 276 | } |
| 277 | |
| 278 | void J2DAnmColorFull::getColor(u16 idx, GXColor *color) const |
| 279 | { |
| 280 | J3DAnmColorFullTable *info = &mTables[idx]; |
| 281 | |
| 282 | u16 maxFrame = info->mData[0][0]; |
| 283 | if (getFrame() < 0) |
| 284 | { |
| 285 | color->r = mRedVals[info->mData[0][1]]; |
| 286 | } |
| 287 | else if (getFrame() >= maxFrame) |
| 288 | { |
| 289 | color->r = mRedVals[info->mData[0][1] + (maxFrame - 1)]; |
| 290 | } |
| 291 | else |
| 292 | { |
| 293 | color->r = mRedVals[info->mData[0][1] + (int)getFrame()]; |
| 294 | } |
| 295 | |
| 296 | maxFrame = info->mData[1][0]; |
| 297 | if (getFrame() < 0) |
| 298 | { |
| 299 | color->g = mGreenVals[info->mData[1][1]]; |
| 300 | } |
| 301 | else if (getFrame() >= maxFrame) |
| 302 | { |
| 303 | color->g = mGreenVals[info->mData[1][1] + (maxFrame - 1)]; |
| 304 | } |
| 305 | else |
| 306 | { |
| 307 | color->g = mGreenVals[info->mData[1][1] + (int)getFrame()]; |
| 308 | } |
| 309 | |
| 310 | maxFrame = info->mData[2][0]; |
| 311 | if (getFrame() < 0) |
| 312 | { |
| 313 | color->b = mBlueVals[info->mData[2][1]]; |
| 314 | } |
| 315 | else if (getFrame() >= maxFrame) |
| 316 | { |
| 317 | color->b = mBlueVals[info->mData[2][1] + (maxFrame - 1)]; |
| 318 | } |
| 319 | else |
| 320 | { |
| 321 | color->b = mBlueVals[info->mData[2][1] + (int)getFrame()]; |
| 322 | } |
| 323 | |
| 324 | maxFrame = info->mData[3][0]; |
| 325 | if (getFrame() < 0) |
| 326 | { |
| 327 | color->a = mAlphaVals[info->mData[3][1]]; |
| 328 | } |
| 329 | else if (getFrame() >= maxFrame) |
| 330 | { |
| 331 | color->a = mAlphaVals[info->mData[3][1] + (maxFrame - 1)]; |
| 332 | } |
| 333 | else |
| 334 | { |
| 335 | color->a = mAlphaVals[info->mData[3][1] + (int)getFrame()]; |
no test coverage detected