Skip to content

Commit 66bb01d

Browse files
authored
Merge pull request #77 from MrClock8163/dev
v2.5.0
2 parents 8398082 + 37cfbc5 commit 66bb01d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+2762
-1002
lines changed

Arma3ObjectBuilder/CHANGELOG.md

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,39 @@
11
# Changelog
22

3+
## [v2.5.0](https://github.com/MrClock8163/Arma3ObjectBuilder/releases/tag/v2.5.0) (Blender 2.90 -> 4.3)
4+
5+
### Added
6+
7+
- import-export:
8+
- PAA texture import for textures compressed with DXT1 or DXT5 (S3TC BC1 and BC3) algorithms
9+
- new config data parser and unified handler module
10+
- scripts:
11+
- utility script to create empty "dummy" P3D file
12+
13+
### Changed
14+
15+
- import-export:
16+
- improved LZO1X decompression speeds
17+
- model.cfg import is now available without Arma 3 Tools as well (if native parsing is successful)
18+
- tools:
19+
- Vertex Mass Editing:
20+
- tools are now available in both Edit and Object modes
21+
- in Edit mode the functions operate on the selected parts only
22+
- in Object mode the functions operate on the entire mesh
23+
- Distribute Mass now supports volume weighted distribution (on closed components)
24+
- Mass From Density now supports volume weighted distribution (on closed components)
25+
- UI layout was reorganized
26+
- Bulk Renaming now shows warning signs at paths that point to files that do not exist
27+
- Hit Point Cloud:
28+
- exposed modifier settings were removed
29+
- internal process was simplified
30+
31+
### Fixed
32+
33+
- the Rigging tools only allowed 3 bones to be assigned to a vertex instead of the proper limit of 4 (Select Overdetermined, Prune Overdetermined, General Cleanup)
34+
- Bulk Renaming tool exposed the internal paths making it possible to break the feature until the next list refresh
35+
- Center of Mass operator was not accounting for world transformations
36+
337
## [v2.4.2](https://github.com/MrClock8163/Arma3ObjectBuilder/releases/tag/v2.4.2) (Blender 2.90 -> 4.2)
438

539
CRITICAL HOTFIX
@@ -97,7 +131,7 @@ CRITICAL HOTFIX
97131
- LOD - Generic ruleset:
98132
- warning for more than 2 UV channels on a LOD object
99133
- LOD - Shadow ruleset:
100-
- warning for unconventinal LOD indices (not 0, 10, 1000, 1010 or 1020)
134+
- warning for unconventional LOD indices (not 0, 10, 1000, 1010 or 1020)
101135
- warning if LOD has `lodnoshadow = 1` named property
102136
- LOD - Underground (VBS) ruleset
103137
- LOD - Groundlayer (VBS) ruleset
@@ -167,7 +201,7 @@ CRITICAL HOTFIX
167201

168202
### Changed
169203

170-
- Blender 4.1 compatiblity:
204+
- Blender 4.1 compatibility:
171205
- updated P3D import and export to be compatible with the new Blender API
172206
- updated Validation tool to be compatible with the new Blender API
173207
- common data:
@@ -257,7 +291,7 @@ CRITICAL HOTFIX
257291
- LOD resolution would be incorrectly exported for Shadow Volume - View Cargo
258292
- fixed possible issue in P3D export when the material index of a face is out of the material range for some reason
259293
- add-on installation would fail on non-windows systems
260-
- ASC import would delete source file if an error occured during importing
294+
- ASC import would delete source file if an error occurred during importing
261295
- User value would not be displayed correctly in the default Face Flag editing options
262296

263297
### Removed
@@ -322,7 +356,7 @@ CRITICAL HOTFIX
322356
### Fixed
323357

324358
- RTM export would not delete faulty outputs and raise an exception due to a missing module import
325-
- P3D import would sometimes fail due to mismatching normals-loops count (on topoologically defective models)
359+
- P3D import would sometimes fail due to mismatching normals-loops count (on topologically defective models)
326360
- ASCIIZ strings and characters were mistakenly decoded as UTF-8 (with no practical consequence)
327361
- P3D output would become potentially faulty if non-manifold edges were marked as sharp
328362

Arma3ObjectBuilder/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,19 @@ Arma 3 Object Builder is a free, community add-on for Blender to help content de
77
- P3D import-export
88
- ASC import-export
99
- RTM import-export
10+
- PAA import
11+
- skeleton import-export (model.cfg)
12+
- object list import-export (for Terrain Builder)
1013
- armature reconstruction
1114
- various editing tools
12-
- utility functions
15+
- utility functions and scripts
1316

1417
## Documentation
1518

