MCPcopy Index your code
hub / github.com/assaultcube/AC / loopvrev

Function loopvrev

source/src/texture.cpp:886–898  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

884 loopvrev(files) if(files.inrange(i + 1) && !strcmp(files[i], files[i + 1])) delstring(files.remove(i + 1)); // remove doubles
885 int pn = strlen("packages/textures/");
886 loopvrev(files)
887 {
888 bool filtered = filter.length() == 0, excluded = false, extmatch = false;
889 if(!strncmp(files[i], "packages/textures/", pn))
890 {
891 const char *s = files[i] + pn;
892 loopvj(filter) if(!strncmp(s, filter[j], filter_n[j])) filtered = true;
893 loopvj(exclude) if(!strncmp(s, exclude[j], exclude_n[j])) excluded = true;
894 int n = strlen(s);
895 loopvj(exts) if(n > exts_n[j] && !strcmp(s + n - exts_n[j], exts[j])) extmatch = true;
896 }
897 if(!extmatch || !filtered || excluded) delstring(files.remove(i));
898 }
899 vector<char> res;
900 bool cutprefix = filter.length() == 1;
901 bool cutext = exts.length() == 1 && exts[0][0] != '.';

Callers 2

gettexturelistFunction · 0.70
sorttextureslotsFunction · 0.70

Calls 4

delstringFunction · 0.85
loopvjFunction · 0.70
lengthMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected