Compare commits

...

9 Commits

Author SHA1 Message Date
rarantes 0bea545612 feat(BRAF NAVAL TURRETS)
Deploy DEV Workshop / deploy-dev-workshop (push) Failing after 3m5s
2026-08-08 22:36:33 -03:00
rarantes 9bd92bd492 fix(braf_air): env_land_co.paa path fixed in damage rvmats
Deploy DEV Workshop / deploy-dev-workshop (push) Failing after 4m32s
2026-08-07 19:12:02 -03:00
valmojr 353b1f215c Merge branch 'main' of https://git.valmo.dev/projectbraf/braf
Deploy DEV Workshop / deploy-dev-workshop (push) Successful in 57s
2026-08-06 19:36:52 -03:00
valmojr a5e660eccd fixed semicolon error on guarani model.cfg 2026-08-06 19:36:50 -03:00
rarantes 533fdcc899 fix(rvmats) several (145) rvmat files calling env_land_co.paa with wrong paths on Stage 7
Deploy DEV Workshop / deploy-dev-workshop (push) Failing after 12m24s
2026-08-03 21:28:34 -03:00
rarantes 01e339c46f docs(braf): record class and path normalization
Deploy DEV Workshop / deploy-dev-workshop (push) Successful in 1m0s
2026-08-03 16:20:30 -03:00
rarantes 92dbbac555 docs(braf): atualiza changelog do guia de desenvolvimento
Deploy DEV Workshop / deploy-dev-workshop (push) Successful in 1m5s
2026-08-03 16:06:12 -03:00
rarantes 713d9cfd7f fix(braf_insignia)
Deploy DEV Workshop / deploy-dev-workshop (push) Failing after 5m11s
Wrong path to a3\data_f\env_co.paa in all FAB rvmat rank files
Missing 2bavex.paas
2026-08-03 16:01:12 -03:00
rarantes e86ae2628f fix(braf) Naming convention for all classes and paths to use lowercase letters.
Deploy DEV Workshop / deploy-dev-workshop (push) Failing after 3m50s
2026-08-03 15:49:07 -03:00
177 changed files with 768 additions and 190 deletions
+3
View File
@@ -18,3 +18,6 @@ docs/superpowers/plans/2026-07-26-a140-geometry-roadway-modularization.md
AGENTS.md
.agents/
libs/
docs/superpowers/specs/2026-08-08-sea-snake-30mm-design.md
docs/superpowers/plans/2026-08-08-seasnake-static-ciws.md
braf_weapons_naval/weapons.md
+14
View File
@@ -1,5 +1,19 @@
# Changelog
## 2026-08-03
### Normalização de classes e caminhos
- Padronizados nomes de classes e referências de caminhos para a convenção BRAF com identificadores em letras minúsculas nos commits `3af8760`, `3b99904` e `e86ae26`.
- Escopo acumulado: **1.079 arquivos alterados**, com **18.104 linhas adicionadas** e **18.002 linhas removidas**, totalizando **36.106 linhas modificadas**.
- Distribuição por commit: `3af8760` alterou 72 arquivos (+1.558/-1.578), `3b99904` alterou 1.007 arquivos (+16.549/-16.423) e `e86ae26` alterou 2 arquivos (+10/-14).
- A auditoria posterior ainda encontrou 156 declarações e 574 referências com letras maiúsculas após o prefixo `braf_`; a normalização completa permanece pendente.
### Documentação
- Atualizado o README como guia humano de desenvolvimento, com organização do repositório, boas práticas de Arma 3, fluxo de contribuição e checklist de revisão.
- Removidas do README as referências internas de automação, mantendo o documento direcionado exclusivamente ao time de desenvolvedores.
## 2026-07-31
### Armamentos navais
+36 -18
View File
@@ -13,6 +13,8 @@ Repositório de desenvolvimento do **Brazilian Armed Forces (BRAF) Mod**, uma mo
Este é um repositório de **fonte**. O checkout contém configurações, scripts, modelos, texturas, materiais, sons, animações, documentação, ferramentas e referências usadas para desenvolver os addons. O jogo carrega addons por meio de PBOs, mas a validação do código-fonte e dos assets deve ser feita antes de qualquer processo de release.
Este README é o guia de trabalho do time de desenvolvimento. Use-o para entender a organização do projeto, tomar decisões compatíveis com Arma 3 e revisar alterações antes de integrá-las. Em caso de conflito, preserve primeiro o comportamento público existente e confirme a decisão com os responsáveis pelo addon afetado.
## Dependências e compatibilidade
### CBA
@@ -48,7 +50,7 @@ O BRAF é dividido por responsabilidade e por tipo de conteúdo. Cada diretório
| Base e sistemas compartilhados | `braf_main`, `braf_weapons_core`, `braf_damage`, `braf_hurt` | Facções, funções comuns, munições, dano e estados relacionados |
| Aviação de asa rotativa | `braf_air`, `braf_sar`, `braf_optics_air` | Helicópteros, variantes de transporte, armadas e SAR, EFS, guincho e sistemas associados |
| Aviação de asa fixa | `braf_air2` | Aeronaves de asa fixa, incluindo A-29, Gripen e seus armamentos, magazines e sistemas de cabine |
| Blindados sobre lagartas | `source\braf_tracked` | Fonte do addon `braf_tracked`, incluindo M113, M41 e armamentos, munições e ópticas de veículos rastreados |
| Blindados sobre lagartas | `source/braf_tracked` | Fonte do addon `braf_tracked`, incluindo M113, M41 e armamentos, munições e ópticas de veículos rastreados |
| Blindados sobre rodas | `braf_armored` | Viaturas blindadas sobre rodas e suas variantes, configurações, armamentos e integrações |
| Embarcações pequenas e médias | `braf_boat` | Barcos e embarcações de pequeno e médio porte, com comprimento de até 15 m segundo a divisão interna do BRAF |
| Navios e submarinos | `braf_ships` | Navios de maior porte e submarinos; o addon compartilhado de armas navais é `braf_weapons_naval` |
@@ -59,7 +61,7 @@ O BRAF é dividido por responsabilidade e por tipo de conteúdo. Cada diretório
| Referências externas | `libs` | Material técnico de terceiros; é somente leitura e não é uma dependência automática |
| Ferramentas | `make` | Ferramentas auxiliares de desenvolvimento e release; devem ser inspecionadas antes de serem executadas |
| Testes | `tests` | Testes focados e validações estruturais do repositório |
| Instruções e skills | `AGENTS.md`, `.agents` | Regras persistentes do projeto e skill local de Arma 3 |
| Documentação | `README.md`, `CHANGELOG.md`, `LICENSE.md` | Regras de desenvolvimento, histórico de mudanças e licenças do projeto |
`libs` contém, entre outros materiais, referências de CBA, ACE e outros projetos. Com exceção do CBA, nenhum material presente em `libs` deve ser tratado por presunção como dependência obrigatória, compatibilidade opcional, referência técnica, biblioteca reutilizável com licença compatível ou material desconhecido. Essa classificação só deve ser feita no contexto de uma reutilização planejada, depois de verificar origem, licença, versão, finalidade, dependências e compatibilidade com o BRAF. Até essa análise, o material é apenas referência protegida e não pode ser copiado para produção.
@@ -226,7 +228,7 @@ O [Object Builder](https://community.bohemia.net/wiki/Object_Builder) é parte d
`CfgModels` é a interface entre o P3D e a engine: a classe deve usar o nome do arquivo do modelo sem `.p3d`, declarar suas `sections[]`, associar o `skeletonName` e conter as `Animations`. `CfgSkeletons` descreve cada osso e sua relação pai/filho. Já `AnimationSources` pertence à classe do objeto em `config.cpp`: ela fornece controladores nativos ou fontes `user` para as animações declaradas no `model.cfg`. A referência oficial de [Model Config](https://community.bohemia.net/wiki/CfgModels) detalha essa separação entre trabalho de arte e configuração.
O repositório aplica esse contrato em várias famílias — `braf_air`, `braf_air2`, `braf_armored`, `braf_boat`, `braf_ships` e `source\braf_tracked` têm `model.cfg`. Um exemplo pequeno e útil é `braf_boat\BRAF_VLPV`: o `model.cfg` define esqueleto, `propeller`, `rudder`, `drivewheel` e `hatch`; `VLPV_base.hpp` declara a fonte `openhatch`, as seleções de textura e os pontos de água, motor, carga e entrada. Use-o para entender o vínculo entre os arquivos, não para copiar nomes ou propriedades para outro veículo.
O repositório aplica esse contrato em várias famílias — `braf_air`, `braf_air2`, `braf_armored`, `braf_boat`, `braf_ships` e `source/braf_tracked` têm `model.cfg`. Um exemplo pequeno e útil é `braf_boat\BRAF_VLPV`: o `model.cfg` define esqueleto, `propeller`, `rudder`, `drivewheel` e `hatch`; `VLPV_base.hpp` declara a fonte `openhatch`, as seleções de textura e os pontos de água, motor, carga e entrada. Use-o para entender o vínculo entre os arquivos, não para copiar nomes ou propriedades para outro veículo.
### Fluxo seguro no Object Builder
@@ -395,26 +397,21 @@ Nomes de classe e nomes de arquivo são contratos de compatibilidade. Renomear u
### Antes de editar
1. Confirme a raiz do repositório e leia `AGENTS.md` e a skill em `.agents`.
2. Identifique o addon proprietário do recurso.
1. Confirme a raiz do checkout e leia este README, a tarefa e o histórico relevante em `CHANGELOG.md`.
2. Identifique o addon proprietário do recurso e o limite exato da alteração.
3. Localize a declaração, a classe pai, os includes, os consumidores e os caminhos de asset.
4. Inspecione addons relacionados e `requiredAddons[]`.
5. Verifique se a mudança envolve localidade, JIP, CBA, ACE, P3D ou binário protegido.
6. Consulte a documentação oficial de Arma 3 quando uma propriedade, classe ou comportamento não estiver comprovado no código existente.
### Depois de editar
1. Faça validação textual e estrutural não destrutiva.
2. Execute testes focados conhecidos como estáticos.
3. Use o validador local quando disponível:
```powershell
python .agents\skills\arma3-mod-development\scripts\run_validation.py P:\braf
```
4. Revise o diff completo e execute `git diff --check`.
5. Confirme que nenhum asset protegido foi deletado, movido, renomeado ou sobrescrito.
6. Confirme que `libs` e `P:\a3` não foram modificados.
7. Separe evidência de fonte, Config Viewer, runtime, modelo, multiplayer e release.
2. Execute os testes focados e os validadores estáticos mantidos no repositório.
3. Revise o diff completo e execute `git diff --check`.
4. Confirme que nenhum asset protegido foi deletado, movido, renomeado ou sobrescrito.
5. Confirme que `libs` e `P:\a3` não foram modificados.
6. Separe evidência de fonte, Config Viewer, runtime, modelo, multiplayer e release.
Validação estática pode encontrar includes ausentes, caminhos inválidos, classes duplicadas, referências de função inexistentes e inconsistências de `CfgPatches`. Ela não prova que o addon carregou, que uma aeronave voa, que um navio flutua, que um míssil funciona no pylon, que um LOD está correto ou que uma função funciona em multiplayer.
@@ -490,10 +487,31 @@ Confirme o caminho do asset, case, prefixo do addon, extensão, `hiddenSelection
- [Multiplayer Scripting](https://community.bohemia.net/wiki/Multiplayer_Scripting)
- [Remote Execution](https://community.bohemia.net/wiki/Arma_3%3A_Remote_Execution)
- [CfgRemoteExec](https://community.bohemia.net/wiki/CfgRemoteExec)
- [Addon Builder](https://community.bohemia.net/wiki/Addon_Builder) — referência da ferramenta; não é executado pelo agente neste projeto
- [Addon Builder](https://community.bohemia.net/wiki/Addon_Builder) — referência da ferramenta de release; não substitui a validação da fonte
- [CBA_A3](https://github.com/CBATeam/CBA_A3)
- [ACE3](https://github.com/acemod/ACE3)
## Projeto e contribuição
Registre no [CHANGELOG.md](CHANGELOG.md) as alterações de comportamento relevantes quando o fluxo da tarefa exigir. Para alterações de código, informe o caminho, dependências, validação realizada, limitações e o teste de Arma 3 recomendado.
### Fluxo recomendado
1. Crie uma branch com escopo claro e mantenha cada alteração relacionada em commits pequenos.
2. Antes de editar, registre o addon afetado, o comportamento esperado, as dependências e os riscos conhecidos.
3. Preserve arquivos e assets fora do escopo. Não inclua PBOs, arquivos gerados, cópias de trabalho ou alterações de terceiros no commit.
4. Faça a validação estática e os testes adequados ao risco da mudança antes de solicitar revisão.
5. Escreva uma mensagem de commit objetiva, com ação e escopo claros; por exemplo: `fix(braf_air): corrige pontos de memória do helicóptero`.
6. Na revisão, descreva o que mudou, por que mudou, quais arquivos foram afetados, quais testes foram executados e o que permanece sem evidência.
7. Registre no [CHANGELOG.md](CHANGELOG.md) as alterações de comportamento relevantes quando o fluxo da tarefa exigir.
### Checklist de revisão
- O addon proprietário e o `CfgPatches` estão corretos?
- As classes, funções, includes, caminhos e nomes de assets seguem as convenções do projeto?
- `requiredAddons[]` contém somente dependências reais e suficientes?
- CBA continua tratado como dependência obrigatória e ACE permanece opcional quando aplicável?
- Foram preservados comportamento público, localidade, JIP, ações, Event Handlers e interfaces existentes?
- A alteração foi validada no nível adequado: fonte, Config Viewer, Object Builder, Buldozer, singleplayer ou multiplayer?
- Nenhum asset protegido, referência externa ou arquivo fora do escopo foi alterado?
- A documentação, o changelog e as licenças foram atualizados quando necessário?
Para alterações de código, informe o caminho, dependências, validação realizada, limitações e o teste de Arma 3 recomendado.
@@ -75,7 +75,7 @@ class Stage6
};
class Stage7
{
texture="braf\braf_air\braf_helicopters\braf_pantera\data\env_land_co.paa";
texture="a3\data_f\env_land_co.paa";
uvSource="none";
};
class StageTI
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture="braf\braf_air\braf_helicopters\braf_pantera\data\env_land_co.paa";
texture="a3\data_f\env_land_co.paa";
uvSource="none";
};
class StageTI
+10 -10
View File
@@ -20,17 +20,17 @@ class CfgPatches {
};
requiredVersion = 0.1;
units[] = {
"braf_Fennec_Unarmed",
"braf_Fennec_Unarmed_FAB",
"braf_Fennec_Unarmed_MB",
"braf_Fennec_Resort",
"braf_Fennec_unarmed",
"braf_Fennec_unarmed_FAB",
"braf_Fennec_unarmed_MB",
"braf_Fennec_resort",
"braf_Fennec_80s",
"braf_Fennec_Armed",
"braf_Fennec_Armed_FAB",
"braf_Fennec_Armed_MB",
"braf_Fennec_Cargo",
"braf_Fennec_Cargo_FAB",
"braf_Fennec_Cargo_MB",
"braf_Fennec_armed",
"braf_Fennec_armed_FAB",
"braf_Fennec_armed_MB",
"braf_Fennec_cargo",
"braf_Fennec_cargo_FAB",
"braf_Fennec_cargo_MB",
"braf_Fennec_SAR",
"braf_Fennec_SAR_FAB",
"braf_Fennec_SAR_MB",
+1 -1
View File
@@ -1152,7 +1152,7 @@ class CfgModels
type="translation";
source="remaxbase";
selection="remaxbase";
axis="remaxTurret_axis"
axis="remaxTurret_axis";
sourceAddress=0;
minPhase=0;
maxPhase=1;
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -84,7 +84,7 @@ class Stage6
};
class Stage7
{
texture="a3\data_f\env_co.paa";
texture="a3\data_f\env_land_co.paa";
useWorldEnvMap="true";
uvSource="tex";
class uvTransform
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data_f\env_co.paa";
texture ="a3\data_f\env_land_co.paa";
useWorldEnvMap = "true";
uvSource = "tex";
class uvTransform
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -80,7 +80,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data_f\env_co.paa";
texture ="a3\data_f\env_land_co.paa";
useWorldEnvMap = "true";
uvSource = "tex";
class uvTransform
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data_f\env_co.paa";
texture ="a3\data_f\env_land_co.paa";
useWorldEnvMap = "true";
uvSource = "tex";
class uvTransform
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data_f\env_co.paa";
texture ="a3\data_f\env_land_co.paa";
useWorldEnvMap = "true";
uvSource = "tex";
class uvTransform
@@ -61,7 +61,7 @@ class Stage5
};
class Stage6
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -61,7 +61,7 @@ class Stage5
};
class Stage6
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -61,7 +61,7 @@ class Stage5
};
class Stage6
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -61,7 +61,7 @@ class Stage5
};
class Stage6
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -61,7 +61,7 @@ class Stage6 {
uvSource = "none";
};
class Stage7 {
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = { 1.0, 0.0, 0.0 };
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -61,7 +61,7 @@ class Stage6 {
uvSource = "none";
};
class Stage7 {
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = { 1.0, 0.0, 0.0 };
@@ -61,7 +61,7 @@ class Stage6 {
uvSource = "none";
};
class Stage7 {
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = { 1.0, 0.0, 0.0 };
@@ -61,7 +61,7 @@ class Stage6 {
uvSource = "none";
};
class Stage7 {
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = { 1.0, 0.0, 0.0 };
Binary file not shown.
+2 -2
View File
@@ -62,7 +62,7 @@ class CfgVehicles
_generalMacro = "braf_army_od_uniform_rifleman";
editorsubcategory = "braf_army_regular_1980";
model = "braf\braf_characters_army_old\braf_bdu_od.p3d";
editorPreview = "\braf\braf_characters_army\units\editorpreview\2000regular\braf_army_of_regular_2000.jpg";
//editorPreview = "\braf\braf_characters_army\units\editorpreview\2000regular\braf_army_of_regular_2000.jpg";
uniformClass = "braf_army_od_uniform";
weapons[] = {
"braf_fal",
@@ -145,7 +145,7 @@ class CfgVehicles
_generalMacro = "braf_army_od_uniform_rifleman";
editorsubcategory = "braf_army_regular_1980";
model = "braf\braf_characters_army_old\braf_bdu_od.p3d";
editorPreview = "\braf\braf_characters_army\units\editorpreview\2000regular\braf_army_rifleman_regular_2000.jpg";
//editorPreview = "\braf\braf_characters_army\units\editorpreview\2000regular\braf_army_rifleman_regular_2000.jpg";
uniformClass = "braf_army_od_uniform_worn";
weapons[] = {
"braf_fal",
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
-4
View File
@@ -16,14 +16,10 @@ class CfgPatches {
// Helmets HGU55P
"BRAF_HGU55P",
"BRAF_HGU55P_White",
"BRAF_HGU55P_EDA",
"BRAF_HGU55P_GAVCA",
// Helmets HGU56P
"BRAF_HGU56P_1BAvEx",
"BRAF_HGU56P_2BAvEx",
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -61,7 +61,7 @@ class Stage6 {
uvSource = "none";
};
class Stage7 {
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = { 1.0, 0.0, 0.0 };
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -80,7 +80,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data_f\env_co.paa";
texture = "a3\data_f\env_land_co.paa";
useWorldEnvMap = "true";
uvSource = "tex";
class uvTransform
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data_f\env_land_ca.paa";
texture = "a3\data_f\env_land_co.paa";
useWorldEnvMap = "true";
uvSource = "tex";
class uvTransform
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data_f\env_land_ca.paa";
texture = "a3\data_f\env_land_co.paa";
useWorldEnvMap = "true";
uvSource = "tex";
class uvTransform
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -80,7 +80,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -80,7 +80,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -61,7 +61,7 @@ class Stage6 {
uvSource = "none";
};
class Stage7 {
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = { 1.0, 0.0, 0.0 };
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -61,7 +61,7 @@ class Stage6 {
uvSource = "none";
};
class Stage7 {
texture = "a3\data\env_land_co.paa";
texture ="a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = { 1.0, 0.0, 0.0 };
@@ -61,7 +61,7 @@ class Stage6 {
uvSource = "none";
};
class Stage7 {
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = { 1.0, 0.0, 0.0 };
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -61,7 +61,7 @@ class Stage6 {
uvSource = "none";
};
class Stage7 {
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = { 1.0, 0.0, 0.0 };
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
+1 -1
View File
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -77,7 +77,7 @@ class Stage6
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
texture= "a3\data_f\env_land_co.paa";
uvSource="tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_cloth_neutral_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
@@ -73,7 +73,7 @@ class Stage6
};
class Stage7
{
texture = "a3\data\env_land_co.paa";
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{

Some files were not shown because too many files have changed in this diff Show More