14 posts
Sources+exe Timby AME Rev 29 - Trae todo lo del changelog
**Changelog: **
Revelar spoiler
Changelog - AME | Timby Edit v3.5.0.0
Fecha de Lanzamiento: 16 de enero de 2026
Versión: v3.5.0.0
Esta versión representa una modernización completa de la herramienta, combinando una migración tecnológica profunda con mejoras significativas en la experiencia de usuario y rendimiento.
🏗️ Modernización del Núcleo & Infraestructura
Actualización a .NET Framework 4.8
- Migración Completa: Se actualizó el proyecto desde .NET Framework 4.0 a .NET Framework 4.8, permitiendo el uso de características modernas del lenguaje.
- Arquitectura x64: Compilación nativa en 64 bits, mejorando el rendimiento y permitiendo el uso de mayor memoria RAM para mapas grandes.
- Gestión de Dependencias (NuGet): Reemplazo de DLLs legacy por paquetes NuGet mantenibles (
MySql.Datav9.1.0,Log4netv2.0.17,SharpZipLibv1.4.2). - Optimización de Memoria: Incorporación de
System.MemoryySystem.Buffers.
⚡ Rendimiento & Optimización (Nuevo)
Panel de Tiles Optimizado
- Reescritura Total: Rediseño completo para soportar grandes librerías de recursos sin ralentizaciones.
- Lazy Loading: Carga diferida de imágenes; los recursos solo se cargan al ser visibles, optimizando drásticamente RAM y tiempo de inicio.
- Preview & Display: Nueva visualización mejorada con previsualización detallada e información en tiempo real.
- Navegación Ágil: Implementación de atajos de teclado para navegar rápidamente por las categorías.
- Favoritos: Nuevo sistema de Tiles Favoritas para un acceso inmediato a los recursos más utilizados.
- Recientes: Filtro de últimos tiles usados para agilizar el flujo de trabajo repetitivo.
🎨 Renovación de Interfaz (UI/UX)
Tema Metro Dark Consistente
- Estética Unificada: Tema oscuro (
#111111) aplicado consistentemente en Header, Sidebar y Status Bar. - Diseño Limpio: Eliminación de bordes y artefactos visuales antiguos.
Paneles WebView2 Modernos
- Header Panel: Rediseñado y Optimizado.
- Creación Rápida: Adiós a los dropdowns lentos. Ahora cuenta con 3 botones directos (M, G, C) para crear mapas Medianos, Grandes o Custom en un solo click.
- Barra Metro: Herramientas reorganizadas para máxima eficiencia.
- Sidebar Panel: Botones de 84px con estados interactivos (hover) mejorados. (Diseñados por mí)
- Properties Panel: Edición visual y rápida de propiedades.
Mejoras de Flujo de Trabajo (UX)
- Creación de Mapas: Al crear un nuevo mapa, el Selector de Fondos se abre automáticamente, permitiendo empezar a diseñar de inmediato sin pasos extra.
- Gestión de Espacio: El panel "Selector de Tiles" inicia oculto para maximizar el área de trabajo; se controla fácilmente desde el nuevo Header.
- Inicio Maximizado: La aplicación arranca en pantalla completa por defecto.
- Soporte Multi-Idioma: La aplicación ha sido traducida al Español y se está trabajando en una infraestructura completa para soporte multilingüe.
🚀 Nuevas Funcionalidades
Herramientas de Edición (Nuevo)
- Drag & Drop: Ahora es posible arrastrar y soltar tiles directamente desde una celda a otra del mapa para una colocación más rápida e intuitiva.
- Undo / Redo: Implementación completa de sistema de Deshacer (Ctrl+Z) y Rehacer (Ctrl+Y) para corregir errores sin perder trabajo.
- Clear All: Nuevo botón para limpiar todas las celdas del mapa instantáneamente.
Panel de Opciones Mejorado
- Carga desde Base de Datos: Funcionalidad completa para Importar Mapas directamente desde la DB, incluyendo todos los metadatos.
- Botón "Probar Conexión": Validación inmediata de credenciales MySQL desde la interfaz.
- Soporte Extendido de Campos: Configuración completa para tabla de mapas (
BgID,Music,Ambiance,Outdoor,X,Y,SubArea,Capacity,Description,Clean,Customize).
Selector de Música
- Corrección: Integración reparada para la selección y previsualización de pistas de audio con WebView2+Notificaciones de Aviso.
Herramientas de Edición & Librería (Nuevo)
- Biblioteca de Recursos ("Biblioteca"):
- Nueva pestaña en el panel de propiedades que lista todos los objetos usados en el mapa (Layer 1 y 2).
- Visualización detallada: Icono, ID de Celda, Vista Previa (18x18px) y ID de Tile.
- Flujo de Reemplazo Inteligente:
- Navegación: Doble click en la biblioteca abre el Selector de Tiles y busca el objeto automáticamente.
- Edición: Doble click en cualquier tile del selector reemplaza el objeto original en el mapa en tiempo real.
- Selector de Tiles Avanzado:
- Atajo Directo: Presiona T para abrir/cerrar el selector (smart-key: no interfiere al escribir en campos de texto).
- Nuevos Controles: Sliders de precisión para modificar Offset X, Offset Y y Escala (%) de cada tile de forma individual.
- Sincronización Bidireccional: La vista previa y el mapa se actualizan instantáneamente al realizar cambios.
🐛 Corrección de Errores & Estabilidad
Importación de Mapas
-
Crash Fix (
NullReferenceException): Código defensivo enCell.Draw_Tilepara ignorar tiles con imágenes corruptas en lugar de cerrar la aplicación. -
Crash Fix ("Cellule non trouvé"): Corrección del orden de carga (
MyDatas.Loadantes deGenerateGrid) para asegurar la integridad de los datos de las celdas.
Selector & Librería
- Vista Previa: Corregido error donde la previsualización del tile aparecía vacía al abrir desde la biblioteca (Race condition).
- Interacción: Arreglado fallo donde el doble click en el selector no confirmaba la selección (Scope de variables JS).
- Comunicación Backend: Solucionado el paso de parámetros (Layer/CellID) para garantizar el reemplazo correcto de objetos en capas 1 y 2.
Estabilidad y Rendimiento Técnico (Update)
- Carga de Tiles Asíncrona: Solución a los bloqueos de UI durante la carga de tiles (Fix Async Warnings
BC42356), implementandoTask.Runpara operaciones pesadas. - Cacheo Inteligente: Implementación de
Dictionary(Of String, List(Of Tile))para búsqueda O(1) en categorías de tiles, eliminando el lag al cambiar entre pestañas de objetos. - Undo/Redo Robusto (Rewritten):
- Reescritura completa del motor de deshacer para capturar estados "antes" y "después" con precisión.
- Soporte añadido para Rotación y Voltear (Flip) en el historial de deshacer.
- Integración correcta del sistema Undo/Redo en operaciones Drag & Drop.
- Cross-Thread Safety: Corrección de excepciones
System.InvalidOperationExceptional acceder a controles de UI desde hilos secundarios enTileSelector.
Mejoras de UX y Correcciones (Grid & Header)
-
Persistencia Robusta de Opciones:
- Guardado Inmediato: Las opciones (colores de grilla/hover, opacidad, visibilidad de grilla) ahora se escriben en disco instantáneamente al modificarse, garantizando persistencia real entre sesiones.
- Saneamiento de Configuración: Sistema de protección que detecta archivos de configuración antiguos o corruptos (colores vacíos o transparentes) y aplica valores por defecto seguros (Grid Blanco, Hover Rojo) para evitar errores visuales al inicio.
- Handshake de Inicio: Implementación de sincronización bidireccional (
headerReady) para asegurar que el Header reciba los colores guardados antes de mostrarse.
-
Visualización de Grilla y Hover:
- Visibilidad Inicial: Corregido bug donde la grilla no aparecía al cargar el mapa.
- Opacidad Automática: Si la opacidad de la grilla es 0 al activarla, se establece automáticamente al 100% (255) para asegurar visibilidad.
- Nuevo Estilo de Hover:
- Color: Rojo puro (
Color.Red) por defecto para máxima visibilidad. - Efecto Glow: Borde engrosado (3px) para diferenciar claramente la celda seleccionada de la grilla.
- Fluidez: Actualización visual forzada (
Refresh()) en cada movimiento del mouse para una respuesta instantánea.
- Color: Rojo puro (
-
Estética Dark Mode:
- Fondo Unificado: El fondo del espacio de trabajo (MDI Container) y el panel lateral derecho ahora utilizan el color dark temático
#111111en lugar del gris estándar de Windows, proporcionando una experiencia visual totalmente coherente.
- Fondo Unificado: El fondo del espacio de trabajo (MDI Container) y el panel lateral derecho ahora utilizan el color dark temático
-
Intución Visual de Límites:
- Highlight de Zona Inválida: Lógica invertida para mayor claridad. Ahora se resaltan en rojo sutil (
Color.FromArgb(60, Color.Red)) las celdas que están FUERA del área de juego (margen), dejando el área válida limpia. - Validación Estricta: Ajuste milimétrico en la detección de bordes para asegurar que las celdas superiores e izquierdas se marquen correctamente como "fuera" si tocan el límite.
- Borde Rojo Externo: El borde de límite rodea la totalidad del mapa (0,0 a Width,Height), sirviendo como contenedor visual claro.
- Ajuste de Ventana: Aumento del margen interno de la ventana (+40 ancho, +68 alto) para evitar que el mapa se vea cortado en los bordes al abrir archivos nuevos.
- Highlight de Zona Inválida: Lógica invertida para mayor claridad. Ahora se resaltan en rojo sutil (
🛡️ Correcciones Críticas de Compilación y Runtime
- Solución de Crash al Inicio (
System.InvalidOperationException):- Se arregló el conflicto de versiones con
System.Resources.Extensions. El sistema buscaba la versión4.0.0.0pero se tenía la6.0.0.0. - Solución: Implementación de
bindingRedirectenapp.configpara forzar el uso de la versión instalada (6.0.0.0) de forma segura.
- Se arregló el conflicto de versiones con
- Limpieza de Warnings de Compilación (0 Errores, 0 Warnings):
- Referencias DLL: Corrección manual de las rutas (
HintPaths) en el archivo.vbprojparalog4net(net45),SharpZipLib(netstandard2.0) yZstdSharp(net462), que apuntaban a carpetas inexistentes. - SwfDotNet.IO: Eliminación de la restricción estricta de versión en el proyecto para aceptar la DLL disponible sin errores de metadata.
- Arquitectura: Supresión de la advertencia de conflicto entre
Krypton (x86)y el proyecto(x64), permitiendo una compilación limpia.
- Referencias DLL: Corrección manual de las rutas (
**Link: **
