Skip to content

Commit

Permalink
2.4.2: Fixes, translations
Browse files Browse the repository at this point in the history
- The "this" parameter in extension method detour destinations now supports polymorphism
- Possible fix for restart call failing due to executing in the wrong thread
- Fixed injection method name in AutoRestarter
- Added Spanish translations by nahuen89
- Updated Chinese translations
  • Loading branch information
UnlimitedHugs committed Feb 14, 2017
1 parent a0bed32 commit a718d2a
Show file tree
Hide file tree
Showing 7 changed files with 124 additions and 6 deletions.
2 changes: 1 addition & 1 deletion Mods/HugsLib/About/About.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
<targetVersion>0.16.0</targetVersion>
<description>&lt;color=orange&gt;&lt;b&gt;Important: &lt;/b&gt; This mod should be one of the first to be loaded to work properly.&lt;/color&gt;\n
HugsLib is a library that provides shared functionality to other mods.
Version: 2.4.1
Version: 2.4.2
</description>
</ModMetaData>
2 changes: 1 addition & 1 deletion Mods/HugsLib/About/Version.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<VersionData>
<overrideVersion>2.4.1</overrideVersion>
<overrideVersion>2.4.2</overrideVersion>
<gitHubRepository>UnlimitedHugs/RimworldHugsLib</gitHubRepository>
</VersionData>
Binary file modified Mods/HugsLib/Assemblies/HugsLib.dll
Binary file not shown.
57 changes: 57 additions & 0 deletions Mods/HugsLib/Languages/Spanish/Keyed/Spanish.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8" ?>
<LanguageData>

<HugsLib_settings_btn>Ajustes de mod</HugsLib_settings_btn>
<HugsLib_settings_windowTitle>Ajustes de mod</HugsLib_settings_windowTitle>
<HugsLib_settings_resetValue>resetear ajustes por default</HugsLib_settings_resetValue>
<HugsLib_settings_resetAll>Resetear todo</HugsLib_settings_resetAll>
<HugsLib_settings_resetAll_prompt>¿Restablecer todos los ajustes de modificación a sus valores originales?</HugsLib_settings_resetAll_prompt>
<HugsLib_settings_noSettings>No se cargan mods con ajustes configurables.</HugsLib_settings_noSettings>

<HugsLib_ownSettingsName>Otros</HugsLib_ownSettingsName>
<HugsLib_setting_showNews_label>Mostrar noticias de actualizaciones de mods</HugsLib_setting_showNews_label>
<HugsLib_setting_showNews_desc>Permite que los mods recién instalados resalten sus nuevas funciones en una ventana emergente al iniciar el juego.</HugsLib_setting_showNews_desc>
<HugsLib_setting_allNews_label>Todas las noticias de actualización de mod</HugsLib_setting_allNews_label>
<HugsLib_setting_allNews_desc>Muestra todas las noticias de actualización de mod disponibles, incluidas las que ya se han mostrado.</HugsLib_setting_allNews_desc>
<HugsLib_setting_allNews_button>Mostrar ahora</HugsLib_setting_allNews_button>
<HugsLib_setting_allNews_fail>Ninguno de los mods activos tiene noticias de actualización que mostrar.</HugsLib_setting_allNews_fail>

<HugsLib_features_title>Nuevas funciones de modificación</HugsLib_features_title>
<HugsLib_features_description>Se han instalado las siguientes actualizaciones de modificación y éstas son las nuevas características y mejoras incluidas en ellas. \nPuede deshabilitar este diálogo en Opciones &gt; Mod Settings</HugsLib_features_description>
<HugsLib_features_update>{0} v{1}</HugsLib_features_update>
<HugsLib_features_link>Enlace</HugsLib_features_link>
<HugsLib_features_linkDesc>Abre su navegador en una página donde puede obtener más información sobre esta actualización..\nDireccion: {0}</HugsLib_features_linkDesc>

<HugsLib_copiedToClipboard>Copiado al portapapeles.</HugsLib_copiedToClipboard>

<HugsLib_logs_copy>Copiar</HugsLib_logs_copy>
<HugsLib_logs_shareBtn>Compartir registros</HugsLib_logs_shareBtn>
<HugsLib_logs_shareConfirmTitle>Confirmar</HugsLib_logs_shareConfirmTitle>
<HugsLib_logs_shareConfirmMessage>Subir los registros ahora?\n\nEsto publicará los registros de su juego en un servidor público y le dará el enlace para compartir con otros. Esto es útil si necesita ayuda para solucionar un problema o desea informar de un problema a un autor de modificaciones.\n\nNo se compartirá información privada.</HugsLib_logs_shareConfirmMessage>
<HugsLib_logs_publisherTitle>Editor de registro</HugsLib_logs_publisherTitle>
<HugsLib_logs_uploading>Cargando{0}</HugsLib_logs_uploading>
<HugsLib_logs_shortening>Obteniendo URL{0}</HugsLib_logs_shortening>
<HugsLib_logs_uploaded>Carga completa!</HugsLib_logs_uploaded>
<HugsLib_logs_uploadError>Error en carga: {0}</HugsLib_logs_uploadError>
<HugsLib_logs_abortBtn>Abortar</HugsLib_logs_abortBtn>
<HugsLib_logs_retryBtn>Reintentar</HugsLib_logs_retryBtn>
<HugsLib_logs_browseBtn>Abrir en el navegador</HugsLib_logs_browseBtn>

