Well due to the unfortunate slowing down of the US economy ... I have some more free time now. Yay me! So I am coding again after almost 2 years. First up is to finish the open source 3dw Importer I started appx 2 years ago.
Compiles under DBP U7.3 fine ... others haven't been tested.
The media is for demonstration only and Leadwerks owns the rights.
The code is free to use as you please; you don't even have to mention me
Everything should load fine but some meshs may not color right. If you have any problems or bugs let me know.
Screen Shots 12k appx:
http://www.mapmasterz.com/lit/3dw_loader_SS_00.rar
http://www.mapmasterz.com/lit/3dw_loader_SS_00.zip
Media Download for Complex Example 37MB appx:
http://www.mapmasterz.com/lit/3dw_loader_00_Media.rar
http://www.mapmasterz.com/lit/3dw_loader_00_Media.zip
Download w/ source and exe only 2MB appx:
http://www.mapmasterz.com/lit/3dw_loader_00_exe.rar
http://www.mapmasterz.com/lit/3dw_loader_00_exe.zip
Code Only 20k appx:
http://www.mapmasterz.com/lit/3dw_loader_00_source.rar
http://www.mapmasterz.com/lit/3dw_loader_00_source.zip
use the Load test.bat to load your level just change the filename and or path
`changes as of 05-04-2009
`added crude numbering system to updates. 00 for terrain sectoring update and the object grouping will be 01 when finished and so on until we get near a beta stage. Only the code and exe version will be changing mostly though.
`Added new functionality to creation of terrains for option of 1 object per sector or 1 object per terrain. create terrains a value of 0 passed in = normal and 1 = welded in the first parameter
`second parameter is the creation mode 0 = 1 object per terrain , 1 = 1 object per sector
LiT3dw_Create_Univ_Terrains( 0, 1 )
`changed brush and terrain creation functions. Now call them by:
`create brushes a value of 0 passed in = normal and 1 = welded
LiT3dw_Create_Univ_Brushes( 0 )
`create terrains a value of 0 passed in = normal and 1 = welded
LiT3dw_Create_Univ_Terrains( 0 )
`added support for face welding on brushes to use less verts
`renamed all variable, functions, and arrays to include LiT3dw_ at the first of the name
`fixed typo in brush creation function that would make it crash if the first face was deleted of a brush
`added support for making welded terrains that use a small amount of verts and an index list
`added support for caulking brushes. Texture your faces with caulk.bmp now treats them as delted faces
`if you build with caulk.bmp and only select and texture your faces later it can save you up to 33% in polys from my tests
`as usually you can only see 4 sides of most brushes.
`added TextureMapScale# = 0.5 for texture scaling on terrain
`if you changed it from this in your 3dws ini file make it match
`it's at the very first of the Make_Types_Vars subroutine
`added support to search for a media folder incase you just wanna put all your stuff
`in one folder as long as the names don't overwrite files
`fixed lighting color error on terrain and meshes as the r and b values are backwards in GL
`fixed error in writing of terrain layers above the first ... typo in alpha checking
`added checking to cut polys from first layer if totally covered by any other layer
`saved 17,500 polys appx on the complex.3dw map
`mesh support is very limited due to the 3dw file format limitations
`.x triangulated models allowed only may try to add .smf support later
`but no .x models with quads are likely to work if you have any trouble models
`shoot them my way and I'll see what I can do.
`On the to do list in order pretty much
`add proper entity and grouping support (working on grouping now)
`add LOD levels to terrain
`add support for using a TextureMapScale entity to the map so you don't haveto change the code
`possibly do the same with ambient lighting ifneeded
`get open source FPS engine working with current DBP and Vista ... silent crashes now
`tie this into my open source FPS engine
`update the frustum culling for new optimizations ... may add quadtree or octree support
`modify the inca pro .dbo loader to mimic this importer too as I now have the commands I needed 2 years ago to make it work right
`release all of codes in a program announcements thread for LiT's stuff
`my culling, ngc modifications, open source engine, .3dw loader, and .mesh loader
`and anything else I can find that may help someone
`may write a .smf model loader for DBP
`final version of the open source FPS engine is slated to be able to load levels from 3dws and CSHOP
`I may add TeD support and magicworld/matedit using objects in place of the matrixs or any others people feel would be usefull
ANY problems or suggestion let me know
barfieldjoey at hotmail dot com
barfieldjoey at yahoo dot com
barfieldjoey at mapmasterz dot com
barfieldjoey at gmail dot com
make sure and put LiT, lost in thought, DBP, NGC, or something in the subject so the spam monster will be less likely to eat it
Thanks to:
APEX for his CSM Importer dll and open source DBP versions. Both taught me alot and inspired this.
IanM for all the codes he's posted throughout the years that helped me
Matthew for creating NGC andleaving it in an open include format instead of a Licensed dll.
Green Gandalf for the blend shader
Pixel Perfect for porting this and improving it for the DGDK
JoshK for creating 3DWS
Cash Curtis II, Lawrence, Jason P Sage, Olby and all the others for the encouragement