I tried this video tutorial for Unity in C# and it worked, but I couldn't replicate it in in quakec.
I also trying to do something like this in a static way but, .bsp maps, used as models, are not rendered!
inside worldspawn function
Code: Select all
local int i;
local float isize = 2048;
for(i=0;i<9;i++){
terrain = spawn();
setmodel(terrain,"maps/terrain.bsp");
setsize(terrain,[-(isize/2),-(isize/2),16],[isize/2,isize/2,16]);
terrain.solid = SOLID_BSP;
if(i == 0){
setorigin(terrain,[0,0,0]);
}
else if(i == 1){
setorigin(terrain,[isize,0,0]);
}
else if(i == 2){
setorigin(terrain,[-isize,0,0]);
}
else if(i == 3){
setorigin(terrain,[0,isize,0]);
}
else if(i == 4){
setorigin(terrain,[0,-isize,0]);
}
else if(i == 5){
setorigin(terrain,[isize,isize,0]);
}
else if(i == 6){
setorigin(terrain,[-isize,isize,0]);
}
else if(i == 7){
setorigin(terrain,[isize,-isize,0]);
}
else if(i == 8){
setorigin(terrain,[-isize,-isize,0]);
}
terrain.SendFlags |= 1;
terrain.SendEntity = SendTerrainFlags;
}
Code: Select all
local entity terrainprev;
local float isize = 2048;
for(i=0;i<9;i++){
terrain = spawn();
setmodel(terrain,"maps/terrain.bsp");
setsize(terrain,[-(isize/2),-(isize/2),16],[isize/2,isize/2,16]);
terrain.solid = SOLID_BSP;
if(terrainprev!=world){
setorigin(terrain,[terrainprev.origin_x,terrainprev.origin_y+isize,0]);
}
terrain.SendFlags |= 1;
terrain.SendEntity = SendTerrainFlags;
terrainprev = terrain;
}
PS: I use FTE + CSQC but I don't think it's related in this case.