TV3D Update, Tutorials and Forum

Miscellaneous Forums/General Discussion/TV3D Update, Tutorials and Forum

Ok, sorry this slipped over into today. It took longer than expected, as I got a little sidetracked fiddling with the module and ended up completely rewriting the way the module disposes of objects. It should now be faster and cleaner than ever before. Along the way, a handful of small bugs in functions that no one ( including me ) ever uses got fixed.

I've updated the module, and the free version is available here :

http://www.glimmergames.com/modules/tv3d/lite/lite.zip

People who have donated will receive their version, with full source, in their email account very shortly.

It is *highly* recommended to update to this version, because I've squished a number of niggly issues which have been annoying me for weeks. You do not need to change any other files, because the TV3D engine itself has not been updated.

The tutorials have all been updated to work with the module. Don't thank me, all I did was tweak and prune a little bit. Kenshin did all the hard work writing these tutorials, so he deserves the thanks. Thanks also to Amon who packed them all up and sent them over to me, as I didn't have a copy.

Tutorials can be downloaded here :

http://www.glimmergames.com/modules/tv3d/tutorials/tutorials.zip

If you download the tutorials, *please* also download the updated module. The module has been rewritten specifically to ensure that the tutorials work. Kenshin did something things differently than I anticipated so I had to adapt a few things to make sure there are no problems.


I have created a forum too. It's not hosted on GlimmerGames any more, because the existing forum was too bloody slow and it wouldn't let anyone register. In order to ensure that existing content was not lost, I've registered a board with a free forum host, and will gradually copy across important content to the new forum. It's all set up and ready to go, but I'm going to wait a couple of days before making it public because I want to give BRL a chance to decide if they would prefer to have a third party module forum here or if they would prefer I go ahead and host it offsite. I don't want to pull people away from the BRL community, so out of respect, I'm going to wait a couple more days and hopefully get a reply on which they'd rather.

So for now, please just go ahead and grab the module and the tutorials. The forum will be up in a couple of days, one way or another.

Thanks!


A couple of notes:

- The lite.zip linked in your post does not contain glimmer.mod directory. Users need to rename "lite" to "glimmer.mod".

- What is said in instructions.txt about TV3DC65.DLL applies also to newton.dll.

-AF

ive upgraded to the new verson and i get these errors yet when i run the new examples/tutorials with the previous version they run fine.