<HugsLib_logs_filesBtn>Archivos</HugsLib_logs_filesBtn>
<HugsLib_logs_openLogFile>Abrir archivo de registro</HugsLib_logs_openLogFile>
<HugsLib_logs_openSaveDir>Abrir carpeta de guardar</HugsLib_logs_openSaveDir>
<HugsLib_logs_openModsDir>Abrir carpeta de Mods</HugsLib_logs_openModsDir>

<HugsLib_restart_title>Reiniciar juego</HugsLib_restart_title>
<HugsLib_restart_text>Los cambios han sido guardados.\n\nPara activar la nueva configuración de modificación, se recomienda reiniciar el juego.</HugsLib_restart_text>
<HugsLib_restart_restartNowBtn>Reiniciar ahora</HugsLib_restart_restartNowBtn>
<HugsLib_restart_autoToggle>Reiniciar automáticamente</HugsLib_restart_autoToggle>
<HugsLib_restart_restarting>Reiniciando</HugsLib_restart_restarting>
<HugsLib_setting_autoRestart_label>Reiniciar después de cambiar el menú Mods</HugsLib_setting_autoRestart_label>
<HugsLib_setting_autoRestart_desc>Reinicia automáticamente el juego después de haber realizado cambios en el menú Mods.</HugsLib_setting_autoRestart_desc>

<test_enumSetting_DefaultValue>Valor por defecto</test_enumSetting_DefaultValue>
<test_enumSetting_ValueOne>Valor Uno</test_enumSetting_ValueOne>
<test_enumSetting_ValueTwo>Valor Dos</test_enumSetting_ValueTwo>

</LanguageData>
57 changes: 57 additions & 0 deletions Mods/HugsLib/Languages/SpanishLatin/Keyed/Spanish.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8" ?>
<LanguageData>

<HugsLib_settings_btn>Ajustes de mod</HugsLib_settings_btn>
<HugsLib_settings_windowTitle>Ajustes de mod</HugsLib_settings_windowTitle>
<HugsLib_settings_resetValue>resetear ajustes por default</HugsLib_settings_resetValue>
<HugsLib_settings_resetAll>Resetear todo</HugsLib_settings_resetAll>
<HugsLib_settings_resetAll_prompt>¿Restablecer todos los ajustes de modificación a sus valores originales?</HugsLib_settings_resetAll_prompt>
<HugsLib_settings_noSettings>No se cargan mods con ajustes configurables.</HugsLib_settings_noSettings>

<HugsLib_ownSettingsName>Otros</HugsLib_ownSettingsName>
<HugsLib_setting_showNews_label>Mostrar noticias de actualizaciones de mods</HugsLib_setting_showNews_label>
<HugsLib_setting_showNews_desc>Permite que los mods recién instalados resalten sus nuevas funciones en una ventana emergente al iniciar el juego.</HugsLib_setting_showNews_desc>
<HugsLib_setting_allNews_label>Todas las noticias de actualización de mod</HugsLib_setting_allNews_label>
<HugsLib_setting_allNews_desc>Muestra todas las noticias de actualización de mod disponibles, incluidas las que ya se han mostrado.</HugsLib_setting_allNews_desc>
<HugsLib_setting_allNews_button>Mostrar ahora</HugsLib_setting_allNews_button>
<HugsLib_setting_allNews_fail>Ninguno de los mods activos tiene noticias de actualización que mostrar.</HugsLib_setting_allNews_fail>

<HugsLib_features_title>Nuevas funciones de modificación</HugsLib_features_title>
<HugsLib_features_description>Se han instalado las siguientes actualizaciones de modificación y éstas son las nuevas características y mejoras incluidas en ellas. \nPuede deshabilitar este diálogo en Opciones &gt; Mod Settings</HugsLib_features_description>
<HugsLib_features_update>{0} v{1}</HugsLib_features_update>
<HugsLib_features_link>Enlace</HugsLib_features_link>
<HugsLib_features_linkDesc>Abre su navegador en una página donde puede obtener más información sobre esta actualización..\nDireccion: {0}</HugsLib_features_linkDesc>

<HugsLib_copiedToClipboard>Copiado al portapapeles.</HugsLib_copiedToClipboard>

