|
@@ -28,6 +28,7 @@
|
|
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
|
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
|
/*************************************************************************/
|
|
/*************************************************************************/
|
|
|
|
|
|
|
|
+#include "core/io/json.h"
|
|
#include "core/io/tcp_server.h"
|
|
#include "core/io/tcp_server.h"
|
|
#include "core/io/zip_io.h"
|
|
#include "core/io/zip_io.h"
|
|
#include "editor/editor_export.h"
|
|
#include "editor/editor_export.h"
|
|
@@ -198,7 +199,7 @@ class EditorExportPlatformJavaScript : public EditorExportPlatform {
|
|
Ref<ImageTexture> stop_icon;
|
|
Ref<ImageTexture> stop_icon;
|
|
int menu_options;
|
|
int menu_options;
|
|
|
|
|
|
- void _fix_html(Vector<uint8_t> &p_html, const Ref<EditorExportPreset> &p_preset, const String &p_name, bool p_debug);
|
|
|
|
|
|
+ void _fix_html(Vector<uint8_t> &p_html, const Ref<EditorExportPreset> &p_preset, const String &p_name, bool p_debug, int p_flags);
|
|
|
|
|
|
private:
|
|
private:
|
|
Ref<EditorHTTPServer> server;
|
|
Ref<EditorHTTPServer> server;
|
|
@@ -238,15 +239,21 @@ public:
|
|
virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) {
|
|
virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ String get_debug_protocol() const { return "ws://"; }
|
|
|
|
+
|
|
EditorExportPlatformJavaScript();
|
|
EditorExportPlatformJavaScript();
|
|
~EditorExportPlatformJavaScript();
|
|
~EditorExportPlatformJavaScript();
|
|
};
|
|
};
|
|
|
|
|
|
-void EditorExportPlatformJavaScript::_fix_html(Vector<uint8_t> &p_html, const Ref<EditorExportPreset> &p_preset, const String &p_name, bool p_debug) {
|
|
|
|
|
|
+void EditorExportPlatformJavaScript::_fix_html(Vector<uint8_t> &p_html, const Ref<EditorExportPreset> &p_preset, const String &p_name, bool p_debug, int p_flags) {
|
|
|
|
|
|
String str_template = String::utf8(reinterpret_cast<const char *>(p_html.ptr()), p_html.size());
|
|
String str_template = String::utf8(reinterpret_cast<const char *>(p_html.ptr()), p_html.size());
|
|
String str_export;
|
|
String str_export;
|
|
Vector<String> lines = str_template.split("\n");
|
|
Vector<String> lines = str_template.split("\n");
|
|
|
|
+ Vector<String> flags;
|
|
|
|
+ String flags_json;
|
|
|
|
+ gen_export_flags(flags, p_flags);
|
|
|
|
+ flags_json = JSON::print(flags);
|
|
|
|
|
|
for (int i = 0; i < lines.size(); i++) {
|
|
for (int i = 0; i < lines.size(); i++) {
|
|
|
|
|
|
@@ -255,6 +262,7 @@ void EditorExportPlatformJavaScript::_fix_html(Vector<uint8_t> &p_html, const Re
|
|
current_line = current_line.replace("$GODOT_PROJECT_NAME", ProjectSettings::get_singleton()->get_setting("application/config/name"));
|
|
current_line = current_line.replace("$GODOT_PROJECT_NAME", ProjectSettings::get_singleton()->get_setting("application/config/name"));
|
|
current_line = current_line.replace("$GODOT_HEAD_INCLUDE", p_preset->get("html/head_include"));
|
|
current_line = current_line.replace("$GODOT_HEAD_INCLUDE", p_preset->get("html/head_include"));
|
|
current_line = current_line.replace("$GODOT_DEBUG_ENABLED", p_debug ? "true" : "false");
|
|
current_line = current_line.replace("$GODOT_DEBUG_ENABLED", p_debug ? "true" : "false");
|
|
|
|
+ current_line = current_line.replace("$GODOT_ARGS", flags_json);
|
|
str_export += current_line + "\n";
|
|
str_export += current_line + "\n";
|
|
}
|
|
}
|
|
|
|
|
|
@@ -430,7 +438,7 @@ Error EditorExportPlatformJavaScript::export_project(const Ref<EditorExportPrese
|
|
if (!custom_html.empty()) {
|
|
if (!custom_html.empty()) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- _fix_html(data, p_preset, p_path.get_file().get_basename(), p_debug);
|
|
|
|
|
|
+ _fix_html(data, p_preset, p_path.get_file().get_basename(), p_debug, p_flags);
|
|
file = p_path.get_file();
|
|
file = p_path.get_file();
|
|
|
|
|
|
} else if (file == "godot.js") {
|
|
} else if (file == "godot.js") {
|
|
@@ -469,7 +477,7 @@ Error EditorExportPlatformJavaScript::export_project(const Ref<EditorExportPrese
|
|
buf.resize(f->get_len());
|
|
buf.resize(f->get_len());
|
|
f->get_buffer(buf.ptrw(), buf.size());
|
|
f->get_buffer(buf.ptrw(), buf.size());
|
|
memdelete(f);
|
|
memdelete(f);
|
|
- _fix_html(buf, p_preset, p_path.get_file().get_basename(), p_debug);
|
|
|
|
|
|
+ _fix_html(buf, p_preset, p_path.get_file().get_basename(), p_debug, p_flags);
|
|
|
|
|
|
f = FileAccess::open(p_path, FileAccess::WRITE);
|
|
f = FileAccess::open(p_path, FileAccess::WRITE);
|
|
if (!f) {
|
|
if (!f) {
|