Building .15 - Paint On The Ground
Compiling:.15 - Paint On The Ground.bmx
flat assembler  version 1.66
3 passes, 12619 bytes.
Linking:.15 - Paint On The Ground.exe
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x6f22):tv3dwrapper.cpp: undefined reference to `CTVPhysics::AdvancedCollision(cTV_3DVECTOR*, cTV_3DVECTOR*, cTV_COLLISIONRESULT*)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x20ed):tv3dwrapper.cpp: undefined reference to `CTVAI::SetTag(char const*)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x20f7):tv3dwrapper.cpp: undefined reference to `CTVAI::SetUserData(int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x2101):tv3dwrapper.cpp: undefined reference to `CTVAI::GetUserData()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x210b):tv3dwrapper.cpp: undefined reference to `CTVAI::GetTag()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x2115):tv3dwrapper.cpp: undefined reference to `CTVAI::FindGridPathEx(int, int, int, int, int*, int*, int*)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x211f):tv3dwrapper.cpp: undefined reference to `CTVAI::FindNodePathEx(cTV_3DVECTOR*, cTV_3DVECTOR*, int*, int*)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x2ab1):tv3dwrapper.cpp: undefined reference to `CTVCamera::SetTag(char const*)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x2abb):tv3dwrapper.cpp: undefined reference to `CTVCamera::SetUserData(int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x2ac5):tv3dwrapper.cpp: undefined reference to `CTVCamera::GetUserData()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x2acf):tv3dwrapper.cpp: undefined reference to `CTVCamera::GetTag()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x2ad9):tv3dwrapper.cpp: undefined reference to `CTVCamera::OccQuery_GetMaxQueries()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x35b5):tv3dwrapper.cpp: undefined reference to `CTVGlobals::GetShaderFromID(int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x4d23):tv3dwrapper.cpp: undefined reference to `CTVMiniMesh::GetTag()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x4d2d):tv3dwrapper.cpp: undefined reference to `CTVMiniMesh::GetUserData()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x4d37):tv3dwrapper.cpp: undefined reference to `CTVMiniMesh::SetUserData(int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x4d41):tv3dwrapper.cpp: undefined reference to `CTVMiniMesh::SetTag(char const*)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x4d4b):tv3dwrapper.cpp: undefined reference to `CTVMiniMesh::GetItemTriangleCount()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x4d55):tv3dwrapper.cpp: undefined reference to `CTVMiniMesh::GetItemVertexCount()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x636b):tv3dwrapper.cpp: undefined reference to `CTVParticleSystem::GetTag()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x6375):tv3dwrapper.cpp: undefined reference to `CTVParticleSystem::GetUserData()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x637f):tv3dwrapper.cpp: undefined reference to `CTVParticleSystem::SetUserData(int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x6389):tv3dwrapper.cpp: undefined reference to `CTVParticleSystem::SetTag(char const*)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x639f):tv3dwrapper.cpp: undefined reference to `CTVParticleSystem::Enable(bool)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x63a9):tv3dwrapper.cpp: undefined reference to `CTVParticleSystem::GetEmitterKeyFrame(int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x6f38):tv3dwrapper.cpp: undefined reference to `CTVPhysics::EnableCPUOptimizations(bool)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x6f41):tv3dwrapper.cpp: undefined reference to `CTVPhysics::ComputeAccurateInertia(int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x6f4b):tv3dwrapper.cpp: undefined reference to `CTVPhysics::DestroySimulation(int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x6f55):tv3dwrapper.cpp: undefined reference to `CTVPhysics::GetActiveSimulation()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x6f5f):tv3dwrapper.cpp: undefined reference to `CTVPhysics::SetActiveSimulation(int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x6f69):tv3dwrapper.cpp: undefined reference to `CTVPhysics::CreateNewSimulation()'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x74a8):tv3dwrapper.cpp: undefined reference to `CTVScene::RenderAllActors(bool)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x74b8):tv3dwrapper.cpp: undefined reference to `CTVScene::RenderAllParticleSystems(bool)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x7743):tv3dwrapper.cpp: undefined reference to `CTVScreen2DImmediate::Draw_Box3D(cTV_3DVECTOR*, cTV_3DVECTOR*, int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x774d):tv3dwrapper.cpp: undefined reference to `CTVScreen2DImmediate::Draw_Box3DEx(cTV_3DVECTOR*, cTV_3DVECTOR*, cTV_3DMATRIX*, int)'
G:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.release.win32.x86.a(tv3dwrapper.cpp.release.win32.x86.o)(.text+0x7b97):tv3dwrapper.cpp: undefined reference to `CTVShader::GetName()'
Build Error: Failed to link C:/Documents and Settings/sinu/Desktop/tutorials/TV3D Max Tutorials/15 - Paint On The Ground v1.01/.15 - Paint On The Ground.exe
Process complete



Sinu: Looks like you've got an old version of the TV dll somewhere. Your best bet is to delete every version you can find and download the latest SDK from the TV site. Then copy the libctv3d65.a and ctv3d65.dll into windows/system32.

My module is always built against the latest version of the TV library unless there's a compelling reason to do otherwise. ( EG: There was a beta version which was badly broken, so I didn't use it. )

ArcticFox: Thanks for the reminders. Duly noted, and will be fixed next time around.

thanks that fixed it.

Is that me or TV3D v6.5 totally lacks documentation?

All I found was a .chm for v6.3 (which anyway doesn't contain much besides the classes) while I found nothing for v6.5.

It's in prerelease, hence no documentation. That's why Kenshin did the tutorials.


Is that me or TV3D v6.5 totally lacks documentation?



That's my concern at the moment (but understandable as it's in pre-release).