1619
The documentation can be found on [GitBook](https://mrcmodding.gitbook.io/arma-3-object-builder/home). As the add-on changes, the documentation will be updated.
1720

21+
A series of introductory videos is also in production, and can be found on [YouTube](https://youtube.com/playlist?list=PL1L8e_Shj5DErJinP8vtLTImQ5PY4K9IN&si=U_AGJSK5mSi6VrjG). Videos may or may not exist about every feature, and any particular video might end up outdated as the add-on is developed. The written documentation always takes precedence.
22+
1823
## Installation
1924

2025
The add-on can be installed after either downloading a packaged release, or cloning the repository and manually packing it.

Arma3ObjectBuilder/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
"name": "Arma 3 Object Builder",
33
"description": "Collection of tools for editing Arma 3 content",
44
"author": "MrClock (present add-on), Hans-Joerg \"Alwarren\" Frieden (original ArmaToolbox add-on)",
5-
"version": (2, 4, 2),
5+
"version": (2, 5, 0),
66
"blender": (2, 90, 0),
77
"location": "Object Builder panels",
8-
"warning": "Development",
8+
"warning": "",
99
"doc_url": "https://mrcmodding.gitbook.io/arma-3-object-builder/home",
1010
"tracker_url": "https://github.com/MrClock8163/Arma3ObjectBuilder/issues",
1111
"category": "Import-Export"
@@ -33,14 +33,13 @@
3333
addon_dir = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
3434
addon_icons = {}
3535

36+
3637
def get_icon(name):
37-
icon = 0
3838
try:
39-
icon = addon_icons[addon_prefs.icon_theme.lower()][name].icon_id
39+
return addon_icons[addon_prefs.icon_theme.lower()][name].icon_id
4040
except Exception:
41-
pass
41+
return 0
4242

43-
return icon
4443

4544
def get_prefs():
4645
return addon_prefs
@@ -356,6 +355,7 @@ def draw(self, context):
356355
ui.import_export_armature,
357356
ui.import_export_tbcsv,
358357
ui.import_export_asc,
358+
ui.import_export_paa,
359359
ui.tool_outliner,
360360
ui.tool_mass,
361361
ui.tool_materials,

Arma3ObjectBuilder/blender_manifest.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ type = "add-on"
55
id = "Arma3ObjectBuilder"
66
name = "Arma 3 Object Builder"
77
tagline = "Comprehensive add-on for modding Arma 3"
8-
version = "2.4.2"
8+
version = "2.5.0"
99
blender_version_min = "4.2.0"
1010
website = "https://mrcmodding.gitbook.io/arma-3-object-builder/home"
1111
tags = ["Import-Export", "Game Engine", "Object"]

Arma3ObjectBuilder/io/__init__.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@
33

44
if "binary_handler" in locals():
55
reload(binary_handler)
6+
if "config" in locals():
7+
reload(config)
68
if "compression" in locals():
79
reload(compression)
810
if "data_asc" in locals():
911
reload(data_asc)
1012
if "data_p3d" in locals():
1113
reload(data_p3d)
12-
if "data_rap" in locals():
13-
reload(data_rap)
1414
if "data_rtm" in locals():
1515
reload(data_rtm)
1616
if "data_tbcsv" in locals():
1717
reload(data_tbcsv)
18+
if "data_paa" in locals():
19+
reload(data_paa)
1820
if "export_asc" in locals():
1921
reload(export_asc)
2022
if "export_mcfg" in locals():
@@ -37,15 +39,18 @@
3739
reload(import_rtm)
3840
if "import_tbcsv" in locals():
3941
reload(import_tbcsv)
42+
if "import_paa" in locals():
43+
reload(import_paa)
4044

4145

4246
from . import binary_handler
47+
from . import config
4348
from . import compression
4449
from . import data_asc
4550
from . import data_p3d
46-
from . import data_rap
4751
from . import data_rtm
4852
from . import data_tbcsv
53+
from . import data_paa
4954
from . import export_asc
5055
from . import export_mcfg
5156
from . import export_p3d
@@ -57,3 +62,4 @@
5762
from . import import_p3d
5863
from . import import_rtm
5964
from . import import_tbcsv
65+
from . import import_paa

Arma3ObjectBuilder/io/binary_handler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def read_byte(file):
1212
return struct.unpack('B', file.read(1))[0]
1313

1414
def read_bytes(file, count = 1):
15-
return [read_byte(file) for i in range(count)]
15+
return struct.unpack('<%dB' % count, file.read(count))
1616

1717
def read_bool(file):
1818
return read_byte(file) != 0

0 commit comments

Comments
 (0)