Skip to content

mediaexplorer74/XBoxAssistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XBoxAssistant v xx.xx - ветка main

Черный черновик порта с WP8 в UWP приложения Xbox Companion.

Предисловие

Случайно в моем "загашнике" откопался некий XBoxCompanion.xap где-то 2017 года. Версия, наверное 1.2. Ну, через Jenbrains Dotpeek отреверсил это приложение в "сырые данные". Исходный код каждого модуля из оригинального решения (XBox app WP7) помещён в одноимённую подпапку внутри нового UWP-решения для поддержания порядка и модульности. В планах немного повозиться поизучать, что там Майки нашаманили почти 10 лет назад в плане "удаленного управления консолью XBox". Кто знает, возможно, обнаружу зачатки облачного гейминга, хотя это вряд ли...

Структура

  • LRC (главная часть / приложение)
  • LRC.Service (модуль/библиотека)
  • LRC.ViewModel
  • ... (и другие модули)

Шаги по портированию

  1. Перенос исходных файлов в соответствующие подпапки.
  2. Адаптация кода под UWP API.
  3. Исправление XAML и ресурсов.
  4. Проверка сборки и запуск.

Статус работ

  • [Json] System.Json заменён на Newtonsoft.Json в Xbox.Live.Phone.Utils/Xbox/Live/Phone/Utils/JsonHelper.cs

  • [UWP порт Utils]

  • FindChildrenUtil.cs System.Windows.* → Windows.UI.Xaml.*.

  • ImageUtil.cs System.Windows.* → Windows.UI.Xaml.*.

  • LiveMobilePerf.cs удалён Microsoft.Phone.Logging; добавлен LogFlags; лог в Debug.WriteLine.

  • GuideWrapper.cs удалён XNA (Microsoft.Xna.Framework.*), добавлены заглушки Begin/EndShowKeyboardInput, Begin/EndShowMessageBox, свой MessageBoxIcon.

  • ErrorManager.cs, OkCancelDialog.cs переход на GuideWrapper.MessageBoxIcon.

  • ThreadManager.cs удалён Deployment/Dispatcher, теперь SynchronizationContext + Task.Run; Environment.CurrentManagedThreadId.

  • RetryCaller.cs Thread.Sleep → Task.Delay().Wait().

  • AsyncResultNoResult.cs Close() → Dispose() для WaitHandle.

  • Etc/Crc32.cs приведение (IntPtr) → (int) для индексации.

  • Resources/Resource.cs typeof(Resource).GetTypeInfo().Assembly + using System.Reflection.

  • Cache/CacheManager.cs Thread/ManualResetEvent → Task+CancellationTokenSource+SemaphoreSlim; сравнение строк через StringComparison.OrdinalIgnoreCase.

  • Cache/FileHelper.cs полное удаление IsolatedStorage*; порт на System.IO + Windows.Storage.ApplicationData.Current.LocalFolder:

  • Доступ к настройкам: ApplicationData.Current.LocalSettings.

  • Функции чтения/записи файлов: через FileStream в локальной папке.

Примечания

  • Основная точка входа будет реализована через стандартные UWP-файлы App.xaml и MainPage.xaml.
  • Все устаревшие или несовместимые с UWP API будут поэтапно заменяться.
  • Кажется, к 2025 году вообще доступ к XBox Cloud Gaming вообще из всех "нативных" приложений (Android, iOS) накрылся медным тазом, а "новые" приложения стали лишь "оболочками" над webview? Поэтому мало смысла "тыкать крокодила палочкой" и лепить UWP для старых добрых смартфонов Nokia Lumia... но шарманка определенно интересная! =)

..

  • Как есть. Без поддержки с моей стороны. "Сделай исследование сам", что называется.

.

[M][E] 15 окт 2025

About

Черновик порта с WP8 в UWP приложения Xbox Companion

Topics

Resources

License

Stars

Watchers

Forks

Languages