About Store Forum Documentation Contact



Post Reply 
May 2022
Author Message
Esenthel Offline
Administrator

Post: #1
May 2022
Updated Esenthel Source:
-added automatic Texture Streaming on secondary thread, to use please update your Images/Textures by running the app below in your project (you may want to backup your project first just in case), this feature greatly reduces loading times (first a smaller texture is loaded, then on a secondary thread, bigger mip maps are streamed, especially useful for Nintendo Switch)
-also if you use Titan Server to synchronize your project (please delete the project on server and reupload after update)
-updated support for Android
-updated Android compilation to latest toolchain (Visual Studio compatible)
-not all Android functionality has been updated (in-app purchases, facebook, admob, chartboost are not available at the moment)
-Material "Tex Size Mobile" was separated into "Mobile" and "NintendoSwitch"
-added Project Settings option to specify default value for "Material Tex Size" in newly created Materials
-added option to disable publishing specific project elements for Mobile platforms (publishing now has 2 options - #1 default/global/all platforms, #2 additional disable for mobile only)
-current build platform target will now be displayed in the "Build" combobox next to "Play" button
-added new function 'Gui.moveMouse'
-added new function 'DeviceVibrate' for Android and iOS
-Project compression can now be separately configured for mobile platforms
-updated to latest iOS SDK
-added new D.rectUI

Fixes:
-fixed app freeze when trying to open configure controllers applet on Nintendo Switch after using software keyboard
-fixed bug on Android when minimizing the app manually through codes, and then reopening it and rendering 3d graphics
-fixed bug on Android 'Exit' not displaying error message correctly
-fixed bug when upscaling with WAIFU to compressed format at the same time (affects rare cases when converting images to Android/iOS platforms)
-fixed issues in App.stayAwake for UWP, iOS, Switch

Name Changes:
FlagTest -> FlagOn

Code to update your projects:
Code:
/******************************************************************************/
Edit.EditorInterface EI;
Memc<Edit.Elm>       elms;
Str                  error, Path;
/******************************************************************************/
void UpdateImage(C Str &name)
{
   Image img;
   File  temp;
   if(img.load(name))
   if(img.save(temp.writeMem()))
   {
      temp.pos(0);
      if(SafeOverwrite(temp, name))return;
   }
   error.line()+=name;
}
void UpdateImageAtlas(C Str &name)
{
   ImageAtlas img;
   File temp;
   if(img.load(name))
   if(img.save(temp.writeMem()))
   {
      temp.pos(0);
      if(SafeOverwrite(temp, name))return;
   }
   error.line()+=name;
}
void UpdatePanelImage(C Str &name)
{
   PanelImage img;
   File temp;
   if(img.load(name))
   if(img.save(temp.writeMem()))
   {
      temp.pos(0);
      if(SafeOverwrite(temp, name))return;
   }
   error.line()+=name;
}
void UpdateFont(C Str &name)
{
   Font font;
   File temp;
   if(font.load(name))
   if(font.save(temp.writeMem()))
   {
      temp.pos(0);
      if(SafeOverwrite(temp, name))return;
   }
   error.line()+=name;
}
/******************************************************************************/
Str Name(C UID &id) {return Path+id.asFileName();}
/******************************************************************************/
void InitPre()
{
   INIT();
   App.flag|=APP_WORK_IN_BACKGROUND|APP_MINIMIZABLE|APP_MAXIMIZABLE|APP_RESIZABLE;
#if DEBUG
   App.flag|=APP_MEM_LEAKS|APP_BREAKPOINT_ON_ERROR;
#endif
}
bool Init()
{
   SupportCompressAll();
   Str msg; if(!EI.connect(msg))Exit(msg);
   DYNAMIC_ASSERT(EI.getElms(elms, true), "getElms");
   Path=EI.dataPath().tailSlash(true);
   Str temp=GetPath(Path)+"Temp";
   EI.openProject();
   for(FileFind ff(Path+"Tex"); ff(); )UpdateImage(ff.pathName());
   REPA(elms)switch(elms[i].type)
   {
      case Edit.ELM_IMAGE:
      case Edit.ELM_ICON :       UpdateImage(Name(elms[i].id)); break;

      case Edit.ELM_IMAGE_ATLAS: UpdateImageAtlas(Name(elms[i].id)); break;
      case Edit.ELM_PANEL_IMAGE: UpdatePanelImage(Name(elms[i].id)); break;
      case Edit.ELM_FONT       : UpdateFont(Name(elms[i].id)); break;
   }
   FDelDirs(temp);
   Exit(error.is() ? S+"Failed to update following files:\n"+error : "All OK!");
   return true;
}
void Shut()
{
}
/******************************************************************************/
bool Update()
{
   return false;
}
void Draw()
{
}
/******************************************************************************/
05-12-2022 03:57 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #2
RE: May 2022
Updated Esenthel Source:
-added support for Tabs in the Code Editor, thanks to RedcrowProd for inspiration smile
05-16-2022 11:20 AM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #3
RE: May 2022
Updated Esenthel Source:
-added a workaround for Temporal Anti-Aliasing not working on Android devices with ARM Mali-G78
-added new permission checks: PERMISSION_USER_COMMUNICATION for Nintendo Switch
-added new function Str Censor(C Str &text) for Nintendo Switch
-App.lowMemory will be auto-called on UWP/Xbox event AppMemoryUsageLevel::OverLimit
Yesterday 08:23 AM
Find all posts by this user Quote this message in a reply
Post Reply