<HugsLib_logs_copy>Copiar</HugsLib_logs_copy>
<HugsLib_logs_shareBtn>Compartir registros</HugsLib_logs_shareBtn>
<HugsLib_logs_shareConfirmTitle>Confirmar</HugsLib_logs_shareConfirmTitle>
<HugsLib_logs_shareConfirmMessage>Subir los registros ahora?\n\nEsto publicará los registros de su juego en un servidor público y le dará el enlace para compartir con otros. Esto es útil si necesita ayuda para solucionar un problema o desea informar de un problema a un autor de modificaciones.\n\nNo se compartirá información privada.</HugsLib_logs_shareConfirmMessage>
<HugsLib_logs_publisherTitle>Editor de registro</HugsLib_logs_publisherTitle>
<HugsLib_logs_uploading>Cargando{0}</HugsLib_logs_uploading>
<HugsLib_logs_shortening>Obteniendo URL{0}</HugsLib_logs_shortening>
<HugsLib_logs_uploaded>Carga completa!</HugsLib_logs_uploaded>
<HugsLib_logs_uploadError>Error en carga: {0}</HugsLib_logs_uploadError>
<HugsLib_logs_abortBtn>Abortar</HugsLib_logs_abortBtn>
<HugsLib_logs_retryBtn>Reintentar</HugsLib_logs_retryBtn>
<HugsLib_logs_browseBtn>Abrir en el navegador</HugsLib_logs_browseBtn>

<HugsLib_logs_filesBtn>Archivos</HugsLib_logs_filesBtn>
<HugsLib_logs_openLogFile>Abrir archivo de registro</HugsLib_logs_openLogFile>
<HugsLib_logs_openSaveDir>Abrir carpeta de guardar</HugsLib_logs_openSaveDir>
<HugsLib_logs_openModsDir>Abrir carpeta de Mods</HugsLib_logs_openModsDir>

<HugsLib_restart_title>Reiniciar juego</HugsLib_restart_title>
<HugsLib_restart_text>Los cambios han sido guardados.\n\nPara activar la nueva configuración de modificación, se recomienda reiniciar el juego.</HugsLib_restart_text>
<HugsLib_restart_restartNowBtn>Reiniciar ahora</HugsLib_restart_restartNowBtn>
<HugsLib_restart_autoToggle>Reiniciar automáticamente</HugsLib_restart_autoToggle>
<HugsLib_restart_restarting>Reiniciando</HugsLib_restart_restarting>
<HugsLib_setting_autoRestart_label>Reiniciar después de cambiar el menú Mods</HugsLib_setting_autoRestart_label>
<HugsLib_setting_autoRestart_desc>Reinicia automáticamente el juego después de haber realizado cambios en el menú Mods.</HugsLib_setting_autoRestart_desc>

<test_enumSetting_DefaultValue>Valor por defecto</test_enumSetting_DefaultValue>
<test_enumSetting_ValueOne>Valor Uno</test_enumSetting_ValueOne>
<test_enumSetting_ValueTwo>Valor Dos</test_enumSetting_ValueTwo>

</LanguageData>
2 changes: 1 addition & 1 deletion Source/Detour/DetourValidator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ private static bool DetourTargetsAreValid(Type targetA, MethodType typeA, string
if (typeB == MethodType.Static) {
reason = string.Format("'{0}' is static but not an extension method", nameB);
return false;
} else if (targetA != targetB) {
} else if (targetB != null && !targetB.IsAssignableFrom(targetA)) {
reason = string.Format("Target classes do not match :: '{0}' target is '{1}'; '{2}' target is '{3}'",
nameA, FullNameOfType(targetA), nameB, FullNameOfType(targetB));
return false;
Expand Down
10 changes: 7 additions & 3 deletions Source/Restarter/AutoRestarter.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using HugsLib.GuiInject;
using System.Threading;
using HugsLib.GuiInject;
using HugsLib.Settings;
using HugsLib.Shell;
using RimWorld;
Expand All @@ -21,12 +22,15 @@ internal class AutoRestarter {

public static void PerformRestart() {
LongEventHandler.QueueLongEvent(() => {
ShellRestartRimWorld.Execute();
// put up the loading screen while the game shuts down
Thread.Sleep(5000);
}, "HugsLib_restart_restarting", true, null);
// execute in main thread
LongEventHandler.ExecuteWhenFinished(() => ShellRestartRimWorld.Execute());
}

[WindowInjection(typeof (Page_ModsConfig), Mode = WindowInjectionManager.InjectMode.AfterContents)]
private static void DrawLogWindowButtons(Window window, Rect inRect) {
private static void DoModsDialogControls(Window window, Rect inRect) {
// update mod list hash
if (window.GetHashCode() != lastSeenWindowHash) {
lastSeenWindowHash = window.GetHashCode();
Expand Down

0 comments on commit a718d2a

Please sign in to comment.