TheXTech/es: Difference between revisions

From Moondust Wiki
Jump to navigation Jump to search
m (oh lel x2)
(UFFFF añadir mas traduccion pero sin saber como traducir "warp" :T)
Line 38: Line 38:


== Diferencias con el juego original ==
== Diferencias con el juego original ==
While game is an accurate port of an original game, it has several differences and enhancements:
Mientras el juego es una transportacion precisa de un juego original, tiene varias diferencias y mejoras:


* First off, it's written in C++ while original (as we already know) is written in VB6.
* Antes que nada, está escrito en C++ mientras que el original (como ya sabemos) esta escrito en Visual Basic 6.
* Doesn't have an Editor. Instead, since 1.3.2 it have a deep integration with PGE Editor that allows to use it with the same functionality as in original editor (the "magic hand" functionality was kept to allow real-time editing of the level while testing, it's needed to use IPC communication with PGE Editor to get the ability to use it better).
* No tiene un editor. En su lugar, desde la version 1.3.2 tiene una profunda integración con el Editor de PGE, que permite usarlo con la misma funcionalidad que en el editor original (la funcionalidad "Mano magica" se mantuvo para permitir la edición en tiempo real de el nivel mientras se prueba, es necesario usar la comunicación IPC con el Editor de PGE para tener la capacidad se usarlo mejor).
* Full support of UTF-8 in filename paths and internal text data (original game had the only 8bit ANSI support).
* Soporte completo de UTF-8 en rutas de nombre de archivo y datos de texto interno (el juego original tenia solamente el soporte 8bit ANSI).
* For graphics and controlling, it uses an SDL2 library while original game have used WinAPI calls and GDI library.
* Para grafico y control, esto usa una librería SDL2 mientras que el juego original ha usado llamadas a WinAPI y la librería GDI.
* It uses PGE-FL that has better file formats support.
* Esto usa PGE-FL el cual tiene mejor soporte para formatos de archivo.
* A support for WLDX world maps are allowing unlimited credits lines and custom music without it being necessary to use a music.ini for music replacements.
* Un soporte para mapas de mundos WLDX permite lineas ilimitadas de creditos y música personalizada sin necesidad de usar un archivo music.ini para reemplazamiento de musica.
* Some LVLX exclusive features now working: vertical section wrap, two-way warps, custom "star needed" message, warp enter event, ability to disable stars printing in HUB episodes for specific doors, ability to disable interscene showing when going to another level through a warp.
* Ciertas características exclusivas de LVLX ahora funcionan: warp vertical en la sección, warp bidireccional, mensaje personalizado de "Estrella requerida", evento de entrar a un warp, habilidad de deshabilitar imprimir estrellas en episodios HUB por puertas especificas, habilidad de deshabilitar la visualización entre-escena cuando se va a otro nivel através de un warp.
* Built-in support for episode and level wide music.ini and sounds.ini to override default music and sounds assets.
* Soporte incorporado para extensos music.ini y sounds.ini de episodios y niveles para anular los recursos de musica y sonidos por defecto.
* World maps now supports a custom directory to store any specific resources like custom tiles/scenes/paths/levels and not spam the episode root folder with world map resources anymore.
* Los mapas de mundo ahora soportan un directorio personalizado para almacenar cualquier recurso específico como mosaicos/escenas/caminos/niveles personalizados y no enviar mas spam a la carpeta raíz del episodio con recursos del mapa nunca más.
* Default config format is INI, old config.dat format is no longer supported, mainly because of incompatible key code values (SDL_Scancode versus VirtualKeys enum of Windows API).
* Default config format is INI, old config.dat format is no longer supported, mainly because of incompatible key code values (SDL_Scancode versus VirtualKeys enum of Windows API).
* Game saves now using the SAVX format instead of a classic SAV. However, if you already have an old gamesave, you still can resume your game by using a new engine now (next gamesave attempt will result a SAVX file, old gamesave in SAV format will be kept untouched).
* Game saves now using the SAVX format instead of a classic SAV. However, if you already have an old gamesave, you still can resume your game by using a new engine now (next gamesave attempt will result a SAVX file, old gamesave in SAV format will be kept untouched).

Revision as of 01:47, 22 July 2020

English Español Deutsch

IMPORTANT: This page is still under construction, and may be a bit cluttered and contain incomplete sections!

TheXTech/es

Thextech 128.png

TheXTech-gameplay.png
Ventana del juego

Developer:
Platforms: Windows, Linux,
macOS, Haiku,
Emscripten
Initial release:
Latest version: 1.3.2.2 (Lanzado en 2020-07-18)
Latest testing:
End of life:
Coded in: C++
Code model:
License: MIT
State: Actual
Download: TheXTech
Source code: GitHub
Official site:


TheXTech - Es un motor de juego de plataformas escrito en C++, es una portacion completa del codigo fuente de SMBX 1.3 que originalmente fue escrito en Visual Basic 6. Creado por Wohlstand un mes despues desde que el codigo fuente de SMBX fue lanzado para dos propositos: proveer una implementacion gratis, de codigo abierto, multiplatforma y precisa del Motor de SMBX para permitir la jugabilidad de viejos niveles y episodios, creados para el juego original, con el mismo comportamiento que tuvo el juego original; obtener un modelo mas conveniente de investigacion para el desarrollo de PGE Engine.

Historia de versiones

El Desarrollo de TheXTech comenzó una semana despues del lanzamiento del codigo fuente de SMBX hacia el publico. La Version comienza en 1.3 para continuar la historia del juego SMBX original en una nueva forma.

1.3

Una primera cosa funcional que fue desarrollada 2 semanas despues de que el codigo fuente de SMBX fue abierto e investigado. Esa fue una construccion funcional pero con errores la cual fue pulida mas tarde para prepararla para 1.3.1. Eso fue desarrollado a escondidas con el proposito de hacer una sorpresa repentina a la comunidad.