I think if I'm going to learn something as complex as TV3D without good documentation, I might be better off learning DirectX 9 instead. At least there are plenty of books and articles for DirectX.

Well I left it a week and got absolutely no reply from the support form on this site, so I'm going to have to assume that BRL would prefer I drag people away from the site in order to give them somewhere to discuss TV3D without cluttering up General Discussion.

I have some things to do tonight and tomorrow afternoon, so I'll try to check the forum over tomorrow evening, make sure it's good to go and then I'll post the URL tomorrow.

Brilliant cant wait :)

complex ? no
flexible fast and very capable engine yes

Currently im making a match3 clone in Isometric 3d to allow for the addition of fancy 3d effects to a primarily 2d project

On my test pc i am

Managing 2500 cubes via minimeshes
Each Using one of 9 512* textures with alphablending support
Max 0f 16*14 cubes visable at anyone time

MouseOvers and 2d Gui overlay
Which is made of 8 512* textures

Ogg Music playing in background 4mb files
Using its builtin Tvpackage format to add security to files

MousePicking and Collision checking
Plus Check for 3+ chains on a 20*20 grid

all this running in
1280*1024*32 and in still gettting
1400 fps

Hmmm....Just downloaded the latest TV3D SDK and also glimmers.mod. Have followed all the instructions inside, and have checked it like 20 times now. Still I get the same problem reported on this side:

