Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
*.ico
*.bin
*.tfs
*.dmp
*~

#Directories
Expand All @@ -70,6 +71,7 @@ TheForceEngine/Exports/
TheForceEngine/VTune Profiler Results/
TheForceEngine/glslang/
TheForceEngine/Documentation/blog posts/
TheForceEngine/ModCache/
BuildExes/
Build/
TheForceEngine/bug_reports/
Expand All @@ -79,3 +81,4 @@ CMakeFiles/

# Linux
TheForceEngine/tfelnx
/TheForceEngine/curl
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,14 @@ if(ENABLE_TFE)
if(UNIX)
find_package(PkgConfig REQUIRED)
find_package(SDL2 2.0.20 REQUIRED)
find_package(CURL REQUIRED)
pkg_check_modules(SDL2_IMAGE REQUIRED SDL2_image)
target_include_directories(tfe PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(tfe PRIVATE ${CURL_INCLUDE_DIRS})
target_include_directories(tfe PRIVATE ${SDL2_INCLUDE_DIRS})
target_include_directories(tfe PRIVATE ${SDL2_IMAGE_INCLUDE_DIRS})
target_link_libraries(tfe PRIVATE SDL2::SDL2main SDL2::SDL2
${SDL2_IMAGE_LIBRARIES}
${SDL2_IMAGE_LIBRARIES} ${CURL_LIBRARIES}
)

# set up build directory to be able to run TFE immediately: symlink
Expand Down
43 changes: 43 additions & 0 deletions TheForceEngine/Mods - Copy/MOD_CONF.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"TFE_VERSION" : 3,
"TFE_OVERRIDES": {
"levelOverrides": {
"SECBASE.LEV": {
"pistol": "false",
"rifle": "true",
"power": 300,
"detonator": 5,
"shields": 150,
"lives": 1,
"mine": 999,
"goggles": "true",
"mask": "true",
"enableNightVision": "true",
"defaultWeapon": 3,
"fogLevel": 100,
"plans": "true",
"phrik": "true",
"datatape": "true",
"nava": "true",
"dtWeapon": "true",
"code1": "true",
"code2": "true",
"code3": "true",
"code4": "true",
"code5": "true",
"yellowKey": "true",
"redKey": "true",
"blueKey": "true"
},
"TALAY.LEV": {
"bryarOnly": "true",
"lives": 1
},
"GROMAS.LEV": {
"bryarOnly": "true",
"lives": 1,
"fogLevel": 30
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
This is a built-in Mod based on the work by Paweł "Dzierzan" Dzierżanowski (https://twitter.com/Dzierzan23). The purpose of the mod is to allow the floating HUD elements in Dark Forces to be adjustable - specifically being able to move them away from the edges of the screen for widescreen displays.

Usage of this mod is automatic. The original assets were cut in order to simplify the use in-engine and avoid palette indexing issues. If you plan on using this content for other purposes, please contact the original author first.

* HudStatus*Addon.bm files were generated from the included PNG files.
* Only the bm files are used in-game using the same rendering system as the rest of the HUD.
* This mod works equally well with GPU or software rendering.
41 changes: 41 additions & 0 deletions TheForceEngine/Mods - Copy/TFE/AdjustableHud/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
project(
AdjustableHud
HOMEPAGE_URL "https://theforceengine.github.io"
DESCRIPTION "“The Force Engine’s” built‑in “AdjustableHud” mod"
)

add_custom_target(
${PROJECT_NAME}
""
SOURCES
AdjustableHud.txt
Credits.txt
HudStatusLeftAddon.bm
HudStatusLeftAddon.png
HudStatusRightAddon.bm
HudStatusRightAddon.png
BYPRODUCTS
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/AdjustableHud.txt"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/Credits.txt"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/HudStatusLeftAddon.bm"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/HudStatusLeftAddon.png"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/HudStatusRightAddon.bm"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/HudStatusRightAddon.png"
)

install(
DIRECTORY
"${CMAKE_CURRENT_SOURCE_DIR}"
DESTINATION
"${CMAKE_INSTALL_DATADIR}/Mods/TFE"
FILE_PERMISSIONS
OWNER_READ OWNER_WRITE
GROUP_READ
WORLD_READ
DIRECTORY_PERMISSIONS
OWNER_READ OWNER_EXECUTE OWNER_WRITE
GROUP_READ GROUP_EXECUTE GROUP_WRITE
WORLD_READ WORLD_EXECUTE
PATTERN
CMakeLists.txt EXCLUDE
)
3 changes: 3 additions & 0 deletions TheForceEngine/Mods - Copy/TFE/AdjustableHud/Credits.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Paweł "Dzierzan" Dzierżanowski

https://twitter.com/Dzierzan23
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added TheForceEngine/Mods - Copy/aons_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/arcadia_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/assault_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/asteroid_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/bfrevnge_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/bglory2_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/bglory_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/bhse_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/clnbase_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/commstat_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/condred_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/cspear1_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/dbk_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/deathst1_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/defbase_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/df42_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/dml-df10_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/dropship_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/dt1se_modern_fix.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/dtide2_modern.zip
Binary file not shown.
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/fortress_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/glop_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/gulag5_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/hotm_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/imprec_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/ironfort_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/jundland_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/keyan_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/killvader_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/library_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/mines_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/mtkurek_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/nerv_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/orspecial_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/outpost_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/rockgand_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/spdock_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/starsend_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/stealth_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/talos1_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/talos3_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/tmotmw_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/twrdoom_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/watrhunt_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/willot_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/wplant_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods - Copy/yavin_modern.zip
Binary file not shown.
43 changes: 43 additions & 0 deletions TheForceEngine/Mods2/MOD_CONF.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"TFE_VERSION" : 3,
"TFE_OVERRIDES": {
"levelOverrides": {
"SECBASE.LEV": {
"pistol": "false",
"rifle": "true",
"power": 300,
"detonator": 5,
"shields": 150,
"lives": 1,
"mine": 999,
"goggles": "true",
"mask": "true",
"enableNightVision": "true",
"defaultWeapon": 3,
"fogLevel": 100,
"plans": "true",
"phrik": "true",
"datatape": "true",
"nava": "true",
"dtWeapon": "true",
"code1": "true",
"code2": "true",
"code3": "true",
"code4": "true",
"code5": "true",
"yellowKey": "true",
"redKey": "true",
"blueKey": "true"
},
"TALAY.LEV": {
"bryarOnly": "true",
"lives": 1
},
"GROMAS.LEV": {
"bryarOnly": "true",
"lives": 1,
"fogLevel": 30
}
}
}
}
7 changes: 7 additions & 0 deletions TheForceEngine/Mods2/TFE/AdjustableHud/AdjustableHud.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
This is a built-in Mod based on the work by Paweł "Dzierzan" Dzierżanowski (https://twitter.com/Dzierzan23). The purpose of the mod is to allow the floating HUD elements in Dark Forces to be adjustable - specifically being able to move them away from the edges of the screen for widescreen displays.

Usage of this mod is automatic. The original assets were cut in order to simplify the use in-engine and avoid palette indexing issues. If you plan on using this content for other purposes, please contact the original author first.

* HudStatus*Addon.bm files were generated from the included PNG files.
* Only the bm files are used in-game using the same rendering system as the rest of the HUD.
* This mod works equally well with GPU or software rendering.
41 changes: 41 additions & 0 deletions TheForceEngine/Mods2/TFE/AdjustableHud/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
project(
AdjustableHud
HOMEPAGE_URL "https://theforceengine.github.io"
DESCRIPTION "“The Force Engine’s” built‑in “AdjustableHud” mod"
)

add_custom_target(
${PROJECT_NAME}
""
SOURCES
AdjustableHud.txt
Credits.txt
HudStatusLeftAddon.bm
HudStatusLeftAddon.png
HudStatusRightAddon.bm
HudStatusRightAddon.png
BYPRODUCTS
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/AdjustableHud.txt"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/Credits.txt"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/HudStatusLeftAddon.bm"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/HudStatusLeftAddon.png"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/HudStatusRightAddon.bm"
"${CMAKE_INSTALL_DATADIR}/Mods/TFE/${PROJECT_NAME}/HudStatusRightAddon.png"
)

install(
DIRECTORY
"${CMAKE_CURRENT_SOURCE_DIR}"
DESTINATION
"${CMAKE_INSTALL_DATADIR}/Mods/TFE"
FILE_PERMISSIONS
OWNER_READ OWNER_WRITE
GROUP_READ
WORLD_READ
DIRECTORY_PERMISSIONS
OWNER_READ OWNER_EXECUTE OWNER_WRITE
GROUP_READ GROUP_EXECUTE GROUP_WRITE
WORLD_READ WORLD_EXECUTE
PATTERN
CMakeLists.txt EXCLUDE
)
3 changes: 3 additions & 0 deletions TheForceEngine/Mods2/TFE/AdjustableHud/Credits.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Paweł "Dzierzan" Dzierżanowski

https://twitter.com/Dzierzan23
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added TheForceEngine/Mods2/aons_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/arcadia_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/assault_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/asteroid_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/bfrevnge_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/bglory2_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/bglory_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/bhse_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/clnbase_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/commstat_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/condred_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/cspear1_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/dbk_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/deathst1_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/defbase_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/df42_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/dml-df10_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/dropship_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/dt1se_modern_fix.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/dtide2_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/fortquad_modern_fix.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/fortress_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/glop_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/gulag5_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/hotm_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/imprec_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/ironfort_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/jundland_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/keyan_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/killvader_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/library_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/mines_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/mtkurek_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/nerv_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/orspecial_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/outpost_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/rockgand_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/spdock_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/starsend_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/stealth_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/talos1_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/talos3_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/tmotmw_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/twrdoom_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/watrhunt_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/willot_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/wplant_modern.zip
Binary file not shown.
Binary file added TheForceEngine/Mods2/yavin_modern.zip
Binary file not shown.
4 changes: 2 additions & 2 deletions TheForceEngine/TFE_A11y/accessibility.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ namespace TFE_A11Y // a11y is industry slang for accessibility
char docsFontsDir[TFE_MAX_PATH];
const char* docsDir = TFE_Paths::getPath(PATH_USER_DOCUMENTS);
sprintf(docsFontsDir, "%sFonts/", docsDir);
if (!FileUtil::directoryExits(docsFontsDir))
if (!FileUtil::directoryExists(docsFontsDir))
{
FileUtil::makeDirectory(docsFontsDir);
}
Expand Down Expand Up @@ -278,7 +278,7 @@ namespace TFE_A11Y // a11y is industry slang for accessibility
char docsCaptionsDir[TFE_MAX_PATH];
const char* docsDir = TFE_Paths::getPath(PATH_USER_DOCUMENTS);
sprintf(docsCaptionsDir, "%sCaptions/", docsDir);
if (!FileUtil::directoryExits(docsCaptionsDir))
if (!FileUtil::directoryExists(docsCaptionsDir))
{
FileUtil::makeDirectory(docsCaptionsDir);
}
Expand Down
4 changes: 2 additions & 2 deletions TheForceEngine/TFE_Editor/AssetBrowser/assetBrowser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2019,7 +2019,7 @@ namespace AssetBrowser

void exportSelected()
{
if (!FileUtil::directoryExits(s_editorConfig.exportPath))
if (!FileUtil::directoryExists(s_editorConfig.exportPath))
{
showMessageBox("ERROR", getErrorMsg(ERROR_INVALID_EXPORT_PATH), s_editorConfig.exportPath);
return;
Expand Down Expand Up @@ -2054,7 +2054,7 @@ namespace AssetBrowser

char subDir[TFE_MAX_PATH];
sprintf(subDir, "%s%s", path, assetSubPath[asset->type]);
if (!FileUtil::directoryExits(subDir))
if (!FileUtil::directoryExists(subDir))
{
FileUtil::makeDirectory(subDir);
}
Expand Down
2 changes: 1 addition & 1 deletion TheForceEngine/TFE_Editor/LevelEditor/entity.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -634,7 +634,7 @@ namespace LevelEditor
else
{
// Save the custom templates to the editor export path, if it exists.
if (FileUtil::directoryExits(s_editorConfig.exportPath))
if (FileUtil::directoryExists(s_editorConfig.exportPath))
{
char path[TFE_MAX_PATH];
strcpy(path, s_editorConfig.exportPath);
Expand Down
2 changes: 1 addition & 1 deletion TheForceEngine/TFE_Editor/editor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -871,7 +871,7 @@ namespace TFE_Editor
{
sprintf(tmpDir, "%s/Temp", s_editorConfig.editorPath);
FileUtil::fixupPath(tmpDir);
if (!FileUtil::directoryExits(tmpDir))
if (!FileUtil::directoryExists(tmpDir))
{
FileUtil::makeDirectory(tmpDir);
}
Expand Down
6 changes: 3 additions & 3 deletions TheForceEngine/TFE_Editor/editorProject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ namespace TFE_Editor
}

// Validate that the path exists.
if (!FileUtil::directoryExits(s_curProject.path))
if (!FileUtil::directoryExists(s_curProject.path))
{
TFE_System::logWrite(LOG_ERROR, "Editor Project", "Editor Project Path '%s' does not exist.", s_curProject.path);
removeFromRecents(s_curProject.path);
Expand Down Expand Up @@ -261,14 +261,14 @@ namespace TFE_Editor
sprintf(s_curProject.path, "%s/%s", s_curProject.path, s_curProject.name);
FileUtil::fixupPath(s_curProject.path);

if (!FileUtil::directoryExits(s_curProject.path))
if (!FileUtil::directoryExists(s_curProject.path))
{
FileUtil::makeDirectory(s_curProject.path);
}
}
else if (newProject)
{
if (!FileUtil::directoryExits(s_curProject.path))
if (!FileUtil::directoryExists(s_curProject.path))
{
// TODO: Show message box.
TFE_System::logWrite(LOG_ERROR, "Editor Project", "Editor Project Path '%s' does not exist, creation failed.", s_curProject.path);
Expand Down
1 change: 1 addition & 0 deletions TheForceEngine/TFE_FileSystem/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ endif()
target_sources(tfe PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/filewriterAsync.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/memorystream.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/download.cpp"
)

Loading