File tree Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -99,6 +99,13 @@ class GDCompiler extends reflaxe.DirectToStringCompiler {
9999 **/
100100 var compilingInConstructor : Bool = false ;
101101
102+ #if generate_resource_export_list
103+ /**
104+ A list of resources preloaded by the code.
105+ **/
106+ var usedResources : Array <String > = [];
107+ #end
108+
102109 public function new () {
103110 super ();
104111
@@ -141,6 +148,11 @@ class GDCompiler extends reflaxe.DirectToStringCompiler {
141148 if (Context .defined (Define . GenerateGodotPlugin )) {
142149 generatePlugin ();
143150 }
151+ #if generate_resource_export_list
152+ if (Context .defined (Define . GenerateResourceExportList )) {
153+ setExtraFile (" resource_export_list.txt" , usedResources .join (" , " ));
154+ }
155+ #end
144156 }
145157
146158 /**
@@ -390,7 +402,11 @@ ${exitTreeLines.length > 0 ? exitTreeLines.join("\n").tab() : "\tpass"}
390402
391403 switch (field .meta .extractExpressionsFromFirstMeta (Meta . Const )) {
392404 case [macro preload = $expr ]: {
393- overrideExpression = " preload(\" " + expr .getConstString () + " \" );" ;
405+ final path = expr .getConstString ();
406+ #if generate_resource_export_list
407+ usedResources .push (path );
408+ #end
409+ overrideExpression = " preload(\" " + path + " \" );" ;
394410 }
395411 case []: {
396412 // No arguments is allowed but doesn't do anything...
Original file line number Diff line number Diff line change @@ -64,4 +64,13 @@ enum abstract Define(String) from String to String {
6464 `-D gdscript_output_dirs` is defined.
6565 **/
6666 var GDScriptAlwaysUsePackagesInOutputFilenames = " gdscript_always_packages_in_output_filenames" ;
67+
68+ /**
69+ -D generate_resource_export_list
70+
71+ If defined, a `.txt` file contained a comma separated list of preloaded
72+ paths will be generated. These will be taken from uses of `@:const(preload = "path")`
73+ and do not account for normal calls to `preload` at the moment.
74+ **/
75+ var GenerateResourceExportList = " generate_resource_export_list" ;
6776}
You can’t perform that action at this time.
0 commit comments