| 844 | |
| 845 | #ifndef SPAWN |
| 846 | void SetMapObjects(BYTE *pMap, int startx, int starty) |
| 847 | { |
| 848 | int rw, rh; |
| 849 | int i, j; |
| 850 | BYTE *lm, *h; |
| 851 | long mapoff; |
| 852 | int fileload[56]; |
| 853 | char filestr[32]; |
| 854 | |
| 855 | ClrAllObjects(); |
| 856 | for (i = 0; i < 56; i++) |
| 857 | fileload[i] = FALSE; |
| 858 | InitObjFlag = TRUE; |
| 859 | |
| 860 | for (i = 0; AllObjects[i].oload != -1; i++) { |
| 861 | if (AllObjects[i].oload == 1 && leveltype == AllObjects[i].olvltype) |
| 862 | fileload[AllObjects[i].ofindex] = TRUE; |
| 863 | } |
| 864 | |
| 865 | lm = pMap; |
| 866 | rw = *lm; |
| 867 | lm += 2; |
| 868 | rh = *lm; |
| 869 | mapoff = (rw * rh + 1) * 2; |
| 870 | rw <<= 1; |
| 871 | rh <<= 1; |
| 872 | mapoff += 2 * rw * rh * 2; |
| 873 | lm += mapoff; |
| 874 | h = lm; |
| 875 | |
| 876 | for (j = 0; j < rh; j++) { |
| 877 | for (i = 0; i < rw; i++) { |
| 878 | if (*lm) { |
| 879 | fileload[AllObjects[ObjTypeConv[*lm]].ofindex] = TRUE; |
| 880 | } |
| 881 | lm += 2; |
| 882 | } |
| 883 | } |
| 884 | |
| 885 | for (i = 0; i < 56; i++) { |
| 886 | if (!fileload[i]) |
| 887 | continue; |
| 888 | |
| 889 | ObjFileList[numobjfiles] = i; |
| 890 | sprintf(filestr, "Objects\\%s.CEL", ObjMasterLoadList[i]); |
| 891 | pObjCels[numobjfiles] = LoadFileInMem(filestr, NULL); |
| 892 | numobjfiles++; |
| 893 | } |
| 894 | |
| 895 | lm = h; |
| 896 | for (j = 0; j < rh; j++) { |
| 897 | for (i = 0; i < rw; i++) { |
| 898 | if (*lm) |
| 899 | AddObject(ObjTypeConv[*lm], startx + 16 + i, starty + 16 + j); |
| 900 | lm += 2; |
| 901 | } |
| 902 | } |
| 903 | InitObjFlag = FALSE; |
no test coverage detected