diff --git a/bindings/__init__.py b/bindings/__init__.py index e69de29..7262a68 100644 --- a/bindings/__init__.py +++ b/bindings/__init__.py @@ -0,0 +1,13 @@ +import sys, ctypes + +sharedlib = './lib3ddevil1.so' +libc = ctypes.cdll.LoadLibrary(sharedlib) +if not libc: + print("Couldn't load %s" % sharedlib) + sys.exit() + +# Observe how many times the .so is loaded. +print("\nlib3ddevil1 loaded.") + +# Don't need these anymore +del sys, sharedlib diff --git a/bindings/main.py b/bindings/main.py index c88aa65..290f681 100644 --- a/bindings/main.py +++ b/bindings/main.py @@ -1,6 +1,8 @@ -from py3devil1pld import * -from py3devil1tex import * -from py3devil1geo import * +from py3devil1pld import PLDHeader +from py3devil1tex import TEXturePack, TEXtureBatchDescriptor, TEXtureBatch +from py3devil1geo import GEOHeader, MEShHeader, MEsh + +#print(libc) #--------------------------------------+ # Regular Python diff --git a/bindings/py3devil1geo.py b/bindings/py3devil1geo.py index 939c282..065b11a 100644 --- a/bindings/py3devil1geo.py +++ b/bindings/py3devil1geo.py @@ -1,14 +1,6 @@ #!/usr/bin/python3 -import ctypes, sys - -sharedlib = './lib3ddevil1.so' -libc = ctypes.cdll.LoadLibrary(sharedlib) -if not libc: - print("Couldn't load %s" % sharedlib) - sys.exit() -del sys - -print("\nlib3ddevil1 loaded.") +import ctypes +from __init__ import libc #--------------------------------------+ # Basic Struct @@ -143,6 +135,7 @@ class Devil1GEO_FN(ctypes.Structure): ] devil1geo = Devil1GEO_FN.in_dll(libc, "DEVIL1GEO") +del libc #--------------------------------------+ # Pythonic Object diff --git a/bindings/py3devil1pld.py b/bindings/py3devil1pld.py index ad66826..c02943c 100644 --- a/bindings/py3devil1pld.py +++ b/bindings/py3devil1pld.py @@ -1,13 +1,6 @@ #!/usr/bin/python3 -import ctypes, sys - -sharedlib = './lib3ddevil1.so' -libc = ctypes.cdll.LoadLibrary(sharedlib) -if not libc: - print("Couldn't load %s" % sharedlib) - sys.exit() -del sys -print("\nlib3ddevil1 loaded.") +import ctypes +from __init__ import libc #--------------------------------------+ # Basic Struct @@ -35,6 +28,7 @@ class Devil1PLD_FN(ctypes.Structure): ] devil1pld = Devil1PLD_FN.in_dll(libc, "DEVIL1PLD") +del libc #--------------------------------------+ # Pythonic Object diff --git a/bindings/py3devil1tex.py b/bindings/py3devil1tex.py index 0fa32a9..67fb1a2 100644 --- a/bindings/py3devil1tex.py +++ b/bindings/py3devil1tex.py @@ -1,14 +1,6 @@ #!/usr/bin/python3 -import ctypes, sys - -sharedlib = './lib3ddevil1.so' -libc = ctypes.cdll.LoadLibrary(sharedlib) -if not libc: - print("Couldn't load %s" % sharedlib) - sys.exit() -del sys - -print("\nlib3ddevil1 loaded.") +import ctypes +from __init__ import libc #--------------------------------------+ # Basic Struct @@ -82,6 +74,7 @@ class Devil1TEX_FN(ctypes.Structure): ] devil1tex = Devil1TEX_FN.in_dll(libc, "DEVIL1TEX") +del libc #--------------------------------------+ # Pythonic Object