2026-03-06
03:20 AM
- last edited on
2026-03-07
04:02 PM
by
Laszlo Nagy
Has anyone figured out how to tap into 29 MVO LOD for objects? Was fairly simple in 27 and before. 29 uses different macros and before I spend time reverse engineering, does anyone already have a solution?
Also would anyone know what 28 uses?
Operating system used: Windows 11
2026-03-06 03:36 AM
I have not looked at it, but the macros should be the same between 28 and 29. The library is suppose to be independant of AC version, mostly...
| AC22-29 AUS 3200 | Help Those Help You - Add a Signature |
| Self-taught, bend it till it breaks | Creating a Thread |
| Win11 | i9 10850K | 64GB | RX6600 | Win11 | R5 2600 | 16GB | GTX1660 |
2026-03-07 02:05 PM - edited 2026-03-08 10:48 AM
The difference is the parameter name and enum values for full/simplified/schematic.
If anyone comes across the same problem - here is my solution - feel free to let me know if it can be improved.
I don't have 2D script LOD part as I did not need it.
Assuming you already have "iDetlevel3D" parameter.
Add another parameter
"iDetLev3d", set type to integer, same as "iDetlevel3D"
3D script:
! version check
n = REQUEST("PROGRAM_INFO", "", name, version)
IF version <= 27 THEN
IF iDetlevel3D = 1 THEN
CALL "DetlevelFunctionMacro" PARAMETERS iDetlevel3D = iDetlevel3D, returned_parameters _iDetlevel3D
ELSE
_iDetlevel3D = iDetlevel3D
ENDIF
ELSE
CALL "GetObjectGlobals" PARAMETERS iObjectDet3D = iDetLev3D, RETURNED_PARAMETERS _unused, _iDetlevel3D
ENDIF
IF version <= 27 THEN
IF _iDetlevel3D = 5 GOSUB "SCHEMATIC"
IF _iDetlevel3D = 4 GOSUB "SIMPLIFIED"
ELSE
IF _iDetlevel3D = 1 GOSUB "SCHEMATIC"
IF _iDetlevel3D = 2 GOSUB "SIMPLIFIED"
ENDIF
IF _iDetlevel3D = 3 GOSUB "DETAILED"
Parameter script:
VALUES{2} "iDetlevel3D" 1, "By MVO", 3, "Detailed", 4, "Simplified", 5, "Schematic"
IF iDetlevel3D = 1 THEN PARAMETERS iDetLev3D = 0
IF iDetlevel3D = 3 THEN PARAMETERS iDetLev3D = 3
IF iDetlevel3D = 4 THEN PARAMETERS iDetLev3D = 2
IF iDetlevel3D = 5 THEN PARAMETERS iDetLev3D = 1