problem de variable non reconnu

Pour discuter de l'assembleur
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

problem de variable non reconnu

Message par Backup »

salut les tronche de l'asm

j'ai récupéré un petit bout de code sur le forum anglais!

il semblerai que la fonction Atan2()

ne passe pas a cause que les variables ne sont pas reconnues ...

pouvez vous confirmer, et éventuellement apporter une soluce ??
ptete une histoire de syntaxe.. :?

Code : Tout sélectionner

; *************************************************************************************
; *   P r o j e c t :    T u n n e l - F x   
; *************************************************************************************
; *
; *   Part3: Creating Angle Table / Texture:
; *   --------------------------------------
; *   This small example shows you, how to to create the needed angle table and how
; *   does this looks like for doing the rotations of our tunnel. Dont forget to enable
; *   inline assembler. Otherwise as you see, you will see nothing. :D
; *
; *   Source and Tutorial (c) by Thorsten Will aka va!n
; *   All rigths reserved.
; *
; *************************************************************************************

#image=0

Procedure.d ATan2(y.d, x.d)
  !FLD qword[P.v_y]
  !FLD qword[P.v_x]
  !FPATAN
  ProcedureReturn
EndProcedure

; -------- Init Code --------

lTextureSize.l  = 256
lScreenWidth.l  = 640
lScreenHeight.l = 480

CreateImage (0, lScreenWidth, lScreenHeight)
 
; -------- Generating Angle Table / Texture --------

StartDrawing(ImageOutput(#image))
  
  dParts.d = 0.5
  
  For x = 0 To lScreenWidth -1             
    For y = 0 To lScreenHeight -1
      dAngle.d = (dParts * lTextureSize * ATan2(y-lScreenHeight/2, x-lScreenWidth/2) / #PI)
      lColor = Int (256 - dAngle) & 255
      Plot (x, y, RGB(lColor, lColor, lColor) )
    Next
  Next
  
StopDrawing()

; -------- Saving Table as Texture --------

SaveImage (0, "c:\TunnelFx_Angle.bmp")


; *************** ecran minimum ********************************** 
If InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "Can't open DirectX 7 or later", 0)
  End
EndIf 

OpenScreen(1024,768,32,"texture")



Repeat
  
  If StartDrawing(ScreenOutput())  
      DrawText(10,10,"ok")
      DrawImage(ImageID(#image),100,100,256,256) 
    StopDrawing()
  EndIf
  
  ; Inverse the buffers (the back become the front (visible)... And we can do the rendering on the back)
  
  
  FlipBuffers()
  
  ; ClearScreen(RGB(0,0,0))  
  
  ExamineKeyboard()
Until  KeyboardPushed(#PB_Key_Escape)

; *************************************************************************************

; ************************************************************************************* 
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

J'ai rien comprendu, mais pour que ça fonctionne il suffit de remplacer les P.vx et P.vy en p.vx et p.vy (ben oui, fasm est sensible à la casse).
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

djes a écrit :J'ai rien comprendu, mais pour que ça fonctionne il suffit de remplacer les P.vx et P.vy en p.vx et p.vy (ben oui, fasm est sensible à la casse).
arg !! j'essaie .. Merci :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

djes a écrit :J'ai rien comprendu, mais pour que ça fonctionne il suffit de remplacer les P.vx et P.vy en p.vx et p.vy (ben oui, fasm est sensible à la casse).
sauf que Japbe , y veux pas !!

si je met p a la place de P , japbe, me remet P !! hum :lol:

pis sous l'editeur officiel, une erreur de Structure apparait ... :?
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Là je n'ai pu tester que sous une version 4.02. Je regarderai après sous la 4.20
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Dobro a écrit :
djes a écrit :J'ai rien comprendu, mais pour que ça fonctionne il suffit de remplacer les P.vx et P.vy en p.vx et p.vy (ben oui, fasm est sensible à la casse).
sauf que Japbe , y veux pas !!

si je met p a la place de P , japbe, me remet P !! hum :lol:

pis sous l'editeur officiel, une erreur de Structure apparait ... :?
Il faut désactiver le changement de casse automatique dans les options, et ça fonctionne : Menu "Fichiers" --> "Préférences", onglet "Autres options" --> "Changement de casse automatique"
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Chris a écrit : Il faut désactiver le changement de casse automatique dans les options, et ça fonctionne : Menu "Fichiers" --> "Préférences", onglet "Autres options" --> "Changement de casse automatique"
bien vu ! :D

ya trop d'option dans japbe :D
Répondre