]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Support filtering
authorTimePath <andrew.hardaker1995@gmail.com>
Sun, 16 Aug 2015 10:38:47 +0000 (20:38 +1000)
committerTimePath <andrew.hardaker1995@gmail.com>
Sun, 16 Aug 2015 10:38:47 +0000 (20:38 +1000)
qcsrc/menu/xonotic/dialog_media_guide.qc

index 8ea4214fbf534b8f2ccbe8afa4a285c73a97aa80..e7b573ff5ec68967f00ae6116aa5a55f7e9ff18a 100644 (file)
@@ -37,6 +37,7 @@ CLASS(DebugSource, DataSource)
     .string name, icon;
     ATTRIB(DebugSource, entryName, .string, name)
     ATTRIB(DebugSource, entryIcon, .string, icon)
+    string DebugSource_activeFilter = "";
     .entity chain;
     METHOD(DebugSource, getEntry, entity(int))
     entity DebugSource_getEntry(int i) {
@@ -45,6 +46,7 @@ CLASS(DebugSource, DataSource)
         for (e = findchainfloat(instanceOfObject, true); e; e = e.chain) {
             if (e.classname == "vtbl") continue;
             if (e.instanceOfItem) continue;
+            if (strstrofs(sprintf("entity %i", e), DebugSource_activeFilter, 0) < 0) continue;
             if (idx++ == i) break;
         }
         static entity entry;
@@ -55,11 +57,13 @@ CLASS(DebugSource, DataSource)
     }
     METHOD(DebugSource, reload, int(string))
     int DebugSource_reload(string filter) {
+        DebugSource_activeFilter = filter;
         int idx = 0;
         entity e;
         for (e = findchainfloat(instanceOfObject, true); e; e = e.chain) {
             if (e.classname == "vtbl") continue;
             if (e.instanceOfItem) continue;
+            if (strstrofs(sprintf("entity %i", e), DebugSource_activeFilter, 0) < 0) continue;
             idx++;
         }
         return idx;