weapon: use original strings and add lookup for ammo names
[rofl0r-openDOW.git] / utils / spritesheet.c
blob0bc05b74eb02aed6ed4fa4132dd74fe8a6139d40
1 #include <leptonica/allheaders.h>
2 //RcB: LINK "-llept"
3 #include <stdio.h>
4 #include <assert.h>
6 int main(int argc, char**argv) {
8 if(argc < 4) {
9 dprintf(2, "spritesheet outfilename pic1 pic2 ...\n");
10 return 1;
12 int startarg = 1;
13 const char *out = argv[startarg++];
14 struct Pix* pout = 0;
15 int oy;
16 const int pixcount = argc - startarg;
17 while(startarg < argc) {
18 const char *a = argv[startarg++];
19 struct Pix* pa = pixRead(a);
20 struct Pix* pa32 = pixConvertTo32(pa);
22 if(pout == 0) {
23 pout = pixCreate(pa32->w, pa32->h * pixcount, 32);
24 oy = 0;
25 } else {
26 assert(pa32->w == pout->w && pa32->h == pout->h / pixcount);
28 int x, y;
29 for(y = 0; y < pa32->h; y++, oy++)
30 for(x = 0; x < pa32->w; x++)
31 ((uint32_t*)pout->data)[oy * pa32->w + x] = ((uint32_t*)pa32->data)[y * pa32->w + x];
33 pixDestroy(&pa);
34 pixDestroy(&pa32);
36 pixWritePng(out, pout, 0);
37 return 0;