Advertisement
Moolah60

ACNL Pattern stuff 1

Jan 10th, 2019
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1. int PatternUnknownSetter(Pattern* pattern) {
  2.     u16 unk1 = word_88EA5C[pattern->Type];
  3.     u16 tempBuffer[16]; // Each palette index (0 - 0xFF) has an entry in @byte_88E75C. This tempBuffer increments one of its values based on the palette index's offset value in that byte array.
  4.     if (pattern->Type == DesignType::PhotoBoard) {
  5.         for (u32 patternEntry = 0; patternEntry < 4; patternEntry++) {
  6.             for (u32 y = 0; y < 32; y++) {
  7.                 for (u32 x = 0; x < 32; x++) {
  8.                     if (byte_88E754[2 * patternEntry] + x < 0x34 && !(dword_88E85C[y + 32 * patternEntry] & (1 << x))) {
  9.                         u32 patternPixelPaletteIndex = (*(u32*) pattern->PatternData[4 * (((patternEntry * 0x80) & 0x1FF) + 4 * ((y & 0x1F) / 8))] >> (4 * x & 0x1F);
  10.                         if (patternPixelPaletteIndex == 0xF) {
  11.                             patternPixelPaletteIndex = 0;
  12.                         }
  13.  
  14.                         tempBuffer[byte_88E75C[pattern->Palette[patternPixelPaletteIndex]]]++;
  15.                     }
  16.                 }
  17.             }
  18.         }
  19.     }
  20. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement