#1 2017-10-04 21:37:41

JuicyJuice
Member

Brand New User

Hey. This is not my first time on a forum but is my first time on this forum. I am new here and hope our talks are positive.

I played this game already, downloaded it last night. It's fun, but there's not much to do in the game. There doesn't seem to be any servers active, no different player models, no different weapons, textures, models...

I'm here to talk about this game and figure out how I can mod it to my liking. (I'm just introducing myself here, right now, but I'm also talking about my general purpose here.)

I may create a new thread asking how I can port models into the game, such as player models, weapons and such.

I'll tell you a bit about what got me into this game.

I used to mod AssaultCube nonstop. I found several places where I can get decent models, and I'd usually port them to AssaultCube using MilkShape 3D (it's a garbage program yes, but at the time I relied on it to port my favorite weapons to AssaultCube.) The game relied on MD3s for the weapons and I knew MilkShape could export to that format, so that's why I used it. Then my Windows 10 stopped working, so I moved to Ubuntu. Ubuntu GamePack, more specifically. I decided to reinstall MilkShape, and... it didn't run. So I needed a new place to go, all because MilkShape stopped working. Then I found Tesseract.

I'll be honest, I never liked Sci-Fi games. Feels like there's too many being made nowadays (not crapping on Tesseract), but then I found Tesseract and I loved it so much. The first Open-Source game I played with nice graphics! Shadows from the sun? Even shadows from the lights? Nice touches, well needed! It's a great and fun game!

But I'd like to make it so that I have more weapons, more mapmodels, more textures, and more maps, as well as playermodels.

