b3d file + textures

Blitz3D Forums/Blitz3D Programming/b3d file + textures

Panno(Posted 2004) [#1]
hi there
i create a large maplet level and textures the level with decorator .
no i move my player arround and if the playerhand collide
with a level-piece i will get the texturname from this point .

any code will helpfull


thx


Tom(Posted 2004) [#2]
Just guessing :)

Note: I'm using a linepick down from a player position, you'll have to use collision commands to get a collided surface.

; do line pick down from, player
LinePick playerx#,playery#,playerz#,0,-2,0

If PickedSurface()
  pb=GetSurfaceBrush(PickedSurface())
  If pb
    pt=GetBrushTexture(pb,index) ; index = texture layer, 0 - 7
    If pt
      TexFileName$=TextureName$(pt)
      FreeTexture pt ; GetBrushTexture() creates a NEW COPY of the texture, so it must be freed
    End If
    FreeBrush pb ; GetBrushTexture() creates a NEW COPY of the brush, so it must be freed
  End If
End If



Ruz(Posted 2004) [#3]
how would I make my footstep sound change depending on the texture i am standing on?
I undertand how to access a texture, but how to interact with it.


Bot Builder(Posted 2004) [#4]
; do line pick down from, player
LinePick playerx#,playery#,playerz#,0,-2,0

If PickedSurface()
 pb=GetSurfaceBrush(PickedSurface())
 If pb
  pt=GetBrushTexture(pb,index) ; index = texture layer, 0 - 7
  If pt
   TexFileName$=StripPath$(TextureName$(pt))
   Select TexFileName$
   Case "metal.png"
    If footdown Then PlaySound metalstep
   Case "wood.jpg"
    If footdown Then PlaySound woodstep
   End Select
   FreeTexture pt ; GetBrushTexture() creates a NEW COPY of the texture, so it must be freed
  End If
  FreeBrush pb ; GetBrushTexture() creates a NEW COPY of the brush, so it must be freed
 End If
End If

Function StripPath$(file$) 
 If Len(file$)>0 
  For i=Len(file$) To 1 Step -1 
   mi$=Mid$(file$,i,1) 
   If mi$="\" Or mi$="/" Then Return name$ Else name$=mi$+name$ 
  Next 
 EndIf 
 Return name$ 
End Function



Ruz(Posted 2004) [#5]
woah cool man. thanks. i always fancied doing that in my game.
i cam make a 'dog poo' texture and have the foot make a squish sound


Panno(Posted 2004) [#6]
ah i understand .

thanks .


Murphy(Posted 2004) [#7]
hi.

sorry for pushing up this ooold thread - but it fits perfect to here (i think).

with the func above i can get the name of the texture on a surface... well, good.
how can i apply a new texture to this surface. i think with entitytexture i'll texture the whole entity with the new one, but that isn't what i mean. (i'm not sure, since i'm on work and have no blitz here...).
hope there is a solution :)

EDIT:
PaintSurface - Stupid me....