1.3.1

Un primer lanzamiento publico fuera en Marzo 14, 2020.

1.3.2

Una actualizacion lanzada en Abril 26, 2020. Esta version repara algunos errores e introduce mejoras menores. Una integracion de prueba de niveles con PGE Editor ya que ahora es soportado de forma nativa.

1.3.2.1

Una actualizacion lanzada en July 12, 2020. Esta version repara algunos errores como el soporte de renderizado de software, extiende el soporte para joysticks, y añade la solucion alterna para sistemas de archivos sensibles a mayusculas para resolver fallas con ciertos episodios.

1.3.2.2

Una actualizacion lanzada en July 18, 2020. Esta version repara un tamaño incorrecto de efectos personalizados: Los efectos deberian ser capaces de tener cualquier tamaño del grafico , pero en la condicion de que tenga la misma cantidad de cuadros que el original.

Diferencias con el juego original

Mientras el juego es una transportacion precisa de un juego original, tiene varias diferencias y mejoras:

  • Antes que nada, está escrito en C++ mientras que el original (como ya sabemos) esta escrito en Visual Basic 6.
  • No tiene un editor. En su lugar, desde la version 1.3.2 tiene una profunda integración con el Editor de PGE, que permite usarlo con la misma funcionalidad que en el editor original (la funcionalidad "Mano magica" se mantuvo para permitir la edición en tiempo real de el nivel mientras se prueba, es necesario usar la comunicación IPC con el Editor de PGE para tener la capacidad se usarlo mejor).
  • Soporte completo de UTF-8 en rutas de nombre de archivo y datos de texto interno (el juego original tenia solamente el soporte 8bit ANSI).
  • Para grafico y control, esto usa una librería SDL2 mientras que el juego original ha usado llamadas a WinAPI y la librería GDI.
  • Esto usa PGE-FL el cual tiene mejor soporte para formatos de archivo.
  • Un soporte para mapas de mundos WLDX permite lineas ilimitadas de creditos y música personalizada sin necesidad de usar un archivo music.ini para reemplazamiento de musica.
  • Ciertas características exclusivas de LVLX ahora funcionan: warp vertical en la sección, warp bidireccional, mensaje personalizado de "Estrella requerida", evento de entrar a un warp, habilidad de deshabilitar imprimir estrellas en episodios HUB por puertas especificas, habilidad de deshabilitar la visualización entre-escena cuando se va a otro nivel através de un warp.
  • Soporte incorporado para extensos music.ini y sounds.ini de episodios y niveles para anular los recursos de musica y sonidos por defecto.
  • Los mapas de mundo ahora soportan un directorio personalizado para almacenar cualquier recurso específico como mosaicos/escenas/caminos/niveles personalizados y no enviar mas spam a la carpeta raíz del episodio con recursos del mapa nunca más.
  • Default config format is INI, old config.dat format is no longer supported, mainly because of incompatible key code values (SDL_Scancode versus VirtualKeys enum of Windows API).
  • Game saves now using the SAVX format instead of a classic SAV. However, if you already have an old gamesave, you still can resume your game by using a new engine now (next gamesave attempt will result a SAVX file, old gamesave in SAV format will be kept untouched).
  • Built-in PNG support for custom and default graphics. Masked GIFs are still supported for backward compatibility, however, without making an unexpected auto-conversion like SMBX-38A does.
  • Checkpoints now have multi-points! You can use them in your levels multiple times without limits!
  • It does use of lazy-decompress algorithm to speed-up the loading of a game and reduce the memory usage.
  • For music and SFX, the MixerX library is used to give a support for a wide amount of sound and music formats!
  • It doesn't embeds any graphics: there are NO trurely hardcoded graphics, everything is now represented by external graphics!
  • Some internal limits have been expanded.
  • Built-in GIF recorder by F11 key (F10 on macOS, F11 is reserved by system UI for a "show desktop" action).
  • Since 1.3.2 a maximum sections limit has been extended up to 201.
  • Since 1.3.2 a 20 entries limit for layers lists to show/hide/toggle has been removed.

Building the Game

To build the game, follow one of the following guides from the GitHub page:

For a build intended to be shared, install the ninja-build dependency, and replace the following line:

cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..

With:

cmake -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel -DUSE_SYSTEM_SDL2=OFF -DUSE_SYSTEM_LIBS=OFF -DUSE_STATIC_LIBC=ON -DPGE_SHARED_SDLMIXER=OFF ..

After following the final steps of the guide, create a thextech.ini with the following content:

[Main]
force-portable = true

And place it along with the executable in the same folder as the assets.

Custom Default Sets

Currently, TheXTech doesn't support individual "graphics" folders for episodes like SMBX2 does. In order to make episodes with their own SMBX sets like "Yoshi's Archipelago" or "Super Talking Time Bros." work, they need to be patched by taking the following steps[1]:

  • Copy the graphics/ui folder from SMBX 1.3 assets or A2XT-PTTS assets.
  • Download sounds.ini and music.ini and place them in the set's root folder.
  • Copy a TheXTech executable as well as thextech.ini from above and place them in the set's root folder.
  • Use the PGE Maintainer from the newest PGE Laboratory build to convert the GIFs in the graphics folder to PNGs.

Alternatively, the contents of the graphics subfolders may all be placed in the episode's folder. However, this will increase loading times, so it is only worthwhile on a fast PC with a SSD. If you choose this method, the set's music folder, the sounds folder, music.ini and sounds.ini need to be moved to the episode's folder as well. A conversion of the GIFs is not necessary.

See also

References

Links

Super Mario Bros. X