C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x20ef): undefined reference to `CTVAI::GetTag()'

This is just one of the lines. There are like 25 more that gives the same error but with different references...

Any clue what could be the problem?

I've had a number of problems with the server, where backups are overwriting new uploads. Not sure if it's a problem with the host or the owner, or both. I'll have another look and if it needs reuploading, I'll try again.

Isn't this just a problem of out-of-date files in the pro-Version, which are older than those of the demo version ?

posted it a while ago here

No, it's not. The Pro version is completely up to date. Anyone who hasn't been receiving the Pro version updates in email and thinks they should have done should email me indicating the email they originally used and the one they want the updates sent to. Every time I sent updates, a couple come back, and I have asked before if people would let me know if they've changed their email address and are missing the updates. I'm as keen to get that fixed as anyone.

The lite version has been uploaded again. Should be ok now.

www.glimmergames.com/modules/tv3d/lite/lite.zip

Hmm...I'm still having linking problems.

Building .basic_rts_movement
Compiling:.basic_rts_movement.bmx
flat assembler  version 1.66
3 passes, 43322 bytes.
Linking:.basic_rts_movement.debug.exe
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x25d8): undefined reference to `CTVCamera::SetViewIsometric(float, float, float)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2e76): undefined reference to `CTVDeviceInfo::IsRenderSurfaceFormatSupported(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x3d0c): undefined reference to `CTVLandscape::SetSplattingEnable(bool, int, float)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x3f4f): undefined reference to `CTVLandscape::GetProgressiveLOD()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x6556): undefined reference to `CTVParticleSystem::GetGlobalRotation()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7108): undefined reference to `CTVPhysics::AdvancedCollision(cTV_3DVECTOR*, cTV_3DVECTOR*, cTV_COLLISIONRESULT*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7166): undefined reference to `CTVPhysics::TestCollision(int, int, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7205): undefined reference to `CTVRenderSurface::CreateStaticTextureFromRenderSurface(int, int, int, char*, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x721b): undefined reference to `CTVRenderSurface::CreateStaticCubeMapFromRenderSurface(int, char const*, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x73b2): undefined reference to `CTVScene::CreateRenderSurface(int, int, bool, cCONST_TV_RENDERSURFACEFORMAT, char*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7477): undefined reference to `CTVScene::CreateAlphaRenderSurface(int, int, bool, char*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7529): undefined reference to `CTVScene::CreateCubeRenderSurface(int, bool, int, char*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x761b): undefined reference to `CTVScene::CreateRenderSurfaceEx(int, int, cCONST_TV_RENDERSURFACEFORMAT, bool, bool, float, char*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x771f): undefined reference to `CTVScene::CreateMultiRenderSurface(int, int, int, bool, bool, float, cCONST_TV_RENDERSURFACEFORMAT, cCONST_TV_RENDERSURFACEFORMAT, cCONST_TV_RENDERSURFACEFORMAT, cCONST_TV_RENDERSURFACEFORMAT, char*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7a7c): undefined reference to `CTVScreen2DText::TextureFont_Create(char const*, char const*, int, bool, bool, bool, bool, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7e4a): undefined reference to `CTVShader::LoadPrecompiledShader(char const*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x1414): undefined reference to `CTVActor::SetPathSpeed(float, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x1f10): undefined reference to `CTVActor::SetTangentParameters(float, float, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2103): undefined reference to `CTVAI::SetTag(char const*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x210d): undefined reference to `CTVAI::SetUserData(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2117): undefined reference to `CTVAI::GetUserData()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2121): undefined reference to `CTVAI::GetTag()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x212b): undefined reference to `CTVAI::FindGridPathEx(int, int, int, int, int*, int*, int*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2135): undefined reference to `CTVAI::FindNodePathEx(cTV_3DVECTOR*, cTV_3DVECTOR*, int*, int*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2522): undefined reference to `CTVCamera::SetPathSpeed(float, float, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2adb): undefined reference to `CTVCamera::SetTag(char const*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2ae5): undefined reference to `CTVCamera::SetUserData(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2aef): undefined reference to `CTVCamera::GetUserData()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2af9): undefined reference to `CTVCamera::GetTag()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2b03): undefined reference to `CTVCamera::OccQuery_GetMaxQueries()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2b0d): undefined reference to `CTVCamera::GetFrustumPoints(cTV_3DVECTOR*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2e67): undefined reference to `CTVDeviceInfo::GetMaxMRTCount()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x2e85): undefined reference to `CTVDeviceInfo::GetMaxTextureSize(int*, int*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x318f): undefined reference to `CTVEngine::ClearDepthBuffer()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x3199): undefined reference to `CTVEngine::GetShaderProfile()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x363d): undefined reference to `CTVGlobals::GetShaderFromID(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x3647): undefined reference to `CTVGlobals::GetRenderSurface(char const*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x3651): undefined reference to `CTVGlobals::GetRenderSurfaceFromID(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x3e21): undefined reference to `CTVLandscape::SetClamping(bool, int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x3f43): undefined reference to `CTVLandscape::GetShader()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4a7f): undefined reference to `CTVMathLibrary::Project2DPointTo3D(float, float, float, cTV_3DVECTOR*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4a90): undefined reference to `CTVMathLibrary::SortVectorList(cTV_3DVECTOR*, int, cTV_3DVECTOR*, int*, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4e4b): undefined reference to `CTVMiniMesh::GetTag()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4e55): undefined reference to `CTVMiniMesh::GetUserData()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4e5f): undefined reference to `CTVMiniMesh::SetUserData(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4e69): undefined reference to `CTVMiniMesh::SetTag(char const*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4e73): undefined reference to `CTVMiniMesh::GetItemTriangleCount()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4e7d): undefined reference to `CTVMiniMesh::GetItemVertexCount()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4e87): undefined reference to `CTVMiniMesh::SetName(char const*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4e91): undefined reference to `CTVMiniMesh::GetName()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4ea2): undefined reference to `CTVMiniMesh::GetItemBoundingSphere(int, cTV_3DVECTOR*, float*, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4eb2): undefined reference to `CTVMiniMesh::GetItemBoundingBox(int, cTV_3DVECTOR*, cTV_3DVECTOR*, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x4f14): undefined reference to `CTVMesh::SetPathSpeed(float, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x5a41): undefined reference to `CTVMesh::GetGroupFromName(char const*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x5a4b): undefined reference to `CTVMesh::GetGroupFromVertex(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x5a5c): undefined reference to `CTVMesh::SetTangentParameters(float, float, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x6505): undefined reference to `CTVParticleSystem::GetTag()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x650f): undefined reference to `CTVParticleSystem::GetUserData()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x6519): undefined reference to `CTVParticleSystem::SetUserData(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x6523): undefined reference to `CTVParticleSystem::SetTag(char const*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x6539): undefined reference to `CTVParticleSystem::Enable(bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x6543): undefined reference to `CTVParticleSystem::GetEmitterKeyFrame(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x6586): undefined reference to `CTVParticleSystem::SetBillboardRotation(int, bool, float, float, float, float, float)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x66bf): undefined reference to `CTVPath::GetConstantSpeedAdvance(float, float, float)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x711e): undefined reference to `CTVPhysics::EnableCPUOptimizations(bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7127): undefined reference to `CTVPhysics::ComputeAccurateInertia(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7131): undefined reference to `CTVPhysics::DestroySimulation(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x713b): undefined reference to `CTVPhysics::GetActiveSimulation()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7145): undefined reference to `CTVPhysics::SetActiveSimulation(int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x714f): undefined reference to `CTVPhysics::CreateNewSimulation()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7311): undefined reference to `CTVRenderSurface::SetSystemMemCopy(bool, bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7732): undefined reference to `CTVScene::RenderAllActors(bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7742): undefined reference to `CTVScene::RenderAllParticleSystems(bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x774b): undefined reference to `CTVScene::SetMousePickRangeLimit(float)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7755): undefined reference to `CTVScene::RenderActorList(int, int*)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x79e1): undefined reference to `CTVScreen2DImmediate::Draw_Box3D(cTV_3DVECTOR*, cTV_3DVECTOR*, int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x79eb): undefined reference to `CTVScreen2DImmediate::Draw_Box3DEx(cTV_3DVECTOR*, cTV_3DVECTOR*, cTV_3DMATRIX*, int)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7e3b): undefined reference to `CTVShader::GetName()'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x7e59): undefined reference to `CTVShader::SetTimeScale(float)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x8006): undefined reference to `CTVTextureFactory::DeleteAllTextures(bool)'
C:/Program Files/BlitzMax/mod/glimmer.mod/tv3d65.mod/tv3d65.debug.win32.x86.a(tv3dwrapper.cpp.debug.win32.x86.o):tv3dwrapper.cpp:(.text+0x81c5): undefined reference to `CTVTextureFactory::SetTextureName(int, char const*)'
Build Error: Failed to link E:/Blitzmax/Truevision/Basic RTS/.basic_rts_movement.debug.exe
Process complete


