1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
#define setCount(x) .count = x
#define setWord(x) .word = new (const char *[3])
#define setFunc(x) .func = new (void (*[3])())
void Reader::initSprites() {
threadCount = 2;
ready = new bool[threadCount];
operationCount = new int[threadCount];
operation = new (Operation (*[threadCount]));
///Sprite thread
operationCount[0] = 6;
operation[0] = new Operation[operationCount[0]];
operation[0][0] setCount(3);
operation[0][0] setWord (3) {"texture", "=", ""};
operation[0][0] setFunc (3) {NULL, NULL, &Sprites::Load::setTextureFile};
operation[0][1] setCount(3);
operation[0][1] setWord (3) {"sizeX", "=", ""};
operation[0][1] setFunc (3) {NULL, NULL, &Sprites::Load::setSizeX};
operation[0][2] setCount(3);
operation[0][2] setWord (3) {"sizeY", "=", ""};
operation[0][2] setFunc (3) {NULL, NULL, &Sprites::Load::setSizeY};
operation[0][3] setCount(3);
operation[0][3] setWord (3) {"offsetX", "=", ""};
operation[0][3] setFunc (3) {NULL, NULL, &Sprites::Load::setOffsetX};
operation[0][4] setCount(3);
operation[0][4] setWord (3) {"offsetY", "=", ""};
operation[0][4] setFunc (3) {NULL, NULL, &Sprites::Load::setOffsetY};
operation[0][5] setCount(3);
operation[0][5] setWord (3) {"sheet", "{", "}"};
operation[0][5] setFunc (3) {NULL, &Sprites::Sheet::Load::beginThread, &Sprites::Sheet::Load::endThread};
///Sheet thread
operationCount[1] = 6;
operation[1] = new Operation[operationCount[1]];
operation[1][0] setCount(1);
operation[1][0] setWord (1) {"vertical"};
operation[1][0] setFunc (1) {&Sprites::Sheet::Load::vertical};
operation[1][1] setCount(1);
operation[1][1] setWord (1) {"horizontal"};
operation[1][1] setFunc (1) {&Sprites::Sheet::Load::horizontal};
operation[1][2] setCount(3);
operation[1][2] setWord (3) {"firstX", "=", ""};
operation[1][2] setFunc (3) {NULL, NULL, &Sprites::Sheet::Load::setFirstX};
operation[1][3] setCount(3);
operation[1][3] setWord (3) {"firstY", "=", ""};
operation[1][3] setFunc (3) {NULL, NULL, &Sprites::Sheet::Load::setFirstY};
operation[1][4] setCount(3);
operation[1][4] setWord (3) {"frames", "=", ""};
operation[1][4] setFunc (3) {NULL, NULL, &Sprites::Sheet::Load::setFrames};
operation[1][5] setCount(3);
operation[1][5] setWord (3) {"variations", "=", ""};
operation[1][5] setFunc (3) {NULL, NULL, &Sprites::Sheet::Load::setVariations};
}
|