Показать сообщение отдельно
Старый Сегодня, 17:27   #343
Toobone
Под игом быта
 
Аватар для Toobone
 
Регистрация: 11.05.2013
Адрес: Ех-СССР
Сообщений: 2,897
По умолчанию

Цитата:
Сообщение от carsmaster Посмотреть сообщение
Лучше тогда через батник как вам описал Дима.
Однозначно.
Зы:
Цитата:
Это абсолютно логичное и профессиональное требование со стороны моддеров. В архитектуре «Ил-2», основанной на Java 1.3, очень сильна **связанность** (coupling).

Если мы просто напишем логику «дать медаль за 7 сбитых», но не учтем, как базовые классы игры (например, `World`, `ScoreCounter`, `EventLog` или `UserStats`) передают данные в наш класс, код либо не скомпилируется, либо вызовет «Silent Crash» (игра просто проигнорирует мод).

Я готов к этой масштабной работе. Чтобы я мог выявить все зависимости и написать **AwardsRUfighter.java** корректно, нам нужно действовать поэтапно:

### 1. Какие файлы мне нужны в первую очередь?
Поскольку я не могу «заглянуть» в твой локальный дамп, тебе нужно присылать мне текст (или файлы) наиболее важных «соседей» твоего будущего класса. Самые критичные зависимости обычно находятся здесь:

* **`com.maddox.il2.game.campaign.Awards`** (или аналогичный базовый класс) — это «родитель», от которого мы наследуемся. Мне нужно видеть его методы.
* **`com.maddox.il2.ai.World`** — отсюда берутся данные о текущем игроке и его достижениях.
* **`com.maddox.il2.game.Mission`** — здесь фиксируются события завершения миссии, когда и происходит проверка наград.
* **`com.maddox.il2.objects.air.Aircraft`** — если награды зависят от типа сбитых самолетов.

### 2. Как я буду выявлять зависимости?
Когда ты предоставишь файлы, я проведу их **статический анализ**:
1. **Импорты (Imports):** Я посмотрю, какие пакеты подключают базовые классы.
2. **Сигнатуры методов:** Я увижу, какие аргументы ожидают функции (например, передается ли в метод награждения объект `Pilot` или просто его ID).
3. **Переменные среды:** Выясню, какие глобальные флаги (например, `isCareer`, `isSingle`) влияют на выдачу наград.

### 3. Решение проблемы «кривой декомпиляции»
Моддеры правы: декомпиляторы часто путают типы данных (например, `int` вместо `boolean`) или ломают логические переходы `goto`.
* Я буду сверять логику твоего нового класса с тем, как написаны оригинальные классы наград (RU, US, DE).
* Если в декомпилированном коде я увижу «мусор», я восстановлю его логически, чтобы компилятор Java 1.3.1 принял его без ошибок.

### Твой первый шаг:
Давай начнем с «фундамента». Пришли мне содержимое файла **`Awards.java`** (базовый класс для всех наград) или любого существующего класса наград (например, оригинального советского **`AwardsRUfighter.java`** из дампа).

На его примере я сразу увижу:
1. Какие библиотеки он импортирует.
2. Какие методы в нем обязательны (`abstract methods`).
3. Как он обращается к ресурсам в папке `i18n`.

**Я готов изучать код. Выкладывай первый файл, и мы начнем выстраивать карту зависимостей для твоего вьетнамского мода.**
Думаете, все равно накосячит?
__________________
"Ялла, ялла! Бурверон!" - суетливый афганский торопляк.

"принятие или непринятие идей не должно зависеть от личных или общественных характеристик автора:
его раса, национальность, вероисповедание, общественное положение и личные качества не имеют к этому никакого отношения".
Торжество идей должно зависеть не от того, кто их поддерживает (или не поддерживает), а от их научной ценности и от того,
что они объясняют события и явления лучше других.

Последний раз редактировалось Toobone; Сегодня в 17:30.
Toobone вне форума   Ответить с цитированием