I was bored so I started making a weapon model importer type thing for the usable-by-our-client formats.
Link.
Pretty rudimentary at the moment. Imports geometry from OBJ format. Currently can only have one texture area for the whole model, rather than possibly having separate areas split off and using different textures (generally unnecessary and inefficient, real downside is that semi-transparency is all-or-nothing for the whole model). No particles yet; WLD format makes them annoying (skeletons are required, and the skeleton format for WLD is awful) but I think it might be reasonably possible to do for static (non-moving) emission points.
I haven't been able to get animated textures to work in game, although there are definitely weapon models with animated textures so it should be possible. Closely matching their data and looking back at a proof-of-concept animated texture I did for an NPC a while back (and which gave me far less trouble) hasn't bourne any fruit. Could be whitelisted or restricted to a certain ID range... I think the only weapons with animated textures all came from velious and are in a relatively short ID range. Need to do more testing on that.
One thing worth pointing out is that this tool is not an editor for models that are already in S3D files. The thought of having to fiddle with all of the WLD data and keep everything in check was the main thing that kept me from making an s3d weapon model importer when I thought about it before. Instead it just manages models you import and allows you to "synchronize" changes into the S3D . Not coincidentally, the synchronization is set up in such a way that it minimizes the amount of management I had to do for data already in the WLD. All changes are applied to gequip8.s3d by default, and the tool creates its own backup (gequip8_backup.s3d), which it also allows you to easily revert to (though you might want to make your own backup just in case). All of your imported models are stored in a file called "data.s3dimport" which can be sent to someone else (-> Woldaff) to easily show them everything you have and let them fiddle with it. You can also freely delete this file to start from scratch if you run into problems. (I thought about making a convenient pick-and-choose way to import from one data file to another, but I doubt this will see enough use to bother with all that.)
I included these two models in the download since you (= Grinkles) might not have any simple OBJ format model on hand to play with. Making simple models in Blender is surprisingly easy if you can take some time to wrap your head around the interface and the basic 3D graphics concepts; watching tutorials helps.
I dunno if we have a weapon model viewer thingy in the game? Also probably don't know about item model IDs... I usually use the 3000s range for my random test stuff since that is pretty (completely?) empty. Most of the ID space between 3000 and 10000 is probably empty. The client will refuse to load stuff beyond a certain point (I think I tested 20000 a year ago on a newer client and it didn't work). Probably possible to make helmet models like the velious armor racial ones. Definitely possible to make ground-spawn type stuff.
P.S. the model viewer in the tool has very crappy camera controls since I did it all manually and didn't put much time into it once I got to the point of making models show up correctly. Was a good excuse to learn a bit about the basics of opengl, though.
P.P.S probably some bugs etc.
P.P.P.S positive X is UP, positive Y is FORWARD. In the viewer, the initial position of models has forward to the left (would be looking at the front side of a shield).
Link.
Pretty rudimentary at the moment. Imports geometry from OBJ format. Currently can only have one texture area for the whole model, rather than possibly having separate areas split off and using different textures (generally unnecessary and inefficient, real downside is that semi-transparency is all-or-nothing for the whole model). No particles yet; WLD format makes them annoying (skeletons are required, and the skeleton format for WLD is awful) but I think it might be reasonably possible to do for static (non-moving) emission points.
I haven't been able to get animated textures to work in game, although there are definitely weapon models with animated textures so it should be possible. Closely matching their data and looking back at a proof-of-concept animated texture I did for an NPC a while back (and which gave me far less trouble) hasn't bourne any fruit. Could be whitelisted or restricted to a certain ID range... I think the only weapons with animated textures all came from velious and are in a relatively short ID range. Need to do more testing on that.
One thing worth pointing out is that this tool is not an editor for models that are already in S3D files. The thought of having to fiddle with all of the WLD data and keep everything in check was the main thing that kept me from making an s3d weapon model importer when I thought about it before. Instead it just manages models you import and allows you to "synchronize" changes into the S3D . Not coincidentally, the synchronization is set up in such a way that it minimizes the amount of management I had to do for data already in the WLD. All changes are applied to gequip8.s3d by default, and the tool creates its own backup (gequip8_backup.s3d), which it also allows you to easily revert to (though you might want to make your own backup just in case). All of your imported models are stored in a file called "data.s3dimport" which can be sent to someone else (-> Woldaff) to easily show them everything you have and let them fiddle with it. You can also freely delete this file to start from scratch if you run into problems. (I thought about making a convenient pick-and-choose way to import from one data file to another, but I doubt this will see enough use to bother with all that.)
I included these two models in the download since you (= Grinkles) might not have any simple OBJ format model on hand to play with. Making simple models in Blender is surprisingly easy if you can take some time to wrap your head around the interface and the basic 3D graphics concepts; watching tutorials helps.
I dunno if we have a weapon model viewer thingy in the game? Also probably don't know about item model IDs... I usually use the 3000s range for my random test stuff since that is pretty (completely?) empty. Most of the ID space between 3000 and 10000 is probably empty. The client will refuse to load stuff beyond a certain point (I think I tested 20000 a year ago on a newer client and it didn't work). Probably possible to make helmet models like the velious armor racial ones. Definitely possible to make ground-spawn type stuff.
P.S. the model viewer in the tool has very crappy camera controls since I did it all manually and didn't put much time into it once I got to the point of making models show up correctly. Was a good excuse to learn a bit about the basics of opengl, though.
P.P.S probably some bugs etc.
P.P.P.S positive X is UP, positive Y is FORWARD. In the viewer, the initial position of models has forward to the left (would be looking at the front side of a shield).
Last edited: