Skip to content

Danveyd/NewCatroid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NewCatroid Logo

NewCatroid

Расширенная версия Catrobat/Catroid — с поддержкой 3D, AI, Qemu, Python и др.

TelegramRuStoreLicense

Основные улучшения:

  • Расширенное 3D: Полноценная поддержка 3D-объектов, PBR-материалов, постобработкой и встроенный редактор сцен (с ECS и иерархией).
  • Интеграция с ИИ: Возможность использовать нейросетевые модели (импорт .onnx) и доступ к API Gemini.
  • Сетевые функции: Готовые инструменты для работы с Firebase и локальным сервером.
  • Интеграция с Git: Возможность разрабатывать проекты вместе.
  • Библиотеки: Создание своих блоков и формул.
  • Плагины: Кастомизация основного интерфейса.
  • Qemu: Эмуляция x86_64 прямо через блоки. (ARM64)
  • Python 3.12: Полный Python 3.12, возможность устанавливать библиотеки через pip (ARM64)
  • LunoScript: Собственный язык, похожий на Kotlin, который дает огромный функционал (работа с Java обьектами, наследование от них и это все в рантайме). Документация LunoScript
  • Файлы проекта: Каждый проект имеет свое изолированное хранилище для ресурсов. (так же имеется командная строка)
  • ...и множество других улучшений! (ОГРОООМНОЕ МНОЖЕСТВО, я просто не напишу столько)

Последнюю версию приложения и все новости вы можете найти в нашем Telegram-канале.

Quickstart

1. Подготовка окружения

  • Установите Git.
  • Установите последнюю стабильную версию Android Studio.
  • Убедитесь, что у вас установлен JDK 11.

2. Клонирование и запуск Клонируем репозиторий

git clone https://github.com/Danveyd/NewCatroid.git

Переходим в директорию проекта

cd NewCatroid

После этого откройте проект в Android Studio. Она должна автоматически подтянуть все зависимости с помощью Gradle. (Но могут быть и ошибки)

Как помочь проекту (Contributing)

Мы рады помощи! :) если вы хотите помочь, то вот инструкция:

  1. Сделайте форк этого репозитория (кнопка Fork в правом верхнем углу).
  2. Создайте новую ветку для своей фичи (git checkout -b feature/amazing-feature).
  3. Внесите свои изменения и сделайте коммит (git commit -m 'Add some amazing feature').
  4. Отправьте изменения в свой форк (git push origin feature/amazing-feature).
  5. Создайте Pull Request на этой странице.

Основные требования к коду:

  • Чистота: Код должен быть читаемым. Пожалуйста, придерживайтесь Clean Code и минимальных комментариев (только там, где они реально нужны).
  • Стабильность: Убедитесь, что ваши изменения не ломают существующий функционал и не содержат критических багов.

Теперь гайд по проекту

я буду называть пути внутри синхронизированного проекта Android Studio. Я предпологаю. что вы уже настроили проект.

res/values - тут все глобальные значения: цвета, строки и др.

res/values/strings - языки, основные английский и русский. Английский обновлять обязательно, без него не будет работать. английский язык никак не обозначен, русский подписан ru

res/layout - все лайауты, тобеж xml файлы, где прописано как выглядят блоки, менюшки и др.

assets - ассеты. то что зеленое - тестовое, при релизном билде не будет включено (так везде)

kotlin+java/org.catrobat.catroid/ - основные скрипты, тут будут все .java, .kt файлы.

kotlin+java/org.catrobat.catroid/content - основной контент (блоки, действия блоков и др.), там также есть много контроллеров (для микрофона, Gemini и все остальное, что я создавал)

kotlin+java/org.catrobat.catroid/content/actions - действия блоков, тобеж по сути их код.

kotlin+java/org.catrobat.catroid/content/bricks - классы блоков, они соединяют действия, лайауты и т.д. воедино.

kotlin+java/org.catrobat.catroid/content/ActionFactory.java - "Фабрика" блоков, тут мы берем дейтвие, запихиваем в него введенные значения и возвращаем готовое к выполнению действие.

kotlin+java/org.catrobat.catroid/content/GlobalManager.kt - Глобальный мэнеджер, можете использовать его как штуку для хранения глобальных переменных. сейчас там есть переменные stopSounds и saveScenes (если отключить stopSounds - звуки не будут останавливаться при переходе на новую сцену, а если отключить saveScenes - сцены не будут сохраняться. иногда полезно)

kotlin+java/org.catrobat.catroid/raptor - Все для 3D, классы, компоненты. ThreeDManager - основной класс, отвечающий за 3D, SceneManager - его обертка более высокого уровня, постепенно я переношу всю работу на SceneManager, так как он лучше (система компонентов, сцен и т.д.)

kotlin+java/org.catrobat.catroid/editor - 3D редактор, все классы для него - тут.

kotlin+java/org.catrobat.catroid/utils/lunoscript - Все исхоники LunoScript, в Interpreter находятся обьявления всех встроенных функций.

Все остальное я ищу через поиск :/ (Ctrl + Shift + F)

Всем удачи! :)

#CatrobatCheckItPls :]

License

Лицензия нашего проекта наследуется от Catrobat (AGPL v3). Ссылка на нее же на сайте Catrobat