Trying to update old add-on for 3.4 and failing. Plz help

I dug up an old add-on to export animated camera to idTech4 (Doom 3). While I managed to fix a couple of things, I cannot for the life of me figure out UI (box.prop is not working for example and I can’t find when it’s changed and to what) and some other “bugs”, like this:

MCampagnini MD5Camera Exporter

    Building Header
    Building Parameters
    Building Cuts
    Building Camera Data (Scale: <_PropertyDeferred, <built-in function FloatProperty>, {'name': 'Scale', 'description': 'Scale camera position', 'default': 1, 'min': 0.1, 'max': 1000}>)

Traceback (most recent call last):
File “E:\Apps\blender-3.4.0\3.4\scripts\addons\”, line 389, in execute
camera = str( cCamera() )
File “E:\Apps\blender-3.4.0\3.4\scripts\addons\”, line 134, in init
self.dump += self.getData( camera )
File “E:\Apps\blender-3.4.0\3.4\scripts\addons\”, line 137, in getData
pos = self.getPos( camera )
File “E:\Apps\blender-3.4.0\3.4\scripts\addons\”, line 149, in getPos
posx = camera.matrix_world.to_translation().x * optionScale
TypeError: unsupported operand type(s) for *: ‘float’ and ‘_PropertyDeferred’
rna_uiItemR: property not found: EXPORT_OT_md5camera.option_fps

Can someone please help making this add-on work with Blender 3+ ?

Blend file:
md5_cutscene_camera3_new.blend (558.1 KB)

Looks like you need to fix some syntax:

filepath =  StringProperty(
    name = "File Path",
    description = "Export path",
    maxlen = 1024,
    default = "" )

should use colon.

filepath: StringProperty(
    name = "File Path",
    description = "Export path",
    maxlen = 1024,
    default = "" )

as such i don’t think class ExportMD5Cam is actually being registered i think that was a blender 2.8 change.
Reference/Release Notes/2.80/Python API/Addons - Blender Developer Wiki

Also need to check your matrix operations

Reference/Release Notes/2.80/Python API - Blender Developer Wiki

Thanks a bunch! Seems like it’s working now! As for registering, I fixed what was in the old add-on with stuff I saw in a different add-on that works in 3.4.1.