So this what I have done:
1. I have installed the latest version of blitzmax
2. I have downloaded the latest lite.zip (containg the glimmer.mod)
3. I have unzipped the lite.zip into the Blitzmax mod folder
4. I have downloaded the latest downloadable of TV3d 6.5 and installed it
5 I have copied "libtv3dc.a" from TV3D's "/SDK/CPPGCC" to the Blitzmax lib.
6. I have copied the "tv3dc65.dll" to both all program folders that I try to compile AND copied it to the system32 folder.

I have uninstalled and done the above 5 times and still I get the very annoying linking error. I have been able to run this on my previous install of Vista.

Do you guys have any ideas on what the problem might be? I would really like to get this to work.

You're using an outdated Lib file. If, as you say, you got it from the official TV site and it's marked the latest, then they've still got problems with their mirrors. All those functions which are throwing errors were added in recent updates, so that's definitely an old one. For reference, the correct lib should be 1,482,464 bytes long.

Gabriel. So we are then talking about the "LIBTV3DC65.A" that should be put into the blitzmax/lib-folder right?

Hmmm...Because if it is, the one that I have is only 1,424,804 bytes long.

I tried to download from different mirrors when downloading the tv3d 6.5 version, same result.

But oki I will have to look around again. If anyone has this latest file we are talking about please give me a holler.

Thanks Gabriel for the help so far.

I guess the developers won't mind me sending you the lib, since it's distributed freely by them anyway. I'll email it to you.

Ok! I finally got it to work.

Seems that the mirrors servers posted on the truevision3d main site is NOT up to date, even if the downloadable install-files have the correct naming.

If you get the same error as I experienced, be sure that you download it from the main truevision server (Sacramento, California).

Thanks for all the help Gabriel.