sync: restore source from Google Drive
Sync changed files to Google Drive / sync (push) Successful in 1h45m13s

This commit is contained in:
admin_d committed 2026-09-12 16:50:30 +05:00
1 parent e2d8247e91
commit 7063d1b1c9
993 files changed
+949976

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
b3dae83832de92453a8e6e932bbcbe997c58bc9a4b74066ff7e53c908a1abeab .gitignore
5168a04ba9abf1b8143c037f17bbf7e56d84a1fabe6f9a538b3c6035d0f34522 README.md
ad9d3d135525d0ee5b2be814fc84b6217f7d41eb88ac2b7a143e55f2d6c4ecd0 RUN_ME_FIRST.txt
ee5e86375f332c31f6a91fa9bf2a276929af3d6b1669a5f937ef677e914ec37d build-android.sh
3d16bbc8fadf90395353d0b8b4b14454a2aea0dd9a8344cdcd96f04423a3a3e7 code/GameInitialize.pas
af0efa5a633b6de18442174173e9d9f8ac1fafe20979571568c97811d51bf4a8 code/GameViewMain.pas
59e7e9cbd9c4116293770bb2681e4827ea6cdc5323b299aa5e0abf582e6fd3dc code/ProbeAssets.pas
7541f1787bd9fe448dc5ea6922ac4591259c284b6c7228fde32b037cfba04bb2 code/ProbeCamera.pas
e72474c482bfa40700cdab80dcb7b0b113bf0a14daa76c1e75334f1e7380e390 code/ProbePlatform.pas
7709bc7fd77a51b852d09a024237da0a783c3f02162fbbe6bed237db76ad36cc code/ProbeReport.pas
bed130782b3019af6518c1f0fd20b7b1ef06068cf79625765583d9d32e7052f2 config/extra-paths.json
f0dd08f7d300f295d9ac5d861fc73a92b33bb3be372bea96c1a4d5ae9bb6cd94 config/profiles.json
794a2d1eb3af8e9e830874dfe4b1db9da5a1ec040b809f0c9277fa77ec4c63d7 config/upstream.json
34cece697fb7158ddeeb46e9e7f04835a8309c03aa8ea2ad59b359181ba83406 docs/COVERAGE.md
73628325c98e1273422110869293cc90ae7dcd1d633f9b0125b720a134cc0338 docs/FIRST_SERVER_RUN_DIAGNOSIS.md
a70be70ca6764bfc9642e13136e0007de284f19b225ea1c0cc4d9ef628d7a006 docs/SOURCES.md
99776dc1bafcdb98f2204200eb36974dc7477b7c7e2bc74ff1d74da9d329c699 docs/TROUBLESHOOTING.md
41918629f548736f8e508c7f4732e682a3267da1cfe396434326c7b23a20cc4f private-assets/README.md
4c0ed27fb55041d095e3d815cb3bf27b517903a12d7ab4a71e1a8590b659737d reports/preparation/VALIDATION.md
62eead6b2c40c82146d8b7bea5c4080df31fa2b5f3db677276ab70d515c36139 reports/preparation/actual-preflight-SUMMARY.md
a043f356d1cff302ccb3e906d18e6b725abc2be6b839a1aada90c3e83a77de06 reports/preparation/actual-preflight-result.json
719875282fb142ab6afe9eef1d9b3498f47efb4dbf1f97ca24f7ef3542ab1c8d reports/preparation/actual-preflight-toolchain.json
55311bc64f07389b889d3c4de385d2777eb8d044d5c82ac3471c312ba6dbb1cf reports/preparation/android-preflight.log
621ecd1ce1d7f2a35a995ab51d9a6f05ceb1350bcf2907c1415dfec67b6d1774 reports/preparation/environment.json
fe3957cf8d7d2e31d950906db700e277d90422d1fd00568efc9642cea4274d75 reports/preparation/harness-tests.log
694851e41898b814cc346b74f208e968ce970ba597f9b308997fcbb15819c0e3 reports/preparation/manifest-validation.json
5ecf07e8765e01637c2388b3f7e4653f749e972c7d36919eaf315e15fca348ee test-harness.sh
b6c6e8b34c3ef0bad463679f746d03c5174263110171a2cded886e04dae122f0 tests/helpers.py
914aefcca9fa4c7b72db477359503e74ab82c3aa8978925a1d6ce3008f6620f4 tests/test_pipeline.py
5f49078b0f6dd8ef8a1862518ddf949782c35bb0c82e1cae2ae5282a522a3050 tests/test_probe.py
2969d5fd87b45a14a15c2e6812a13e858cec31fd1094006873109e9227161b41 tools/artifacts.py
fc31ac45930fb44ced0c3b4a439eebb549f12d2de6d9b757be46a2c653ece8cc tools/common.py
979bed409a3140c7df1eb371dbb850b3bcbd5ea0fc5a2e9f381fe528bf218595 tools/device.py
08b9399bcebbe2ab7593ce6da5c36bb63832d026c8a7248089a02f7a024a29a6 tools/generate.py
6793b6fb39e7a0fc95aecb76ad768fb9405aecdcee815f81d0a3f122835d0f6d tools/runner.py
3724a3a6e3a0683753592f0c84defe55a8fdc59ce6126e4fc397d6288d2ef4e0 tools/source_audit.py
1ba90c4c89b639b2e15860b1a796b7b037fc1be9c28e3de2e66b73b967a2c29c tools/source_fetch.py
f33d4c3762d17a868cafd915f41a9514ee777ecb1085452becba77c1ba5b618a vendor/README.md
+219
View File
@@ -0,0 +1,219 @@
# KaM r16020 — Android Architecture Probe 0.3.1
**Кодовый тест архитектуры: KaM core + Free Pascal + Castle Game Engine → Android.**
Здесь нет desktop target, готовой игры, игровых бинарных ресурсов или собственного заменителя KaM core. Тест не требует `data/` для проверки компиляции и линковки. Он проверяет, какие **настоящие исходные модули r16020** можно включить в Android-библиотеку вместе с Castle и где возникают конкретные препятствия.
**Архив содержит код стенда и автоматизацию, не заранее собранный APK.** Во время подготовки проверены Python-скрипты и их контрольные сценарии. Настоящая компиляция Pascal/Android здесь не выполнялась: FPC, Castle, Docker и ADB в среде подготовки отсутствовали. Подробнее: `reports/preparation/VALIDATION.md`.
## 1. Запуск на сервере — без ресурсов
Требуются Linux x86_64 или Linux-среда WSL2, Bash, Python **3.10+**, работающий Docker и доступ в интернет. Папка проекта должна быть доступна на запись. На сервере ARM64 Docker-образ Linux/amd64 потребует отдельно настроенной эмуляции; это не основной путь этого теста.
```bash
unzip kam-android-architecture-probe-r16020.zip
cd kam-android-architecture-probe-r16020
chmod +x build-android.sh test-harness.sh
./build-android.sh
```
Команда выполняет весь **Android ARM64** цикл, а не сборку Linux-версии игры:
1. Получает официальный Docker-образ инструментов CGE. При первом запуске фиксирует его неизменяемый digest в `config/toolchain.lock.json`; при следующих использует его же.
2. Загружает **только текстовые исходники** KaM по commit `962fb850324b79bbe5480e1c2087d98f83a60917` и исходники PascalScript по gitlink из этого commit. Полный checkout, история Git, release-архивы и игровые ресурсы не скачиваются.
3. Создаёт 15 изолированных Android-проектов: компилирует и полностью линкует каждый, продолжая остальные проверки после ошибки одной подсистемы.
4. По умолчанию упаковывает три ключевых проекта в APK, когда их линковка успешна: `platform`, `core_types`, `integration`.
5. Сохраняет результаты, конкретные ошибки, версии инструментов, идентификаторы исходников и архив журналов без содержимого ресурсов.
**Системные инструменты сборки — бинарные программы и будут скачаны Docker на сервере. Запрет на скачивание игровых бинарных ресурсов соблюдён; полностью автономный комплект SDK/NDK/FPC в этот ZIP не вложен.** Полный оригинальный код KaM также не вложен: его автоматически получает серверный загрузчик по фиксированному commit. В архиве нет ссылок на изменяемый `master` KaM.
`config/toolchain.lock.json` появляется при первом реальном получении Docker-образа, а не содержит выдуманный digest. Для одинакового окружения на другом сервере перенесите этот lock вместе с проектом. Сам первый выбор CGE-образа зависит от даты запуска; KaM всегда зафиксирован на r16020.
## 2. Что проверяется
| Проба | Реальные модули / граница | По умолчанию |
|---|---|---|
| `platform` | CGE + FPC: Android shell, системные потоки, файловые пути, zlib, изображение, input, audio API | Compile + native link + APK |
| `core_types` | `KM_CommonTypes`, `KM_Points`; настоящие функции координат | Compile + native link + APK |
| `core_streams` | `KM_CommonClasses`; настоящая сериализация и зависимости | Compile + native link |
| `mission_tokens` | `KM_MissionScript` | Compile + native link |
| `mission_info` | `KM_MissionScript_Info` | Compile + native link |
| `terrain_io` | `KM_TerrainUtils` | Compile + native link |
| `sprite_loader` | `KM_ResSprites` и его реальные зависимости | Compile + native link |
| `terrain_pathfinding` | `KM_Terrain` и его реальные зависимости | Compile + native link |
| `mission_world` | `KM_MissionScript_Standard` | Compile + native link |
| `simulation` | `KM_Game` как исходный модуль, **не desktop executable** | Compile + native link |
| `script_vm` | `uPSCompiler`, `uPSRuntime` из закреплённого PascalScript | Compile + native link |
| `scripting` | `KM_ScriptingEvents` | Compile + native link |
| `legacy_render` | `KM_Render`, диагностика прежнего backend | Compile + native link; необязательная проба |
| `legacy_audio` | `KM_Sound`, диагностика прежнего backend | Compile + native link; необязательная проба |
| `integration` | Основные корни KaM **вместе с Castle в одной Android-библиотеке** | Compile + native link + APK |
Никаких `test_shims`, пустых `KM_*.pas` вместо оригиналов или самостоятельно переписанных MAP/RXX readers в сборочных проектах нет. Модули с транзитивными зависимостями компилируются как есть; их ошибка не скрывается.
Используется один уже существующий upstream define: **`DBG_SKIP_SECURE_AUTH`**. Он отключает необязательный приватный модуль аутентификации multiplayer, недоступный в обычном исходном комплекте. Это локальный Android-проект, не тест сетевого сервиса. Define записывается в каждый соответствующий `target.json`. Остальные игровые подсистемы не отключаются для получения зелёного отчёта.
Линковка не отключена через `-Cn`. Стенд запрашивает пересборку (`-B`), отключает smart linking/удаление неиспользуемых секций и включает проверку undefined symbols. Это намеренно более строгая проверка зависимостей, чем пустой вызов одной функции с выброшенным остальным кодом. Проверяются свежие корневые `.ppu`, ELF нужного ABI, отсутствие `DT_TEXTREL`, структура APK и его native dependencies. Если упаковщик удалил только debug symbols, библиотека сопоставляется по неизменным allocated sections и program headers, а не ошибочно отклоняется из-за другой полной SHA-256. Подпись APK проверяется `apksigner`, когда он найден; иначе проверка подписи помечена `NOT_RUN`.
## 3. Результаты и коды возврата
Начинайте с:
```text
reports/LATEST-SUMMARY.md
reports/LATEST.json
```
Полный результат конкретного запуска:
```text
reports/runs/<build-id>/SUMMARY.md
reports/runs/<build-id>/result.json
reports/runs/<build-id>/<profile>/compile-link.log
reports/runs/<build-id>/<profile>/package.log
reports/runs/<build-id>/source-inventory.json
reports/runs/<build-id>/evidence.zip
```
При успешной упаковке:
```text
dist/<build-id>/kam_probe_platform-aarch64-debug.apk
dist/<build-id>/kam_probe_core_types-aarch64-debug.apk
dist/<build-id>/kam_probe_integration-aarch64-debug.apk
dist/LATEST.json
```
Каждый APK появляется **только если соответствующая проба действительно собрана и упакована**. Ошибка `integration` не удаляет успешно полученный `platform` APK. Старые артефакты лежат в своих каталогах build-id и не засчитываются в новый результат.
| Итог | Exit code | Значение |
|---|---:|---|
| `ANDROID_BUILD_GATE_PASS` | 0 | Все обязательные Android compile/link-пробы и три обязательных APK прошли. Runtime ещё не подразумевается. |
| `NOT_BUILDABLE_AS_IS` | 1 | Обязательная проба встретила ошибку компиляции, линковки или упаковки. Смотреть конкретный журнал. |
| `BLOCKED` | 2 | Проверке мешает отсутствующий инструмент, исходник, окружение или другой незавершённый этап. Не успех. |
| `PARTIAL_SELECTION` | 2 | Выбрана лишь часть профилей. Даже успешный platform APK не считается подтверждением всего core. |
Отдельные неудачи `legacy_render`/`legacy_audio` не требуют сохранения старых backend и не проваливают gate сами по себе. Но если эти зависимости реально входят в обязательный KaM-корень, ошибка будет видна и заблокирует этот корень.
**`PASS` означает только указанную проверку.** Компиляция `KM_Game` не означает, что экономика/AI уже запущены, и ошибка `Graphics` не означает «весь KaM нужно переписать». Результат даёт конкретную точку для небольшого Android-адаптера, доработки или подключения существующей библиотеки. Матрица интерпретации есть в `SUMMARY.md` и `docs/COVERAGE.md`.
## 4. Другие режимы
Уже установленный CGE/FPC Android toolchain, без Docker:
```bash
./build-android.sh --local
```
`--local` означает использовать инструменты сервера; **target остаётся Android**. `castle-engine`, `fpc`, Java, Android SDK/NDK и cross-compiler должны быть согласованно настроены. Стенд не устанавливает SDK через root и не изменяет системную конфигурацию.
Повторный запуск с уже загруженным и проверенным кодом:
```bash
./build-android.sh --no-fetch
```
Только проверка Android shell и типов:
```bash
./build-android.sh --profiles platform,core_types
```
Получить APK для каждой успешно слинкованной пробы:
```bash
./build-android.sh --package-all
```
Другие Android ABI, отдельные запуски:
```bash
./build-android.sh --cpu arm
./build-android.sh --cpu x86_64
```
Android x86_64 — вариант для соответствующего Android-устройства/эмулятора, **не десктопная сборка**. Успех одного ABI не засчитывается за другой.
Пути к дополнительному исходному пакету или Android native libraries задаются в `config/extra-paths.json`. Пути относительно корня проекта предпочтительны, чтобы одинаково работать внутри Docker и снаружи. По умолчанию списки пусты. Стенд не подставляет другую библиотеку автоматически и не принимает extra path, который обнаруженно перекрывает оригинальный KaM unit.
## 5. Ресурсы — позже, на вашем сервере
Для исходной проверки сборки этот раздел можно полностью пропустить.
Положите рядом каталоги установленной игры, сохранив имена и регистр:
```text
/srv/kam-r16020/
data/
SpriteResource/
Maps/
MapsMP/
Campaigns/
Tutorials/
```
Содержимое собираете вы из соответствующих установок. Стенд не получает игровые файлы из сети. В Docker папка монтируется read-only; в отдельные сборочные каталоги помещаются её точные копии.
```bash
./build-android.sh --assets /srv/kam-r16020
```
Это добавляет ресурсы в упаковываемые KaM-пробы (`core_types`, `integration`, либо выбранные с `--package-all`). Независимый `platform` остаётся без игровых ресурсов. Для каждой копии на сервере проверяется SHA-256. При запуске Android получает файлы из assets и копирует в приватный каталог приложения для обычных `TFileStream`-путей, проверяя размер копии. Никакой конвертации `.map/.dat/.rxx` нет.
**Добавление файлов не запускает миссию автоматически.** Этот режим проверяет доставку данных и нативные файловые пути, а не полноценное декодирование/создание мира. Runtime checksum оригинальных ресурсов и штатные загрузки мира не заявлены как выполненные проверки этого стенда. Большой комплект может заметно увеличить APK, время инициализации и занятое место; для проверки сборки он не нужен.
Не передавайте проприетарные файлы через публичный Git. `private-assets/`, `vendor/`, `build/`, `dist/` исключены в `.gitignore`. В `evidence.zip` содержимого ресурсов нет, но имена/размеры/хеши могут присутствовать в metadata — просмотрите их перед публичной публикацией.
## 6. Запуск APK на Android — дополнительный этап
Для ответа «собирается ли выбранная архитектура?» достаточно серверного compile/link/package-отчёта. Проверка запуска — отдельное свидетельство.
На машине с ADB и одним авторизованным Android-устройством:
```bash
python3 tools/device.py --profile platform --exercise-lifecycle
python3 tools/device.py --profile core_types --exercise-lifecycle
python3 tools/device.py --profile integration --exercise-lifecycle
```
Указывать профиль имеет смысл только после получения его APK. Несколько устройств: добавьте `--serial <serial>`. Скрипт устанавливает/обновляет **только выбранное тестовое приложение**, запускает его и читает приватный отчёт через `run-as`. Старый `runtime.json` этого теста удаляется перед запуском; ресурсы, настройки игры и сохранения не очищаются. ADB не запускается внутри стандартного Docker build-контейнера.
В APK: процедурная клеточная картинка, drag/pinch/tap, кнопки сохранения отчёта и звука. Автоматически проверяются ABI, native-файлы/seek, FPC zlib, поток и frame callbacks. В профильных APK вызываются настоящие `KMPoint`/`KMPointRight`; в `core_streams` и `integration` — `TKMemoryStreamBinary`. Успешное достижение UI также показывает, что unit initialization импортированного набора не прервало запуск.
Вывод находится в `reports/device/<timestamp>/`. Видимое изображение, удобство жестов и слышимый звук требуют наблюдения: возвращение `SoundEngine.Play` не подменяет проверку звука. КаМ-terrain, здания и симуляция этим APK не изображаются.
## 7. Проверка самого стенда
```bash
./test-harness.sh
```
Это Python unit/integration tests инструментария без сети, Docker и ресурсов. Они проверяют выбор исходников, пути, gate, генерацию проектов, ELF/APK parser, отказ при старом/неверном артефакте, отказ при пустом выводе компилятора, продолжение после ошибки и приватность evidence.
**Сквозные контрольные тесты используют явно помеченные временные test doubles компилятора/ELF/APK.** Это тестирование управления сборкой, не эмуляция настоящего KaM и не доказательство компиляции Pascal. Test doubles существуют только в `TemporaryDirectory`; в реальные targets и результаты Android они не попадают.
## 8. Структура
```text
build-android.sh Единственная точка входа сборки
code/ Общий Android/CGE runtime стенда
tools/ Загрузка исходников, 15 targets, сборка, аудит, ADB
config/profiles.json Корни проверяемых подсистем
config/upstream.json Зафиксированная база
config/extra-paths.json Явно добавленные зависимости (изначально пусто)
tests/ Тесты инструментария; не игровое ядро
reports/preparation/ Проверки, реально выполненные при подготовке ZIP
docs/ Границы доказательств, источники, разбор ошибок
vendor/ Источники появляются при запуске на сервере
private-assets/ Необязательное закрытое место ваших данных
```
`CastleEngineManifest.xml`, `ProbeBuild.pas`, `ProbeImports.pas` создаются отдельно для каждого профиля в `build/<build-id>/<profile>/`. Корень ZIP сам по себе не является одним CGE-проектом; запускайте `build-android.sh`, а не `castle-engine compile` без target из корня.
Полноценный порт не требуется для этого теста. Следующее решение принимается по реальному серверному отчёту: устранить обнаруженный общий блокер и повторить те же Android-пробы, не переписывать работающие игровые подсистемы заранее.
## 0.3.1 — correction after first server report
- Removed global FPC `-Mdelphi`. KaM units already select Delphi mode through `KaM_Remake.inc`; forcing it globally also changed Castle Game Engine units and broke `CastleLocalizationGetText` before any KaM code was compiled.
- Source inventory now reads Pascal files with `utf-8-sig`, so UTF-8 BOM files such as `src/game/KM_Game.pas` are recognized.
- Added regression tests for both failures.
+31
View File
@@ -0,0 +1,31 @@
KaM r16020 — Android Architecture Probe 0.3.1
ТОЛЬКО ANDROID. ИГРОВЫХ РЕСУРСОВ И ГОТОВОГО APK В АРХИВЕ НЕТ.
На Linux-сервере с Python 3.10+ и Docker:
chmod +x build-android.sh test-harness.sh
./build-android.sh
По умолчанию: Android ARM64, 15 настоящих compile/link-проб,
три APK при успешной сборке их профилей. Ни один desktop target не строится.
Исходники r16020 и toolchain автоматически получает сервер; игровые данные не скачиваются.
Смотреть:
reports/LATEST-SUMMARY.md
reports/runs/<build-id>/evidence.zip
dist/<build-id>/*.apk
Код возврата:
0 = обязательный Android build gate пройден;
1 = обязательная сборка/линковка/упаковка встретила ошибку;
2 = проверка заблокирована или выбран неполный набор профилей.
Ресурсы можно подключить ПОЗЖЕ:
./build-android.sh --assets /srv/kam-r16020
Здесь Pascal/APK фактически не собирались. Проверено управление тестами;
среда подготовки не содержала FPC/CGE/Docker. Это кодовый сборочный тест,
а не заявление, что существующий core уже портирован.
Полная инструкция — README.md.
+7
View File
@@ -0,0 +1,7 @@
{
"image": "kambi/castle-engine-cloud-builds-tools@sha256:1a67fad233fe7a2e81ed5f750b548c9ef136ed7d36ec061ff96b2e5eb6eaa218",
"image_id": "sha256:1a67fad233fe7a2e81ed5f750b548c9ef136ed7d36ec061ff96b2e5eb6eaa218",
"resolved_from": "kambi/castle-engine-cloud-builds-tools:cge-unstable",
"locked_at": "20260908T161942Z",
"note": "Subsequent runs use this digest, never silently advance the tag."
}
+4
View File
@@ -0,0 +1,4 @@
{
"build_id": "20260908T161945Z-3f43e1f3",
"packages": []
}
+4
View File
@@ -0,0 +1,4 @@
{
"build_id": "20260908T164542Z-0843e132",
"packages": []
}
+5
View File
@@ -0,0 +1,5 @@
{
"build_id": "20260908T164542Z-0843e132",
"directory": "dist/20260908T164542Z-0843e132",
"packages": []
}
+39
View File
@@ -0,0 +1,39 @@
# Что можно заключить по этому тесту
## Цель
Получить реальные ошибки или успешные результаты **компиляции, полной native-линковки и APK-упаковки** KaM r16020 + FPC/CGE для Android. Отдельно проверить простейший запуск уже собранных APK. Ни desktop-сборка, ни полная игра для этой цели не нужны.
## Границы свидетельств
| Свидетельство | Подтверждает | Не подтверждает |
|---|---|---|
| `platform` compile/link | Сборочные настройки CGE/FPC для выбранного Android ABI | Совместимость KaM |
| Корневой модуль compile/link | Этот исходник и активные транзитивные зависимости компилируются/линкуются при записанных defines | Правильность каждого метода, чтение всех ресурсов |
| `integration` compile/link | Совместную линковку выбранных настоящих корней KaM и CGE | Старт миссии, simulation parity, готовность renderer |
| APK inspection | Корректную оболочку ZIP/DEX, нужный ABI, сопоставление библиотеки и статически объявленных зависимостей | Все dynamic `dlopen` пути, запуск Android loader, подпись без отдельной проверки |
| `apksigner` | Подпись конкретного артефакта при успешной проверке | Корректную работу приложения |
| Runtime startup | Прохождение соответствующих инициализаторов и старт CGE UI | Полную игровую инициализацию |
| Реальные point/stream smoke | Несколько конкретных штатных операций и размеров типов на Android | Все сценарии бинарной совместимости сохранений |
| Procedural GPU image / кадры | Вызовы render/update в CGE; визуально — простой texture path | КаМ высоты, сортировку спрайтов, terrain, draw performance |
| Лексический inventory | Места потенциальных зависимостей с файлами и строками | Активность ветви `ifdef` и наличие реальной ошибки компиляции |
Флаг `elf_16k_alignment_candidate` — только статическое свойство сегментов ELF. Это не сертификат совместимости с 16 KB Android page size и не подтверждение требований Google Play. ZIP alignment и поведение на соответствующем устройстве отдельно этим флагом не проверены.
## Принятие решения для документации
`REUSE_CANDIDATE`: исходный модуль собрался без изменений. Формулировка для документации: «Переиспользуем, compile/link подтверждён на ABI X в окружении Y; runtime/поведение проверяются отдельно».
`PLATFORM_ADAPTER_CANDIDATE`: ошибка на Windows/LCL/старом graphics/audio API. Сначала найти путь зависимости. Перенести конкретную платформенную операцию за границу, а не заменять loader или simulation module целиком.
`DEPENDENCY_BUILD_OR_CONFIG`: отсутствующий unit/include/native symbol. Различать некомплектный исходный пакет, неверный search path, библиотеку без Android-варианта, CPU-specific assembler и действительно непереносимый API. Записанный triage — подсказка, не окончательный диагноз.
`SOURCE_PATCH_CANDIDATE`: ошибка языка/RTL/ABI в настоящем исходнике. Нужна локальная проверяемая правка, её основание, повторный результат. Этот стенд намеренно хранит baseline неизменным и не делает такую правку автоматически.
`NEW_IMPLEMENTATION`: **никогда не назначается автоматически** по одной ошибке компиляции. Нужны исследование существующего кода и явное обоснование, почему адаптация/подключение библиотеки не подходят. Новый мобильный UI и touch presentation ожидаемы, но это не довод переписывать core.
## Что не входит в текущий запрос
Не исполняются миссии, экономика, AI, строительство, боя, save/load игрового мира, кампании и библиотечные script-файлы. Их код входит в соответствующие dependency/link-пробы, но поведенческого покрытия от этого не появляется. Полный KaM renderer и мобильные игровые панели не реализованы. MAP/DAT форматы не менялись. Ресурсы не заменены синтетическими файлами «под KaM».
После первого серверного запуска можно предметно описывать **сборочные и платформенные границы** проекта. Заявления о полной игровой совместимости потребуют других тестов; они не нужны для ответа на текущий вопрос «что мешает собрать нашу архитектуру под Android».
+8
View File
@@ -0,0 +1,8 @@
# First server run diagnosis (2026-09-08)
The first server report did **not** reach KaM portability errors. Two harness defects blocked it first.
1. `tools/generate.py` passed `-Mdelphi` as a global FPC command-line option. This changed compilation mode for Castle Game Engine units too. `CastleLocalizationGetText` relies on its normal CGE/FPC mode and failed with `Variable identifier expected` and overload errors. KaM units do not need a global mode flag because `KaM_Remake.inc` contains `{$MODE Delphi}` under FPC. Fix: remove global `-Mdelphi`.
2. `tools/source_audit.py` read UTF-8 files without BOM stripping. `src/game/KM_Game.pas` begins with a UTF-8 BOM, so the lexical `^unit` matcher did not index it and the simulation/integration profiles were incorrectly marked `Missing required original source units: KM_Game`. Fix: read with `utf-8-sig`.
After these fixes, rerun the same Android profiles. New failures should be treated as the first meaningful evidence about KaM/FPC/Android dependencies.
+27
View File
@@ -0,0 +1,27 @@
# Первичные источники
Проверено при подготовке: 8 сентября 2026 года. Это ссылки для воспроизведения API/сборочных решений, не утверждение, что Android APK был собран в среде подготовки.
## Зафиксированный KaM
- База и исходники: https://github.com/reyandme/kam_remake/tree/962fb850324b79bbe5480e1c2087d98f83a60917
- Переключатели FPC/существующий `DBG_SKIP_SECURE_AUTH`: https://github.com/reyandme/kam_remake/blob/962fb850324b79bbe5480e1c2087d98f83a60917/KaM_Remake.inc
- Подмодуль PascalScript: https://github.com/reyandme/kam_remake/blob/962fb850324b79bbe5480e1c2087d98f83a60917/.gitmodules
- Оригинальные координаты: https://github.com/reyandme/kam_remake/blob/962fb850324b79bbe5480e1c2087d98f83a60917/src/common/KM_Points.pas
- Оригинальные потоки: https://github.com/reyandme/kam_remake/blob/962fb850324b79bbe5480e1c2087d98f83a60917/src/common/KM_CommonClasses.pas
Upstream revision, blob SHA-1 и SHA-256 для всех реально используемых файлов записывает `tools/source_fetch.py`. Используется SHA gitlink подмодуля из закреплённого дерева, не его текущая ветка.
## Castle / Android
- Build tool, Android `--os/--cpu`, `--assume-compiled`, debug APK: https://castle-engine.io/build_tool
- Формат manifest, game_units, search_paths, defines, custom_options: https://castle-engine.io/project_manifest
- Официальный toolchain Docker image и его состав: https://castle-engine.io/docker
- Android: https://castle-engine.io/android
- Android assets: https://castle-engine.io/android_faq
- Lifecycle callbacks: https://castle-engine.io/apidoc/html/CastleApplicationProperties.TCastleApplicationProperties.html
- Файлы и config URLs: https://castle-engine.io/apidoc/html/CastleUriUtils.html
- Android ABI: https://developer.android.com/ndk/guides/abis
- Проверка реального устройства: https://developer.android.com/studio/run/device
CGE API развивается. Именно поэтому первый реальный запуск сохраняет digest toolchain, а ошибка платформенного API в `platform` не называется ошибкой KaM. Default SDK/NDK берутся из выбранного CGE, а не из неподтверждённой собственной таблицы версий.
+45
View File
@@ -0,0 +1,45 @@
# Разбор результатов
## Не запускается Docker или нет места/доступа в сеть
Это проблема окружения, не аргумент против FPC/Castle. Смотрите bootstrap report и `docker-pull.log`. Не запускайте скрипт через `sudo` автоматически: сначала настройте доступ к Docker и права на папку проекта. Образ содержит инструменты для многих целей; его размер не равен размеру нашего исходного ZIP.
## `platform` не собрался
Сначала смотреть `platform/compile-link.log`, `toolchain.json` и `platform/CastleEngineManifest.xml`. Это самостоятельная CGE/FPC проба без KaM. Причиной может быть версия API CGE, Android cross-compiler, NDK/linker либо ошибка кода самого стенда. Не приписывайте её KaM. Остальные пробы всё равно запускаются для сбора диагностик.
## `Can't find unit Graphics / Forms / LCL...`
Стенд не добавляет desktop LCL в Android автоматически и не создаёт пустую замену. Лексический `source-inventory.json` помогает найти места зависимости, но смотреть нужно активную цепочку в compile log. У нескольких проб может быть один общий блокер. Не считать каждый упавший профиль отдельной переписываемой системой.
## Отсутствующий `.res`, generated include или native object
Загрузчик намеренно выбирает только исходный текст, а не скомпилированные Windows-ресурсы/объекты. Такая ошибка может означать, что ресурс нужно штатно генерировать для Android или отделить платформенный модуль, а не что игровой формат несовместим. Запишите запросивший файл и найдите соответствующий upstream build step. Стенд не подменяет необходимый вход пустым файлом.
## `No fresh Pascal unit artifact`
Компилятор завершился, но стенд не нашёл ожидаемый `.ppu` внутри свежего проекта. Нельзя без проверки просто ослабить это условие: сначала установить, куда текущий CGE положил units, действительно ли собран именно исходный корень и не использован чужой cache. В `target.json` есть список источников и options. Это диагностическая проверка стенда, не обязательное свидетельство ошибки core.
## Undefined symbols / native `.so` отсутствует в APK
Проверка линковки специально строгая. Посмотреть библиотеку и ABI, транзитивные native зависимости и имеющийся вариант для Android. `extra-paths.json` позволяет явно добавить пути к проверенной библиотеке/исходникам. Не добавлять Windows DLL, desktop `.so` или заглушку с тем же именем unit. Настроить library search path недостаточно, если библиотека ещё должна отдельно упаковываться в APK: отчёт `DT_NEEDED` это обнаружит.
## APK слинкован, но упаковка отказала из-за native identity
Сравнение разрешает удаление неисполняемой debug-информации, но требует совпадения allocated sections и program headers. Другие изменения упаковщика требуют отдельного исследования. Не принимать произвольный `.apk` из старого `dist/` за новый. При нескольких разных APK outputs стенд консервативно отказывается выбирать случайный; изучите свежий target, прежде чем менять правило отбора.
## Source modified / Unrecorded binary
Baseline под `vendor/kam_remake/` проверяется по receipt до и после сборки. Не редактируйте его для получения «неизменённого upstream PASS». Для исследования адаптации нужна отдельная явно обозначенная копия/patch-ветка и запись разницы; текущий стенд проверяет as-is baseline. Повторная загрузка не затирает ваши изменения молча.
## Код возврата 2 после platform-only
Это ожидаемый `PARTIAL_SELECTION`. Смотрите индивидуальные статусы. Успешный platform-only запуск специально не делает глобальный architecture gate зелёным.
## APK запускается и сразу закрывается
Это может быть ошибка native loader, unit initialization или попытка штатного кода обратиться к данным до старта UI. `runtime.json` при раннем падении может не создаться. Сохраните журнал Android для этого package и библиотек. Device tool не засчитывает отсутствие отчёта за успех. Для полного crash stack может потребоваться отдельное чтение native crash log на устройстве.
## Что передавать для следующего разбора
`reports/runs/<build-id>/evidence.zip` содержит версии инструментов, source hashes, manifests, generated imports, compile/package logs и result. В нём нет игровых файлов, APK и полного upstream дерева. По нему можно выделить первый общий блокер. Для runtime дополнительно нужны файлы конкретного `reports/device/<timestamp>/`; сначала проверьте, нет ли в журналах нежелательных личных путей/данных.
+42
View File
@@ -0,0 +1,42 @@
# KaM r16020 — Android architecture probe
Build ID: `20260908T164542Z-0843e132` · CPU: `aarch64` · Gate: **NOT_BUILDABLE_AS_IS**
Нет desktop target. Успех означает сборку выбранных Android-корней, не игровую совместимость.
| Проба | Compile + native link | APK | Ошибка / следующий шаг |
|---|---|---|---|
| platform | FAIL | NOT_RUN | /work/build/20260908T164542Z-0843e132/platform/./code/GameViewMain.pas(47,10) Error: identifier idents no member "Enabled" |
| core_types | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| core_streams | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| mission_tokens | FAIL | NOT_RUN | /work/build/20260908T164542Z-0843e132/mission_tokens/./code/GameViewMain.pas(47,10) Error: identifier idents no member "Enabled" |
| mission_info | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| terrain_io | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| sprite_loader | FAIL | NOT_RUN | /work/vendor/kam_remake/src/res/KM_ResSprites.pas(5,17) Fatal: Can't find unit LCLIntf used by KM_ResSprites |
| terrain_pathfinding | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/KromUtils.pas(7,18) Fatal: Can't find unit LCLType used by KromUtils |
| mission_world | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| simulation | FAIL | NOT_RUN | /work/vendor/kam_remake/src/settings/KM_GameSettings.pas(6,15) Fatal: Can't find unit Forms used by KM_GameSettings |
| script_vm | FAIL | NOT_RUN | /work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSCompiler.pas(6844,13) Error: Illegal expression |
| scripting | FAIL | NOT_RUN | /work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(116,5) Error: Wrong number of parameters specified for call to "Invoke" |
| legacy_render | FAIL | NOT_RUN | /work/vendor/kam_remake/src/render/KM_Render.pas(6,17) Fatal: Can't find unit LCLIntf used by KM_Render |
| legacy_audio | FAIL | NOT_RUN | /work/vendor/kam_remake/src/ext/openal.pas(76,1) Fatal: Syntax error, "identifier" expected but "TYPE" found |
| integration | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
## Что установлено
`PASS` compile_link = FPC завершился успешно, найден свежий ELF нужного ABI, проверены корневые PPU. Линковка не отключена; требуются определённые символы. `PASS` APK = упаковка завершилась, проверены ZIP/DEX, правильный ABI, совпадение native library и DT_NEEDED. Подпись проверяется отдельно, если доступен apksigner. `runtime=NOT_RUN` до реального запуска на Android.
`NOT_BUILDABLE_AS_IS` — найдено препятствие в текущем коде/окружении, а не доказательство, что core надо переписать. Ошибки legacy_render/legacy_audio диагностические и не входят в обязательный gate, но их транзитивное попадание в core всё равно видно.
## Как принимать решение
| Свидетельство | Разумное решение |
|---|---|
| Корень собирается с оригинальными исходниками | Кандидат на reuse; поведение ещё проверяется отдельно |
| Активная зависимость Windows/LCL/desktop GL | Исследовать минимальное отделение платформенной части |
| Отсутствует source unit / package | Проверить комплектность исходников, условные defines и пакет для Android |
| Undefined reference / отсутствует native library | Сборка/подключение Android-библиотеки либо адаптер Castle |
| Один и тот же блокер у многих модулей | Исправить общий корень и повторить пробы; не считать это множеством отдельных переписываний |
| Срабатывает exception при запуске | Снять logcat; проверить unit initialization/lifecycle/доступ к данным |
Ни один автоматический результат здесь не выносит решение «написать подсистему с нуля».
+6
View File
@@ -0,0 +1,6 @@
{
"run_id": "20260908T164542Z-0843e132",
"directory": "reports/runs/20260908T164542Z-0843e132",
"gate": "NOT_BUILDABLE_AS_IS",
"summary": "reports/runs/20260908T164542Z-0843e132/SUMMARY.md"
}
+27
View File
@@ -0,0 +1,27 @@
# Проверки при подготовке ZIP
Дата: 8 сентября 2026 года. Это результаты подготовки кода стенда, **не результаты Android-сборки на сервере пользователя**.
| Проверка | Фактический результат |
|---|---|
| Python unit / pipeline-control tests | **103/103 PASS**, см. `harness-tests.log` |
| Shell syntax | `bash -n build-android.sh test-harness.sh` — PASS |
| Python syntax | `python3 -m compileall -q tools tests` — PASS |
| Реальный preflight без скачиваний | `./build-android.sh --local --no-fetch` — **BLOCKED, exit 2** |
| Компиляция Pascal | **NOT_RUN**: FPC/CGE отсутствуют |
| Android native link и упаковка APK | **NOT_RUN** |
| Запуск на Android-устройстве | **NOT_RUN**: ADB/устройства отсутствуют |
| Загрузка игровых бинарных ресурсов | Не выполнялась |
| Загрузка полного upstream в этой среде | Не выполнялась; загрузчик предусмотрен для сервера |
`environment.json` фиксирует обнаруженные инструменты. Есть Java, но это не заменяет FPC, CGE, SDK/NDK и cross-compiler. `actual-preflight-result.json`, `actual-preflight-toolchain.json`, `actual-preflight-SUMMARY.md` — копии действительно полученного результата. Пути в этих копиях относятся к среде подготовки; временный `reports/runs/<id>/` не поставляется, чтобы не оставлять пользователю чужой `LATEST`.
## Что означает число 103
Это проверки Python-инструментария: выбор только исходных текстов, защита путей, проверки receipt, ELF/ABI/DT_NEEDED, APK identity, допустимое удаление debug sections, генерация targets, правила gate и обработка ошибок. Семь сквозных сценариев проверяют оркестратор с явно обозначенными временными **test doubles**, в том числе отсутствие выходного файла при коде 0 и подменённый APK.
Эти test doubles **не компилируют Pascal и не показывают совместимость KaM с Android**. Они проверяют, что стенд не объявит успех при отсутствующих/неверных результатах. Реальные проекты всегда вызывают `castle-engine` с `--os=android` и импортируют оригинальные units по проверенному receipt, без подмен KaM-классов.
## Что должен дать первый серверный запуск
Реальные compile/link/package logs для выбранного toolchain и r16020, конкретные активные блокеры и APK только успешно упакованных профилей. Заранее неизвестно, какие исходные KaM-корни соберутся как есть. Найденный блокер — полезный результат теста архитектуры; он не является обоснованием переписывания всего core.
@@ -0,0 +1,42 @@
# KaM r16020 — Android architecture probe
Build ID: `20260908T135846Z-0d69d090` · CPU: `aarch64` · Gate: **BLOCKED**
Нет desktop target. Успех означает сборку выбранных Android-корней, не игровую совместимость.
| Проба | Compile + native link | APK | Ошибка / следующий шаг |
|---|---|---|---|
| platform | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| core_types | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| core_streams | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| mission_tokens | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| mission_info | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| terrain_io | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| sprite_loader | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| terrain_pathfinding | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| mission_world | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| simulation | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| script_vm | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| scripting | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| legacy_render | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| legacy_audio | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
| integration | BLOCKED | NOT_RUN | castle-engine not installed; no Android compilation attempted |
## Что установлено
`PASS` compile_link = FPC завершился успешно, найден свежий ELF нужного ABI, проверены корневые PPU. Линковка не отключена; требуются определённые символы. `PASS` APK = упаковка завершилась, проверены ZIP/DEX, правильный ABI, совпадение native library и DT_NEEDED. Подпись проверяется отдельно, если доступен apksigner. `runtime=NOT_RUN` до реального запуска на Android.
`NOT_BUILDABLE_AS_IS` — найдено препятствие в текущем коде/окружении, а не доказательство, что core надо переписать. Ошибки legacy_render/legacy_audio диагностические и не входят в обязательный gate, но их транзитивное попадание в core всё равно видно.
## Как принимать решение
| Свидетельство | Разумное решение |
|---|---|
| Корень собирается с оригинальными исходниками | Кандидат на reuse; поведение ещё проверяется отдельно |
| Активная зависимость Windows/LCL/desktop GL | Исследовать минимальное отделение платформенной части |
| Отсутствует source unit / package | Проверить комплектность исходников, условные defines и пакет для Android |
| Undefined reference / отсутствует native library | Сборка/подключение Android-библиотеки либо адаптер Castle |
| Один и тот же блокер у многих модулей | Исправить общий корень и повторить пробы; не считать это множеством отдельных переписываний |
| Срабатывает exception при запуске | Снять logcat; проверить unit initialization/lifecycle/доступ к данным |
Ни один автоматический результат здесь не выносит решение «написать подсистему с нуля».
@@ -0,0 +1,275 @@
{
"schema": "kam-android-build/1",
"run_id": "20260908T135846Z-0d69d090",
"cpu": "aarch64",
"commit": "962fb850324b79bbe5480e1c2087d98f83a60917",
"desktop_target": false,
"shims": false,
"runtime": "NOT_RUN",
"profiles": [
{
"id": "platform",
"required": true,
"purpose": "Castle/FPC Android shell, storage, threads, compression, touch, procedural GPU image, audio API, lifecycle",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "core_types",
"required": true,
"purpose": "Original core types, point arithmetic and ABI witness",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "core_streams",
"required": true,
"purpose": "Original serialization stream, records, strings and compression dependencies",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "mission_tokens",
"required": true,
"purpose": "Original DAT tokenizer and its real transitive dependencies",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "mission_info",
"required": true,
"purpose": "Original MAP/DAT metadata loader dependency and native-link boundary; no world execution",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "terrain_io",
"required": true,
"purpose": "Original terrain binary I/O dependency boundary",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "sprite_loader",
"required": true,
"purpose": "Original RX/RXX loader and its graphics/palette/compression dependencies",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "terrain_pathfinding",
"required": true,
"purpose": "Original terrain/pathfinding dependency graph",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "mission_world",
"required": true,
"purpose": "Original full mission loader, buildings/units command dependencies",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "simulation",
"required": true,
"purpose": "Original game core dependency graph, not the desktop executable",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "script_vm",
"required": true,
"purpose": "Pinned PascalScript submodule source and ARM ABI support",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "scripting",
"required": true,
"purpose": "KaM scripting integration dependency graph",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "legacy_render",
"required": false,
"purpose": "Diagnostic only: discover original renderer's platform dependencies",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "legacy_audio",
"required": false,
"purpose": "Diagnostic only: discover original audio's platform dependencies",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
},
{
"id": "integration",
"required": true,
"purpose": "Link actual core roots together with Castle in ONE Android native library and APK",
"compile_link": {
"status": "BLOCKED",
"reason": "castle-engine not installed; no Android compilation attempted"
},
"package": {
"status": "NOT_RUN"
},
"runtime": {
"status": "NOT_RUN"
},
"errors": []
}
],
"toolchain": {
"castle": {
"status": "NOT_INSTALLED"
},
"fpc": {
"status": "NOT_INSTALLED"
},
"java": {
"status": "PASS",
"exit_code": 0,
"seconds": 0.065,
"command": [
"java",
"-version"
],
"log": "reports/runs/20260908T135846Z-0d69d090/java-version.log",
"output": "$ java -version\nopenjdk version \"21.0.11\" 2026-04-21\nOpenJDK Runtime Environment (build 21.0.11+10-1-deb13u2-Debian)\nOpenJDK 64-Bit Server VM (build 21.0.11+10-1-deb13u2-Debian, mixed mode, sharing)\n"
},
"adb": {
"status": "NOT_INSTALLED"
},
"paths": {}
},
"gate": "BLOCKED"
}
@@ -0,0 +1,23 @@
{
"castle": {
"status": "NOT_INSTALLED"
},
"fpc": {
"status": "NOT_INSTALLED"
},
"java": {
"status": "PASS",
"exit_code": 0,
"seconds": 0.065,
"command": [
"java",
"-version"
],
"log": "reports/runs/20260908T135846Z-0d69d090/java-version.log",
"output": "$ java -version\nopenjdk version \"21.0.11\" 2026-04-21\nOpenJDK Runtime Environment (build 21.0.11+10-1-deb13u2-Debian)\nOpenJDK 64-Bit Server VM (build 21.0.11+10-1-deb13u2-Debian, mixed mode, sharing)\n"
},
"adb": {
"status": "NOT_INSTALLED"
},
"paths": {}
}
@@ -0,0 +1,6 @@
BLOCKED
Report: /mnt/data/kam-android-architecture-probe-r16020/reports/runs/20260908T135846Z-0d69d090/SUMMARY.md
Evidence (no game assets): /mnt/data/kam-android-architecture-probe-r16020/reports/runs/20260908T135846Z-0d69d090/evidence.zip
ACTUAL_EXIT_CODE=2
+22
View File
@@ -0,0 +1,22 @@
{
"python": "3.13.5 (main, Jul 15 2026, 20:25:40) [GCC 14.2.0]",
"platform": "Linux-6.18.35-x86_64-with-glibc2.41",
"tools": {
"fpc": null,
"castle-engine": null,
"docker": null,
"adb": null,
"java": "/usr/bin/java"
},
"actual_command": "./build-android.sh --local --no-fetch",
"actual_gate": "BLOCKED",
"pascal_compile_executed": false,
"android_native_link_executed": false,
"apk_packaging_executed": false,
"device_execution": false,
"game_resource_downloads": false,
"upstream_source_downloads_in_preparation": false,
"harness_tests_passed": 103,
"harness_end_to_end_compilers": "explicit temporary test doubles only",
"note": "No FPC/CGE/Docker/ADB available. Java exists; no Android build was attempted."
}
+108
View File
@@ -0,0 +1,108 @@
test_all_stages_can_reach_build_gate_with_test_double (test_pipeline.PipelineTests.test_all_stages_can_reach_build_gate_with_test_double) ... ok
test_core_failure_does_not_stop_later_probes (test_pipeline.PipelineTests.test_core_failure_does_not_stop_later_probes) ... ok
test_missing_sources_do_not_block_independent_platform_probe (test_pipeline.PipelineTests.test_missing_sources_do_not_block_independent_platform_probe) ... ok
test_no_resource_data_in_evidence (test_pipeline.PipelineTests.test_no_resource_data_in_evidence) ... ok
test_partial_selection_never_means_whole_architecture_ready (test_pipeline.PipelineTests.test_partial_selection_never_means_whole_architecture_ready) ... ok
test_stale_apk_library_rejected_end_to_end (test_pipeline.PipelineTests.test_stale_apk_library_rejected_end_to_end) ... ok
test_zero_exit_without_library_is_not_a_pass (test_pipeline.PipelineTests.test_zero_exit_without_library_is_not_a_pass) ... ok
test_apk_container_accepts_matching_mock_library (test_probe.ArtifactTests.test_apk_container_accepts_matching_mock_library) ... ok
test_apk_debug_stripping_not_false_stale_failure (test_probe.ArtifactTests.test_apk_debug_stripping_not_false_stale_failure) ... ok
test_apk_runtime_change_rejected_with_stripping (test_probe.ArtifactTests.test_apk_runtime_change_rejected_with_stripping) ... ok
test_arm64_elf (test_probe.ArtifactTests.test_arm64_elf) ... ok
test_arm_elf (test_probe.ArtifactTests.test_arm_elf) ... ok
test_bad_headers_rejected (test_probe.ArtifactTests.test_bad_headers_rejected) ... ok
test_identity_no_sections_cannot_bypass_sha (test_probe.ArtifactTests.test_identity_no_sections_cannot_bypass_sha) ... ok
test_missing_dex_rejected (test_probe.ArtifactTests.test_missing_dex_rejected) ... ok
test_needed_parsed (test_probe.ArtifactTests.test_needed_parsed) ... ok
test_random_nonelf_rejected (test_probe.ArtifactTests.test_random_nonelf_rejected) ... ok
test_runtime_identity_detects_changed_code (test_probe.ArtifactTests.test_runtime_identity_detects_changed_code) ... ok
test_runtime_identity_ignores_debug_only_changes (test_probe.ArtifactTests.test_runtime_identity_ignores_debug_only_changes) ... ok
test_stale_apk_library_rejected (test_probe.ArtifactTests.test_stale_apk_library_rejected) ... ok
test_textrel_rejected (test_probe.ArtifactTests.test_textrel_rejected) ... ok
test_unpackaged_dependency_rejected (test_probe.ArtifactTests.test_unpackaged_dependency_rejected) ... ok
test_wrong_abi_rejected (test_probe.ArtifactTests.test_wrong_abi_rejected) ... ok
test_x86_android_elf (test_probe.ArtifactTests.test_x86_android_elf) ... ok
test_empty_pass_is_not_runtime_success (test_probe.DeviceValidationTests.test_empty_pass_is_not_runtime_success) ... ok
test_missing_frame_evidence (test_probe.DeviceValidationTests.test_missing_frame_evidence) ... ok
test_scoped_report_path (test_probe.DeviceValidationTests.test_scoped_report_path) ... ok
test_stale_report_rejected (test_probe.DeviceValidationTests.test_stale_report_rejected) ... ok
test_actual_point_calls (test_probe.GenerationTests.test_actual_point_calls) ... ok
test_actual_stream_calls (test_probe.GenerationTests.test_actual_stream_calls) ... ok
test_asset_symlinks_rejected (test_probe.GenerationTests.test_asset_symlinks_rejected) ... ok
test_audit_flags_are_hints (test_probe.GenerationTests.test_audit_flags_are_hints) ... ok
test_empty_platform_has_no_core_imports (test_probe.GenerationTests.test_empty_platform_has_no_core_imports) ... ok
test_fresh_target_required (test_probe.GenerationTests.test_fresh_target_required) ... ok
test_manifest_no_standalone_target (test_probe.GenerationTests.test_manifest_no_standalone_target) ... ok
test_no_asset_network_call_by_default (test_probe.GenerationTests.test_no_asset_network_call_by_default) ... ok
test_optional_assets_preserved (test_probe.GenerationTests.test_optional_assets_preserved) ... ok
test_blocked_is_not_pass (test_probe.OrchestrationTests.test_blocked_is_not_pass) ... ok
test_core_failure_fails_gate (test_probe.OrchestrationTests.test_core_failure_fails_gate) ... ok
test_failed_subprocess_not_swallowed (test_probe.OrchestrationTests.test_failed_subprocess_not_swallowed) ... ok
test_full_gate (test_probe.OrchestrationTests.test_full_gate) ... ok
test_invalid_profile_rejected (test_probe.OrchestrationTests.test_invalid_profile_rejected) ... ok
test_lcl_classification (test_probe.OrchestrationTests.test_lcl_classification) ... ok
test_linker_strictness (test_probe.OrchestrationTests.test_linker_strictness) ... ok
test_missing_apk_does_not_pass (test_probe.OrchestrationTests.test_missing_apk_does_not_pass) ... ok
test_missing_required_row (test_probe.OrchestrationTests.test_missing_required_row) ... ok
test_missing_tool_is_blocked (test_probe.OrchestrationTests.test_missing_tool_is_blocked) ... ok
test_no_native_host_target (test_probe.OrchestrationTests.test_no_native_host_target) ... ok
test_no_smart_link_elimination (test_probe.OrchestrationTests.test_no_smart_link_elimination) ... ok
test_no_vacuous_pass (test_probe.OrchestrationTests.test_no_vacuous_pass) ... ok
test_optional_legacy_failure_recorded_not_mandatory (test_probe.OrchestrationTests.test_optional_legacy_failure_recorded_not_mandatory) ... ok
test_platform_alone_is_not_core_success (test_probe.OrchestrationTests.test_platform_alone_is_not_core_success) ... ok
test_platform_baseline_added (test_probe.OrchestrationTests.test_platform_baseline_added) ... ok
test_accept_path_00 (test_probe.PathsTests.test_accept_path_00) ... ok
test_accept_path_01 (test_probe.PathsTests.test_accept_path_01) ... ok
test_accept_path_02 (test_probe.PathsTests.test_accept_path_02) ... ok
test_accept_path_03 (test_probe.PathsTests.test_accept_path_03) ... ok
test_reject_path_00 (test_probe.PathsTests.test_reject_path_00) ... ok
test_reject_path_01 (test_probe.PathsTests.test_reject_path_01) ... ok
test_reject_path_02 (test_probe.PathsTests.test_reject_path_02) ... ok
test_reject_path_03 (test_probe.PathsTests.test_reject_path_03) ... ok
test_reject_path_04 (test_probe.PathsTests.test_reject_path_04) ... ok
test_reject_path_05 (test_probe.PathsTests.test_reject_path_05) ... ok
test_reject_path_06 (test_probe.PathsTests.test_reject_path_06) ... ok
test_reject_path_07 (test_probe.PathsTests.test_reject_path_07) ... ok
test_reject_path_08 (test_probe.PathsTests.test_reject_path_08) ... ok
test_reject_path_09 (test_probe.PathsTests.test_reject_path_09) ... ok
test_reject_path_10 (test_probe.PathsTests.test_reject_path_10) ... ok
test_reject_path_11 (test_probe.PathsTests.test_reject_path_11) ... ok
test_cached_native_units_rejected (test_probe.ReceiptTests.test_cached_native_units_rejected) ... ok
test_empty_receipt_rejected (test_probe.ReceiptTests.test_empty_receipt_rejected) ... ok
test_modified_source_rejected (test_probe.ReceiptTests.test_modified_source_rejected) ... ok
test_unrecorded_source_rejected (test_probe.ReceiptTests.test_unrecorded_source_rejected) ... ok
test_valid_receipt (test_probe.ReceiptTests.test_valid_receipt) ... ok
test_wrong_commit_rejected (test_probe.ReceiptTests.test_wrong_commit_rejected) ... ok
test_binary_or_unneeded_excluded_00 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_00) ... ok
test_binary_or_unneeded_excluded_01 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_01) ... ok
test_binary_or_unneeded_excluded_02 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_02) ... ok
test_binary_or_unneeded_excluded_03 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_03) ... ok
test_binary_or_unneeded_excluded_04 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_04) ... ok
test_binary_or_unneeded_excluded_05 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_05) ... ok
test_binary_or_unneeded_excluded_06 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_06) ... ok
test_binary_or_unneeded_excluded_07 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_07) ... ok
test_binary_or_unneeded_excluded_08 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_08) ... ok
test_binary_or_unneeded_excluded_09 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_09) ... ok
test_binary_or_unneeded_excluded_10 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_10) ... ok
test_binary_or_unneeded_excluded_11 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_11) ... ok
test_binary_or_unneeded_excluded_12 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_12) ... ok
test_binary_or_unneeded_excluded_13 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_13) ... ok
test_binary_or_unneeded_excluded_14 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_14) ... ok
test_binary_or_unneeded_excluded_15 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_15) ... ok
test_binary_or_unneeded_excluded_16 (test_probe.SourceSelectionTests.test_binary_or_unneeded_excluded_16) ... ok
test_excludes_symlinks_and_gitlinks (test_probe.SourceSelectionTests.test_excludes_symlinks_and_gitlinks) ... ok
test_keeps_case_and_sha (test_probe.SourceSelectionTests.test_keeps_case_and_sha) ... ok
test_known_git_blob (test_probe.SourceSelectionTests.test_known_git_blob) ... ok
test_source_allowed_00 (test_probe.SourceSelectionTests.test_source_allowed_00) ... ok
test_source_allowed_01 (test_probe.SourceSelectionTests.test_source_allowed_01) ... ok
test_source_allowed_02 (test_probe.SourceSelectionTests.test_source_allowed_02) ... ok
test_source_allowed_03 (test_probe.SourceSelectionTests.test_source_allowed_03) ... ok
test_source_allowed_04 (test_probe.SourceSelectionTests.test_source_allowed_04) ... ok
test_source_allowed_05 (test_probe.SourceSelectionTests.test_source_allowed_05) ... ok
test_source_allowed_06 (test_probe.SourceSelectionTests.test_source_allowed_06) ... ok
test_source_allowed_07 (test_probe.SourceSelectionTests.test_source_allowed_07) ... ok
----------------------------------------------------------------------
Ran 103 tests in 9.002s
OK
@@ -0,0 +1,92 @@
[
{
"profile": "platform",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "core_types",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "core_streams",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "mission_tokens",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "mission_info",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "terrain_io",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "sprite_loader",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "terrain_pathfinding",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "mission_world",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "simulation",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "script_vm",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "scripting",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "legacy_render",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "legacy_audio",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
},
{
"profile": "integration",
"generated_xml": "PASS",
"assets": 0,
"compilation": "NOT_RUN"
}
]
@@ -0,0 +1,28 @@
{
"command": [
"docker",
"run",
"--rm",
"--platform=linux/amd64",
"--user",
"0:0",
"-e",
"HOME=/work/.cache/home",
"-v",
"/codex/kam/src/kam-android-architecture-probe-r16020:/work",
"-w",
"/work",
"--entrypoint",
"python3",
"kambi/castle-engine-cloud-builds-tools@sha256:1a67fad233fe7a2e81ed5f750b548c9ef136ed7d36ec061ff96b2e5eb6eaa218",
"tools/runner.py",
"--local",
"--cpu",
"aarch64",
"--profiles",
"all",
"--timeout",
"1800"
],
"image": "kambi/castle-engine-cloud-builds-tools@sha256:1a67fad233fe7a2e81ed5f750b548c9ef136ed7d36ec061ff96b2e5eb6eaa218"
}
@@ -0,0 +1,42 @@
# KaM r16020 — Android architecture probe
Build ID: `20260908T164542Z-0843e132` · CPU: `aarch64` · Gate: **NOT_BUILDABLE_AS_IS**
Нет desktop target. Успех означает сборку выбранных Android-корней, не игровую совместимость.
| Проба | Compile + native link | APK | Ошибка / следующий шаг |
|---|---|---|---|
| platform | FAIL | NOT_RUN | /work/build/20260908T164542Z-0843e132/platform/./code/GameViewMain.pas(47,10) Error: identifier idents no member "Enabled" |
| core_types | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| core_streams | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| mission_tokens | FAIL | NOT_RUN | /work/build/20260908T164542Z-0843e132/mission_tokens/./code/GameViewMain.pas(47,10) Error: identifier idents no member "Enabled" |
| mission_info | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| terrain_io | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| sprite_loader | FAIL | NOT_RUN | /work/vendor/kam_remake/src/res/KM_ResSprites.pas(5,17) Fatal: Can't find unit LCLIntf used by KM_ResSprites |
| terrain_pathfinding | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/KromUtils.pas(7,18) Fatal: Can't find unit LCLType used by KromUtils |
| mission_world | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| simulation | FAIL | NOT_RUN | /work/vendor/kam_remake/src/settings/KM_GameSettings.pas(6,15) Fatal: Can't find unit Forms used by KM_GameSettings |
| script_vm | FAIL | NOT_RUN | /work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSCompiler.pas(6844,13) Error: Illegal expression |
| scripting | FAIL | NOT_RUN | /work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(116,5) Error: Wrong number of parameters specified for call to "Invoke" |
| legacy_render | FAIL | NOT_RUN | /work/vendor/kam_remake/src/render/KM_Render.pas(6,17) Fatal: Can't find unit LCLIntf used by KM_Render |
| legacy_audio | FAIL | NOT_RUN | /work/vendor/kam_remake/src/ext/openal.pas(76,1) Fatal: Syntax error, "identifier" expected but "TYPE" found |
| integration | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
## Что установлено
`PASS` compile_link = FPC завершился успешно, найден свежий ELF нужного ABI, проверены корневые PPU. Линковка не отключена; требуются определённые символы. `PASS` APK = упаковка завершилась, проверены ZIP/DEX, правильный ABI, совпадение native library и DT_NEEDED. Подпись проверяется отдельно, если доступен apksigner. `runtime=NOT_RUN` до реального запуска на Android.
`NOT_BUILDABLE_AS_IS` — найдено препятствие в текущем коде/окружении, а не доказательство, что core надо переписать. Ошибки legacy_render/legacy_audio диагностические и не входят в обязательный gate, но их транзитивное попадание в core всё равно видно.
## Как принимать решение
| Свидетельство | Разумное решение |
|---|---|
| Корень собирается с оригинальными исходниками | Кандидат на reuse; поведение ещё проверяется отдельно |
| Активная зависимость Windows/LCL/desktop GL | Исследовать минимальное отделение платформенной части |
| Отсутствует source unit / package | Проверить комплектность исходников, условные defines и пакет для Android |
| Undefined reference / отсутствует native library | Сборка/подключение Android-библиотеки либо адаптер Castle |
| Один и тот же блокер у многих модулей | Исправить общий корень и повторить пробы; не считать это множеством отдельных переписываний |
| Срабатывает exception при запуске | Снять logcat; проверить unit initialization/lifecycle/доступ к данным |
Ни один автоматический результат здесь не выносит решение «написать подсистему с нуля».
@@ -0,0 +1,5 @@
$ adb version
Android Debug Bridge version 1.0.41
Version 37.0.1-15733141
Installed as /usr/local/android/android-sdk/platform-tools/adb
Running on Linux 6.8.0-139-generic (x86_64)
@@ -0,0 +1,2 @@
$ castle-engine --version
castle-engine 7.0-alpha.3.snapshot
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_core_streams" caption="KaM Android: core_streams" author="KaM Mobile" qualified_name="org.kammobile.archprobe.corestreams" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,31 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_CommonClasses, KM_Points;
procedure RunUpstreamChecks(R:TProbeReport);
var P,Q:TKMPoint;
S:TKMemoryStreamBinary; I:Integer; U:UnicodeString;
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_CommonClasses, KM_Points; this does not execute a game world');
try
P:=KMPoint(17,-3); Q:=KMPointRight(P);
R.Check('core.points',(P.X=17) and (P.Y=-3) and (Q.X=18) and (Q.Y=-3),
'Calls original KMPoint / KMPointRight, not a local replacement');
R.Check('core.point_layout',(SizeOf(TKMPoint)=8) and (SizeOf(TKMPointF)=8),
Format('TKMPoint=%d TKMPointF=%d',[SizeOf(TKMPoint),SizeOf(TKMPointF)]));
except on E:Exception do R.Add('core.points','FAIL',E.ClassName+': '+E.Message);end;
try
S:=TKMemoryStreamBinary.Create;
try
S.Write(Integer(123456)); S.Write(P); S.WriteW(UnicodeString('KaM Android'));
S.Position:=0; S.Read(I); S.Read(Q); S.ReadW(U);
R.Check('core.stream_roundtrip',(I=123456) and (Q.X=P.X) and (Q.Y=P.Y)
and (U=UnicodeString('KaM Android')) and (S.Position=S.Size),
'Calls original TKMemoryStreamBinary Read/Write/ReadW/WriteW');
finally S.Free;end;
except on E:Exception do R.Add('core.stream_roundtrip','FAIL',E.ClassName+': '+E.Message);end;
end;
end.
@@ -0,0 +1,19 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_core_streams" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/core_streams/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/core_streams/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonTypes.pas(79,57) Note: Values in enumeration types have to be ascending
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(586,3) Note: Local variable "Encoding" not used
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1504,22) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1513,42) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1639,49) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1665,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1675,18) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,92 @@
{
"profile": "core_streams",
"name": "kam_probe_core_streams",
"package": "org.kammobile.archprobe.corestreams",
"cpu": "aarch64",
"units": [
"KM_CommonClasses",
"KM_Points"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_core_types" caption="KaM Android: core_types" author="KaM Mobile" qualified_name="org.kammobile.archprobe.coretypes" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,20 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_CommonTypes, KM_Points;
procedure RunUpstreamChecks(R:TProbeReport);
var P,Q:TKMPoint;
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_CommonTypes, KM_Points; this does not execute a game world');
try
P:=KMPoint(17,-3); Q:=KMPointRight(P);
R.Check('core.points',(P.X=17) and (P.Y=-3) and (Q.X=18) and (Q.Y=-3),
'Calls original KMPoint / KMPointRight, not a local replacement');
R.Check('core.point_layout',(SizeOf(TKMPoint)=8) and (SizeOf(TKMPointF)=8),
Format('TKMPoint=%d TKMPointF=%d',[SizeOf(TKMPoint),SizeOf(TKMPointF)]));
except on E:Exception do R.Add('core.points','FAIL',E.ClassName+': '+E.Message);end;
end;
end.
@@ -0,0 +1,19 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_core_types" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/core_types/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/core_types/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonTypes.pas(79,57) Note: Values in enumeration types have to be ascending
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(586,3) Note: Local variable "Encoding" not used
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1504,22) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1513,42) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1639,49) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1665,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1675,18) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,92 @@
{
"profile": "core_types",
"name": "kam_probe_core_types",
"package": "org.kammobile.archprobe.coretypes",
"cpu": "aarch64",
"units": [
"KM_CommonTypes",
"KM_Points"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
Binary file not shown.
@@ -0,0 +1,2 @@
$ fpc -iV
3.2.2
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_integration" caption="KaM Android: integration" author="KaM Mobile" qualified_name="org.kammobile.archprobe.integration" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,31 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_CommonTypes, KM_Points, KM_CommonClasses, KM_MissionScript_Info, KM_TerrainUtils, KM_ResSprites, KM_Terrain, KM_MissionScript_Standard, KM_Game, KM_ScriptingEvents;
procedure RunUpstreamChecks(R:TProbeReport);
var P,Q:TKMPoint;
S:TKMemoryStreamBinary; I:Integer; U:UnicodeString;
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_CommonTypes, KM_Points, KM_CommonClasses, KM_MissionScript_Info, KM_TerrainUtils, KM_ResSprites, KM_Terrain, KM_MissionScript_Standard, KM_Game, KM_ScriptingEvents; this does not execute a game world');
try
P:=KMPoint(17,-3); Q:=KMPointRight(P);
R.Check('core.points',(P.X=17) and (P.Y=-3) and (Q.X=18) and (Q.Y=-3),
'Calls original KMPoint / KMPointRight, not a local replacement');
R.Check('core.point_layout',(SizeOf(TKMPoint)=8) and (SizeOf(TKMPointF)=8),
Format('TKMPoint=%d TKMPointF=%d',[SizeOf(TKMPoint),SizeOf(TKMPointF)]));
except on E:Exception do R.Add('core.points','FAIL',E.ClassName+': '+E.Message);end;
try
S:=TKMemoryStreamBinary.Create;
try
S.Write(Integer(123456)); S.Write(P); S.WriteW(UnicodeString('KaM Android'));
S.Position:=0; S.Read(I); S.Read(Q); S.ReadW(U);
R.Check('core.stream_roundtrip',(I=123456) and (Q.X=P.X) and (Q.Y=P.Y)
and (U=UnicodeString('KaM Android')) and (S.Position=S.Size),
'Calls original TKMemoryStreamBinary Read/Write/ReadW/WriteW');
finally S.Free;end;
except on E:Exception do R.Add('core.stream_roundtrip','FAIL',E.ClassName+': '+E.Message);end;
end;
end.
@@ -0,0 +1,19 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_integration" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/integration/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/integration/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonTypes.pas(79,57) Note: Values in enumeration types have to be ascending
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(586,3) Note: Local variable "Encoding" not used
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1504,22) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1513,42) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1639,49) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1665,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1675,18) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,100 @@
{
"profile": "integration",
"name": "kam_probe_integration",
"package": "org.kammobile.archprobe.integration",
"cpu": "aarch64",
"units": [
"KM_CommonTypes",
"KM_Points",
"KM_CommonClasses",
"KM_MissionScript_Info",
"KM_TerrainUtils",
"KM_ResSprites",
"KM_Terrain",
"KM_MissionScript_Standard",
"KM_Game",
"KM_ScriptingEvents"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,4 @@
$ java -version
openjdk version "17.0.20" 2026-07-21
OpenJDK Runtime Environment (build 17.0.20+8-1-deb12u1-Debian)
OpenJDK 64-Bit Server VM (build 17.0.20+8-1-deb12u1-Debian, mixed mode, sharing)
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_legacy_audio" caption="KaM Android: legacy_audio" author="KaM Mobile" qualified_name="org.kammobile.archprobe.legacyaudio" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_Sound;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_Sound; this does not execute a game world');
end;
end.
@@ -0,0 +1,12 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_legacy_audio" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/legacy_audio/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/legacy_audio/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/ext/openal.pas(76,1) Fatal: Syntax error, "identifier" expected but "TYPE" found
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "legacy_audio",
"name": "kam_probe_legacy_audio",
"package": "org.kammobile.archprobe.legacyaudio",
"cpu": "aarch64",
"units": [
"KM_Sound"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_legacy_render" caption="KaM Android: legacy_render" author="KaM Mobile" qualified_name="org.kammobile.archprobe.legacyrender" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_Render;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_Render; this does not execute a game world');
end;
end.
@@ -0,0 +1,12 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_legacy_render" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/legacy_render/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/legacy_render/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/render/KM_Render.pas(6,17) Fatal: Can't find unit LCLIntf used by KM_Render
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "legacy_render",
"name": "kam_probe_legacy_render",
"package": "org.kammobile.archprobe.legacyrender",
"cpu": "aarch64",
"units": [
"KM_Render"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_mission_info" caption="KaM Android: mission_info" author="KaM Mobile" qualified_name="org.kammobile.archprobe.missioninfo" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_MissionScript_Info;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_MissionScript_Info; this does not execute a game world');
end;
end.
@@ -0,0 +1,19 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_mission_info" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/mission_info/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/mission_info/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonTypes.pas(79,57) Note: Values in enumeration types have to be ascending
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(586,3) Note: Local variable "Encoding" not used
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1504,22) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1513,42) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1639,49) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1665,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1675,18) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "mission_info",
"name": "kam_probe_mission_info",
"package": "org.kammobile.archprobe.missioninfo",
"cpu": "aarch64",
"units": [
"KM_MissionScript_Info"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_mission_tokens" caption="KaM Android: mission_tokens" author="KaM Mobile" qualified_name="org.kammobile.archprobe.missiontokens" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_MissionScript;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_MissionScript; this does not execute a game world');
end;
end.
@@ -0,0 +1,15 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_mission_tokens" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/mission_tokens/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/mission_tokens/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/build/20260908T164542Z-0843e132/mission_tokens/./code/GameViewMain.pas(47,10) Error: identifier idents no member "Enabled"
/work/build/20260908T164542Z-0843e132/mission_tokens/./code/GameViewMain.pas(108,10) Warning: Symbol "Left" is deprecated: "use Translation.X"
/work/build/20260908T164542Z-0843e132/mission_tokens/./code/GameViewMain.pas(108,39) Warning: Symbol "Bottom" is deprecated: "use Translation.Y"
GameViewMain.pas(236) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "mission_tokens",
"name": "kam_probe_mission_tokens",
"package": "org.kammobile.archprobe.missiontokens",
"cpu": "aarch64",
"units": [
"KM_MissionScript"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_mission_world" caption="KaM Android: mission_world" author="KaM Mobile" qualified_name="org.kammobile.archprobe.missionworld" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_MissionScript_Standard;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_MissionScript_Standard; this does not execute a game world');
end;
end.
@@ -0,0 +1,19 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_mission_world" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/mission_world/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/mission_world/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonTypes.pas(79,57) Note: Values in enumeration types have to be ascending
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(586,3) Note: Local variable "Encoding" not used
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1504,22) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1513,42) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1639,49) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1665,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1675,18) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "mission_world",
"name": "kam_probe_mission_world",
"package": "org.kammobile.archprobe.missionworld",
"cpu": "aarch64",
"units": [
"KM_MissionScript_Standard"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,18 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_platform" caption="KaM Android: platform" author="KaM Mobile" qualified_name="org.kammobile.archprobe.platform" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
</search_paths>
<defines />
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','NOT_RUN','Platform-only APK; no KaM modules imported');
end;
end.
@@ -0,0 +1,15 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_platform" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/platform/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/platform/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/build/20260908T164542Z-0843e132/platform/./code/GameViewMain.pas(47,10) Error: identifier idents no member "Enabled"
/work/build/20260908T164542Z-0843e132/platform/./code/GameViewMain.pas(108,10) Warning: Symbol "Left" is deprecated: "use Translation.X"
/work/build/20260908T164542Z-0843e132/platform/./code/GameViewMain.pas(108,39) Warning: Symbol "Bottom" is deprecated: "use Translation.Y"
GameViewMain.pas(236) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,18 @@
{
"profile": "platform",
"name": "kam_probe_platform",
"package": "org.kammobile.archprobe.platform",
"cpu": "aarch64",
"units": [],
"source_paths": [],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [],
"assets": [],
"shims": false
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_script_vm" caption="KaM Android: script_vm" author="KaM Mobile" qualified_name="org.kammobile.archprobe.scriptvm" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,uPSCompiler, uPSRuntime;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: uPSCompiler, uPSRuntime; this does not execute a game world');
end;
end.
@@ -0,0 +1,14 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_script_vm" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/script_vm/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/script_vm/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSCompiler.pas(5499,3) Note: Local variable "C" is assigned but never used
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSCompiler.pas(6844,13) Error: Illegal expression
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSCompiler.pas(6844,17) Fatal: Syntax error, ";" expected but "identifier BTYPE" found
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,92 @@
{
"profile": "script_vm",
"name": "kam_probe_script_vm",
"package": "org.kammobile.archprobe.scriptvm",
"cpu": "aarch64",
"units": [
"uPSCompiler",
"uPSRuntime"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_scripting" caption="KaM Android: scripting" author="KaM Mobile" qualified_name="org.kammobile.archprobe.scripting" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_ScriptingEvents;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_ScriptingEvents; this does not execute a game world');
end;
end.
@@ -0,0 +1,65 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_scripting" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/scripting/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/scripting/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(13,37) Warning: Unit "Rtti" is experimental
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(1368,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(1374,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(1380,17) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(1385,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(1391,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(1397,17) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(3592,37) Warning: Implicit string type conversion from "Char" to "WideString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(3614,37) Warning: Implicit string type conversion from "Char" to "WideString"
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(3921,10) Warning: Conversion between ordinals and pointers is not portable
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(9022,9) Warning: Conversion between ordinals and pointers is not portable
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(9022,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(9057,8) Warning: Conversion between ordinals and pointers is not portable
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(9057,8) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(29,15) Warning: Local variable "Args" of a managed type does not seem to be initialized
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(116,5) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(121,65) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(123,62) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(124,59) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(126,56) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(127,56) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(128,64) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(129,70) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(130,60) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(131,60) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(132,64) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(134,58) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(135,56) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(143,39) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(144,39) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(146,46) Error: Wrong number of parameters specified for call to "Invoke"
/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/units/aarch64-android/rtl-objpas/rtti.ppu:rtti.pp(2321,10) Error: Found declaration: Invoke(Pointer;const TArray$1$crc9240FF1D;TCallConv;PTypeInfo;Boolean;Boolean):<record type>;
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(10266,15) Warning: Conversion between ordinals and pointers is not portable
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(10280,16) Warning: Conversion between ordinals and pointers is not portable
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(10370,17) Warning: Conversion between ordinals and pointers is not portable
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(10410,13) Warning: Conversion between ordinals and pointers is not portable
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(10459,13) Warning: Conversion between ordinals and pointers is not portable
/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSRuntime.pas(10901,69) Warning: Conversion between ordinals and pointers is not portable
uPSRuntime.pas(13304) Fatal: There were 32 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "scripting",
"name": "kam_probe_scripting",
"package": "org.kammobile.archprobe.scripting",
"cpu": "aarch64",
"units": [
"KM_ScriptingEvents"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_simulation" caption="KaM Android: simulation" author="KaM Mobile" qualified_name="org.kammobile.archprobe.simulation" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_Game;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_Game; this does not execute a game world');
end;
end.
@@ -0,0 +1,19 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_simulation" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/simulation/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/simulation/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonTypes.pas(79,57) Note: Values in enumeration types have to be ascending
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(586,3) Note: Local variable "Encoding" not used
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1504,22) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1513,42) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1639,49) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1665,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1675,18) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/settings/KM_GameSettings.pas(6,15) Fatal: Can't find unit Forms used by KM_GameSettings
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "simulation",
"name": "kam_probe_simulation",
"package": "org.kammobile.archprobe.simulation",
"cpu": "aarch64",
"units": [
"KM_Game"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_sprite_loader" caption="KaM Android: sprite_loader" author="KaM Mobile" qualified_name="org.kammobile.archprobe.spriteloader" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_ResSprites;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_ResSprites; this does not execute a game world');
end;
end.
@@ -0,0 +1,12 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_sprite_loader" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/sprite_loader/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/sprite_loader/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/res/KM_ResSprites.pas(5,17) Fatal: Can't find unit LCLIntf used by KM_ResSprites
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "sprite_loader",
"name": "kam_probe_sprite_loader",
"package": "org.kammobile.archprobe.spriteloader",
"cpu": "aarch64",
"units": [
"KM_ResSprites"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_terrain_io" caption="KaM Android: terrain_io" author="KaM Mobile" qualified_name="org.kammobile.archprobe.terrainio" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_TerrainUtils;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_TerrainUtils; this does not execute a game world');
end;
end.
@@ -0,0 +1,19 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_terrain_io" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/terrain_io/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/terrain_io/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonTypes.pas(79,57) Note: Values in enumeration types have to be ascending
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(586,3) Note: Local variable "Encoding" not used
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1504,22) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1513,42) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1639,49) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1665,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/common/KM_CommonClasses.pas(1675,18) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "terrain_io",
"name": "kam_probe_terrain_io",
"package": "org.kammobile.archprobe.terrainio",
"cpu": "aarch64",
"units": [
"KM_TerrainUtils"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='utf-8'?>
<project name="kam_probe_terrain_pathfinding" caption="KaM Android: terrain_pathfinding" author="KaM Mobile" qualified_name="org.kammobile.archprobe.terrainpathfinding" game_units="GameInitialize" compiler="fpc" screen_orientation="landscape" fullscreen_immersive="true">
<version value="0.3.1" code="30" />
<compiler_options>
<search_paths>
<path value="code/" />
<path value="../../../vendor/kam_remake" />
<path value="../../../vendor/kam_remake/src" />
<path value="../../../vendor/kam_remake/src/ai" />
<path value="../../../vendor/kam_remake/src/common" />
<path value="../../../vendor/kam_remake/src/controls" />
<path value="../../../vendor/kam_remake/src/forms" />
<path value="../../../vendor/kam_remake/src/game" />
<path value="../../../vendor/kam_remake/src/gui" />
<path value="../../../vendor/kam_remake/src/hands" />
<path value="../../../vendor/kam_remake/src/houses" />
<path value="../../../vendor/kam_remake/src/maped" />
<path value="../../../vendor/kam_remake/src/media" />
<path value="../../../vendor/kam_remake/src/minimap" />
<path value="../../../vendor/kam_remake/src/mission" />
<path value="../../../vendor/kam_remake/src/navmesh" />
<path value="../../../vendor/kam_remake/src/net" />
<path value="../../../vendor/kam_remake/src/pathfinding" />
<path value="../../../vendor/kam_remake/src/perflog" />
<path value="../../../vendor/kam_remake/src/render" />
<path value="../../../vendor/kam_remake/src/res" />
<path value="../../../vendor/kam_remake/src/scripting" />
<path value="../../../vendor/kam_remake/src/settings" />
<path value="../../../vendor/kam_remake/src/terrain" />
<path value="../../../vendor/kam_remake/src/units" />
<path value="../../../vendor/kam_remake/src/unused" />
<path value="../../../vendor/kam_remake/src/utils" />
<path value="../../../vendor/kam_remake/src/ai/newAI" />
<path value="../../../vendor/kam_remake/src/game/gip" />
<path value="../../../vendor/kam_remake/src/game/misc" />
<path value="../../../vendor/kam_remake/src/game/notifications" />
<path value="../../../vendor/kam_remake/src/gui/pages_common" />
<path value="../../../vendor/kam_remake/src/gui/pages_game" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped" />
<path value="../../../vendor/kam_remake/src/gui/pages_menu" />
<path value="../../../vendor/kam_remake/src/net/http" />
<path value="../../../vendor/kam_remake/src/units/actions" />
<path value="../../../vendor/kam_remake/src/units/tasks" />
<path value="../../../vendor/kam_remake/src/utils/algorithms" />
<path value="../../../vendor/kam_remake/src/utils/io" />
<path value="../../../vendor/kam_remake/src/utils/method_parser" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/menu" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/mission" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/player" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/terrain" />
<path value="../../../vendor/kam_remake/src/gui/pages_maped/town" />
<path value="../../../vendor/kam_remake/src/ext" />
<path value="../../../vendor/kam_remake/src/ext/BGRABitmap" />
<path value="../../../vendor/kam_remake/src/ext/LNet" />
<path value="../../../vendor/kam_remake/src/ext/LazarusOpenGL" />
<path value="../../../vendor/kam_remake/src/ext/OggVorbis" />
<path value="../../../vendor/kam_remake/src/ext/LNet/sys" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source" />
<path value="../../../vendor/kam_remake/src/ext/Virtual-TreeView/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/dunit" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras" />
<path value="../../../vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty" />
<path value="../../../vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import" />
</search_paths>
<defines>
<define>DBG_SKIP_SECURE_AUTH</define>
</defines>
<custom_options>
<option>-B</option>
<option>-CX-</option>
<option>-XX-</option>
<option>-k--no-undefined</option>
<option>-k--no-gc-sections</option>
</custom_options>
<library_paths />
</compiler_options>
</project>
@@ -0,0 +1,12 @@
unit ProbeImports;
{$mode delphi}{$H+}
interface
uses ProbeReport;
procedure RunUpstreamChecks(R:TProbeReport);
implementation
uses SysUtils ,KM_Terrain;
procedure RunUpstreamChecks(R:TProbeReport);
begin
R.Add('upstream.imports','PASS','Real imported units initialized: KM_Terrain; this does not execute a game world');
end;
end.
@@ -0,0 +1,12 @@
$ castle-engine --os=android --cpu=aarch64 --compiler=fpc --mode=debug compile
Compiling project "kam_probe_terrain_pathfinding" for OS / CPU "android / aarch64" in mode "debug".
FPC executing...
Free Pascal Compiler version 3.2.2 [2026/08/04] for aarch64
Copyright (c) 1993-2021 by Florian Klaempfl and others
/work/build/20260908T164542Z-0843e132/terrain_pathfinding/./code/ProbePlatform.pas(52,13) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
/work/build/20260908T164542Z-0843e132/terrain_pathfinding/./code/ProbePlatform.pas(52,21) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
/work/vendor/kam_remake/src/utils/KromUtils.pas(7,18) Fatal: Can't find unit LCLType used by KromUtils
Fatal: Compilation aborted
Error: /usr/local/fpclazarus/3.2.2/fpc/bin/ppcrossa64 returned an error exitcode
Exception "Exception":
Failed to compile
@@ -0,0 +1,91 @@
{
"profile": "terrain_pathfinding",
"name": "kam_probe_terrain_pathfinding",
"package": "org.kammobile.archprobe.terrainpathfinding",
"cpu": "aarch64",
"units": [
"KM_Terrain"
],
"source_paths": [
"/work/vendor/kam_remake",
"/work/vendor/kam_remake/src",
"/work/vendor/kam_remake/src/ai",
"/work/vendor/kam_remake/src/common",
"/work/vendor/kam_remake/src/controls",
"/work/vendor/kam_remake/src/forms",
"/work/vendor/kam_remake/src/game",
"/work/vendor/kam_remake/src/gui",
"/work/vendor/kam_remake/src/hands",
"/work/vendor/kam_remake/src/houses",
"/work/vendor/kam_remake/src/maped",
"/work/vendor/kam_remake/src/media",
"/work/vendor/kam_remake/src/minimap",
"/work/vendor/kam_remake/src/mission",
"/work/vendor/kam_remake/src/navmesh",
"/work/vendor/kam_remake/src/net",
"/work/vendor/kam_remake/src/pathfinding",
"/work/vendor/kam_remake/src/perflog",
"/work/vendor/kam_remake/src/render",
"/work/vendor/kam_remake/src/res",
"/work/vendor/kam_remake/src/scripting",
"/work/vendor/kam_remake/src/settings",
"/work/vendor/kam_remake/src/terrain",
"/work/vendor/kam_remake/src/units",
"/work/vendor/kam_remake/src/unused",
"/work/vendor/kam_remake/src/utils",
"/work/vendor/kam_remake/src/ai/newAI",
"/work/vendor/kam_remake/src/game/gip",
"/work/vendor/kam_remake/src/game/misc",
"/work/vendor/kam_remake/src/game/notifications",
"/work/vendor/kam_remake/src/gui/pages_common",
"/work/vendor/kam_remake/src/gui/pages_game",
"/work/vendor/kam_remake/src/gui/pages_maped",
"/work/vendor/kam_remake/src/gui/pages_menu",
"/work/vendor/kam_remake/src/net/http",
"/work/vendor/kam_remake/src/units/actions",
"/work/vendor/kam_remake/src/units/tasks",
"/work/vendor/kam_remake/src/utils/algorithms",
"/work/vendor/kam_remake/src/utils/io",
"/work/vendor/kam_remake/src/utils/method_parser",
"/work/vendor/kam_remake/src/gui/pages_maped/menu",
"/work/vendor/kam_remake/src/gui/pages_maped/mission",
"/work/vendor/kam_remake/src/gui/pages_maped/player",
"/work/vendor/kam_remake/src/gui/pages_maped/terrain",
"/work/vendor/kam_remake/src/gui/pages_maped/town",
"/work/vendor/kam_remake/src/ext",
"/work/vendor/kam_remake/src/ext/BGRABitmap",
"/work/vendor/kam_remake/src/ext/LNet",
"/work/vendor/kam_remake/src/ext/LazarusOpenGL",
"/work/vendor/kam_remake/src/ext/OggVorbis",
"/work/vendor/kam_remake/src/ext/LNet/sys",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source",
"/work/vendor/kam_remake/src/ext/Virtual-TreeView/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/dunit",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Extras",
"/work/vendor/kam_remake/src/ext/Overbyte ICS 8/Source/Include",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/DataAbstract",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Addon/RemObjects SDK",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Debug",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/IDE",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Import",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/Kylix",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/RemObjects SDK Client",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Samples/TestApp",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/ThirdParty",
"/work/vendor/kam_remake/src/ext/pascalscript_submodule/unit-importing/Import"
],
"compiler_options": [
"-B",
"-CX-",
"-XX-",
"-k--no-undefined",
"-k--no-gc-sections"
],
"upstream_defines": [
"DBG_SKIP_SECURE_AUTH"
],
"assets": [],
"shims": false
}
@@ -0,0 +1,59 @@
{
"castle": {
"status": "PASS",
"exit_code": 0,
"seconds": 0.008,
"command": [
"castle-engine",
"--version"
],
"log": "reports/runs/20260908T164542Z-0843e132/castle-version.log",
"output": "$ castle-engine --version\ncastle-engine 7.0-alpha.3.snapshot\n"
},
"fpc": {
"status": "PASS",
"exit_code": 0,
"seconds": 0.004,
"command": [
"fpc",
"-iV"
],
"log": "reports/runs/20260908T164542Z-0843e132/fpc-version.log",
"output": "$ fpc -iV\n3.2.2\n"
},
"java": {
"status": "PASS",
"exit_code": 0,
"seconds": 0.067,
"command": [
"java",
"-version"
],
"log": "reports/runs/20260908T164542Z-0843e132/java-version.log",
"output": "$ java -version\nopenjdk version \"17.0.20\" 2026-07-21\nOpenJDK Runtime Environment (build 17.0.20+8-1-deb12u1-Debian)\nOpenJDK 64-Bit Server VM (build 17.0.20+8-1-deb12u1-Debian, mixed mode, sharing)\n"
},
"adb": {
"status": "PASS",
"exit_code": 0,
"seconds": 0.004,
"command": [
"adb",
"version"
],
"log": "reports/runs/20260908T164542Z-0843e132/adb-version.log",
"output": "$ adb version\nAndroid Debug Bridge version 1.0.41\nVersion 37.0.1-15733141\nInstalled as /usr/local/android/android-sdk/platform-tools/adb\nRunning on Linux 6.8.0-139-generic (x86_64)\n"
},
"paths": {
"CASTLE_ENGINE_PATH": "/usr/local/castle-engine/",
"ANDROID_HOME": "/usr/local/android/android-sdk/",
"JAVA_HOME": "/usr/lib/jvm/java-17-openjdk-amd64/",
"FPCDIR": "/usr/local/fpclazarus/3.2.2/fpc/lib/fpc/3.2.2/"
},
"docker_image_lock": {
"image": "kambi/castle-engine-cloud-builds-tools@sha256:1a67fad233fe7a2e81ed5f750b548c9ef136ed7d36ec061ff96b2e5eb6eaa218",
"image_id": "sha256:1a67fad233fe7a2e81ed5f750b548c9ef136ed7d36ec061ff96b2e5eb6eaa218",
"resolved_from": "kambi/castle-engine-cloud-builds-tools:cge-unstable",
"locked_at": "20260908T161942Z",
"note": "Subsequent runs use this digest, never silently advance the tag."
}
}
+17
View File
@@ -0,0 +1,17 @@
# Закреплённые исходники
При запуске сервер создаёт `kam_remake/` и получает только исходный текст r16020
плюс PascalScript по закреплённому gitlink. Полный upstream в исходный ZIP не вложен.
Игровые ресурсы, бинарные библиотеки и release ZIP не скачиваются.
Команда только для подготовки кода:
```bash
python3 tools/source_fetch.py
python3 tools/source_fetch.py --verify
```
Команды запускать из корня проекта. Обычно отдельный вызов не нужен:
`build-android.sh` делает это автоматически. `SOURCE_RECEIPT.json` фиксирует каждый
файл; лицензии исходных проектов загружаются и сохраняются вместе с исходниками.
Не подменять baseline заглушками и не класть сюда игровые бинарные данные.
+8
View File
@@ -0,0 +1,8 @@
Камэрцыйнае выкарыстанне строга забаронена!
Ўсе выкарыстаны імёны, сімвалы або іншыя абароненыя аўтарскімі правамі матэрыялы, з'яўляюцца ўласнасцю іх уладальнікаў.
Мы не нясем адказнасці, калі дадзены мод (KaM Remake) нанясе ўрон праграмнаму або апаратнаму забеспячэнню Вашага кампутара.
Мы мяркуем, што Вы валодаеце ўласнай ліцэнзійнай копіяй iгры "Knights and Merchants: The Peasants Rebellion", у адваротным разе Вам неабходна
купіць яе, перад тым як Вы пачнеце iграць ў KaM Remake. Невыкананне гэтага патрабавання будзе парушэннем ліцэнзійнай дамовы.
+7
View File
@@ -0,0 +1,7 @@
Комерсиалната цел е стриктно забранена!
Всякакви използвани имена, символи или други материали с авторско право е собственост на съответните собственици.
Ние не поемаме никакви отговорности, ако този мод повреди вашия софтуер или хардуер.
Изисква се Вие (съответният потребител/играч) да притежавате лицензирано копие на играта Knights and Merchants: The Peasants Rebellion, в противен случай трябва да си купите играта преди да играете на този мод. Ако не направите това, ще нарушите споразумението.
+7
View File
@@ -0,0 +1,7 @@
商业用途是严格禁止的!
任何使用的名字,符号,或其他受版权保护的材料,都是其各自所有者的财产。
如果这个游戏程序危害你的软件或硬件,我们不承担任何责任。
你必须获取《骑士与商人之农民起义》的许可副本,否则你在运行游戏之前应该购买此游戏。如果不这么做,将是违反许可协议。
+8
View File
@@ -0,0 +1,8 @@
Použití pro komerční účely přísně zakázáno!
Použité názvy, symboly a ostatní materiály náleží jejich právoplatným vlastníkům.
Neneseme žádnou zodpovědnost za případné poškození vašeho softwaru nebo hardwaru.
Je vyžadováno vlastnictví oficiální kopie hry Knights and Merchants: The Peasant Rebellion, v jiném případě si hru, prosím zakupte před použitím tohoto módu.
Pokud tak neučiníte, porušíte licenční smlouvu.
+8
View File
@@ -0,0 +1,8 @@
Commercieel gebruik van deze software is niet toegestaan!
Gebruik van namen, symbolen of andere beschermde material is eigendom van de respectievelijke eigenaren.
Wij nemen geen verantwoordelijkheid als deze mod enige schade aanricht aan software en hardware.
Het is nodig dat jij (speler) een licentie heb op het spel Knights and Merchants: The Peasants Rebellion, anders moet je het spel kopen voor het spelen van deze mod.
Als dit niet wordt gedaan is dit een rechtstreekse breuk op de gebruikers licentie overeenkomst.
+7
View File
@@ -0,0 +1,7 @@
Commercial use is strictly prohibited!
Any used names, symbols or other copyrighted material is the property of the respective owners.
We do not take any responsibility if this mod harms your software or hardware.
It is required that you (the end user/player) own a licensed copy of the game Knights and Merchants: The Peasants Rebellion, otherwise you should buy the game before using this mod. Failing to do so will be breaching the License Agreement.
Loaded 100 of 993 files, more files were not shown because too many files have changed in this diff. Show more