So here I ask, are there such tools in existence that will run with no trouble on Linux where I can easily port to the MD5Mesh format? (also is there a skeleton model for the NPC/Player? oh, and is it possible to port Sauerbraten & AssaultCube models (weapons, textures and map models) to Tesseract? Thanks!

Last edited by JuicyJuice (2017-10-04 21:39:12)

Offline

#2 2017-10-05 03:09:13

chasester1
Member

Re: Brand New User

SO...

@modding
You will need to modify the source code. You can do this most simply in windows (assuming you are runing that) you can just simply go to src/vcpp/tesseract.proj which should boot up if you have visual studio 2015 installed, it is free if you down load the computity edition.  On mac xcode file IDB work but not 100% saying ive never tried them if not you can use cmake and build using the make file. This is something thats outside my scope of knowledge but im sure some one can explain this concept to you if you need help. (ive done it a few times but i think mostly it was luck that I got it working).

Then you can run this in a compiler, if youve nv coded in c++ then you probably should learn the basics on youtube or off some web site, there are 1000s of resources out there to help with the basics.

Most of the "game" level code will be in game.h and game.cpp (game.h has most of the weapon setting and damage out puts and health of players etc where as the game logic [like where to spawn and how to handel player states] is in game.cpp. And shooting is done in weapon.cpp) Modifying this code will change the way the game runs (so you can modify most any attribute from this spot). This is used by the server and the client so you wont have to worrie about changing this in both spots.

Ents.h and Ents.cpp will allow you to add logic and new entites to the maps for things like pick ups and other logic devices. You can look in game.h for the server and client message system (the logic is in client and server.cpp respectively) which will allow you to add new ways to send info (say like adding enviroment damage, or triggers for doors etc).

@models
Most the models are hardcoded into the engine so you cant just change cfg files to relocate them from there defaults. You will need to simply go in and find the place they are defined (mostly in game.h) and changes them. This is true for hudguns and playermodels. All other models are stated the same way they are in cube 1 (assult cube is cube 1). Md3 md4 md5 iqm sdm obj are all acceptable model formats tho all but obj can also do animation, you can check out the cube 2 wiki to see all the comands and how they work. Or just simply look at the playermodel configs in each corisponding directory. Or ask here because they are fairly strait forward.

Editing in tesseract is proably way different than in assult cube (unless they have upgraded the engine) so you should play around with it, saying tesseract is kinda like cube 3 adding a lot of new features not only graphically but also some new functionalirty includeing dynamic and realtime lighting aka no light maps.

@shadows cuz i feel this needs clarified.
In assault cube, there are no dynamic shadow, maybe blob shadows idk, Tesseract uses realtime lighting like in amost every game engine (save unreal which uses both realtime and lightmaps). So light is calculated every frame from all sources, rather than once in a long load up time. This means better editing and more realistic models and ligthing. Also models are treated differently than in cube 1 or 2 so they can be inside terrain and light correctly (something that would really screw up stuff in cube 2). Also this adds things like sandows on top of shadow and moving object (like players obejcts etc) all are correctly lit every frame ranther than forced to be static until you calculate the light maps again.

@formates
You can using c++ add other formates (say colida cuz every ones using it) inside of model.h is a good outline on how its done. Just create a new $MODELTYPE.h and define the required functions listed in model.h. You can look at md5.h iqm.h etc for examples on how to do this. Its not very hard and should be fairly easy to figure out, even for a novice. There are quite a few examples out there on how to parse collida so you can use one of those examples as a starting point and link it into the tesseract system.

Otherwise, I know one of the versions of blender will allow you to use the scipt on the cube wiki written in python, but this scipt is old and Ive only gotten non animated models to work. If you go to cubeengine.com there is more info on this matter.

all models that you have made that are md2 md3 md4 md5 iqm (just made) obj should convert over easily. the commands in the .cfg file may have changed so check that out.

Textures are much easier and they work almost exactly the same as cube 2, you can look at the wiki for more info on that, but if you bring over packs with the config files they should drop and play. Ofc you should modify the default_map.cfg file to allow them to exist in new maps before you add a cfg to the map.

Look forward to your creations
chasester

Offline

#3 2017-10-05 11:21:11

JuicyJuice
Member

Re: Brand New User

chasester1 wrote:

SO...

@modding
You will need to modify the source code. You can do this most simply in windows (assuming you are runing that) you can just simply go to src/vcpp/tesseract.proj which should boot up if you have visual studio 2015 installed, it is free if you down load the computity edition.  On mac xcode file IDB work but not 100% saying ive never tried them if not you can use cmake and build using the make file. This is something thats outside my scope of knowledge but im sure some one can explain this concept to you if you need help. (ive done it a few times but i think mostly it was luck that I got it working).

Then you can run this in a compiler, if youve nv coded in c++ then you probably should learn the basics on youtube or off some web site, there are 1000s of resources out there to help with the basics.

Most of the "game" level code will be in game.h and game.cpp (game.h has most of the weapon setting and damage out puts and health of players etc where as the game logic [like where to spawn and how to handel player states] is in game.cpp. And shooting is done in weapon.cpp) Modifying this code will change the way the game runs (so you can modify most any attribute from this spot). This is used by the server and the client so you wont have to worrie about changing this in both spots.

Ents.h and Ents.cpp will allow you to add logic and new entites to the maps for things like pick ups and other logic devices. You can look in game.h for the server and client message system (the logic is in client and server.cpp respectively) which will allow you to add new ways to send info (say like adding enviroment damage, or triggers for doors etc).

@models
Most the models are hardcoded into the engine so you cant just change cfg files to relocate them from there defaults. You will need to simply go in and find the place they are defined (mostly in game.h) and changes them. This is true for hudguns and playermodels. All other models are stated the same way they are in cube 1 (assult cube is cube 1). Md3 md4 md5 iqm sdm obj are all acceptable model formats tho all but obj can also do animation, you can check out the cube 2 wiki to see all the comands and how they work. Or just simply look at the playermodel configs in each corisponding directory. Or ask here because they are fairly strait forward.

Editing in tesseract is proably way different than in assult cube (unless they have upgraded the engine) so you should play around with it, saying tesseract is kinda like cube 3 adding a lot of new features not only graphically but also some new functionalirty includeing dynamic and realtime lighting aka no light maps.

@shadows cuz i feel this needs clarified.
In assault cube, there are no dynamic shadow, maybe blob shadows idk, Tesseract uses realtime lighting like in amost every game engine (save unreal which uses both realtime and lightmaps). So light is calculated every frame from all sources, rather than once in a long load up time. This means better editing and more realistic models and ligthing. Also models are treated differently than in cube 1 or 2 so they can be inside terrain and light correctly (something that would really screw up stuff in cube 2). Also this adds things like sandows on top of shadow and moving object (like players obejcts etc) all are correctly lit every frame ranther than forced to be static until you calculate the light maps again.

@formates
You can using c++ add other formates (say colida cuz every ones using it) inside of model.h is a good outline on how its done. Just create a new $MODELTYPE.h and define the required functions listed in model.h. You can look at md5.h iqm.h etc for examples on how to do this. Its not very hard and should be fairly easy to figure out, even for a novice. There are quite a few examples out there on how to parse collida so you can use one of those examples as a starting point and link it into the tesseract system.

Otherwise, I know one of the versions of blender will allow you to use the scipt on the cube wiki written in python, but this scipt is old and Ive only gotten non animated models to work. If you go to cubeengine.com there is more info on this matter.

all models that you have made that are md2 md3 md4 md5 iqm (just made) obj should convert over easily. the commands in the .cfg file may have changed so check that out.

Textures are much easier and they work almost exactly the same as cube 2, you can look at the wiki for more info on that, but if you bring over packs with the config files they should drop and play. Ofc you should modify the default_map.cfg file to allow them to exist in new maps before you add a cfg to the map.

Look forward to your creations
chasester


Hi. I had already mentioned I was no longer using Windows. If I didn't describe it properly, I'm using UA Linux.

As for the CPP and H files you named to me, I never recall finding them in the files. I may have missed them, though, so I'll look again. I actually did try porting a 2006 Town Car into the game and I created it's own folder and .cfg and placed it in (someone's instructions from this site said)  the maps folder. It didn't spawn. But it created this gray and white cubes, though....

Offline

#4 2017-10-09 14:07:03

chasester1
Member

Re: Brand New User

@.h and .cpp files

they are in the build https://websvn.tuxfamily.org/listing.ph … 5a6b8805ed

they are all under src/shared or src/game or src/engine. if you use the make file you should be able to build using codeblocks idb.

if you had a pic of what happen that would be helpful. Your model may need scaled up:
mdlscale 2000. or scaled down maybe. all programs have different ideas of what 1 unit is. most modelers have a very small model scale, so you model may only be 5 or 6 units wide. which is very very small in tesseract.

Offline

#5 2017-10-09 19:39:54

JuicyJuice
Member

Re: Brand New User

chasester1 wrote:

@.h and .cpp files

they are in the build https://websvn.tuxfamily.org/listing.ph … 5a6b8805ed

they are all under src/shared or src/game or src/engine. if you use the make file you should be able to build using codeblocks idb.

if you had a pic of what happen that would be helpful. Your model may need scaled up:
mdlscale 2000. or scaled down maybe. all programs have different ideas of what 1 unit is. most modelers have a very small model scale, so you model may only be 5 or 6 units wide. which is very very small in tesseract.

I've already ported 3 models. A 95 Saturn, a 71 AMC Ambassador, and an old building.
I'm having collision issues, though. The collisions are a box, and are not shaped like the actual model. The ambassador also seems to let me walk through the hood. If I change its size it stops.

And the old building has the same issue. I don't stand on the rooftop, no, I stand 3 feet ABOVE the roof.

Gotta tell you, any time I write a new model to the list it seems to shift all the props around. I have a map with only a door, and a single office space that has a fire switch, and 2 filing cabinets. Anytime I add a new mapmodel, it seems to shift these ones around so they don't stay to what they were actually supposed to be.

Offline

#6 2017-10-10 02:56:25

chasester1
Member

Re: Brand New User

mdltricolide 1

that will make your models collision box based on the mesh not on the bounds.

and you can shape the bounding box with
mdlbb #x #Y #Z

:)
chasester

@model shift

this maybe due to not having a map config. you may want to write a *.cfg file in your map folder with your map.

if you do:

texturereset
mapmodelreset

//then list every thing after you want to use. this will fix this.



The models arent linked directly but rather there is just a list of models and ids for each model, so im not sure why but this is probably what is happening.

Last edited by chasester1 (2017-10-10 02:59:33)

Offline

Board footer