It would be nice to have line numbers for the GLBasic Editor, since this is widely used and normally always included for Editors. o:
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuoteSDL_GL_RED_SIZE: requested 8, got 8
SDL_GL_GREEN_SIZE: requested 8, got 8
SDL_GL_BLUE_SIZE: requested 8, got 8
SDL_GL_DEPTH_SIZE: requested 24, got 24
SDL_GL_DOUBLEBUFFER: requested 1, got 1
request: fopen("", "rb") failed
request: fopen("", "rb") failed
Init Finalized
Shut down GLB
glb is shut down
request: fopen("", "rb") failed
request: fopen("", "rb") failed
GLOBAL DebugMode = 1
GLOBAL ScreenW = 640
GLOBAL ScreenH = 480
GLOBAL Fullscreen = 0
GLOBAL FPS = 60
GLOBAL ParticleSize = 4096
SETSCREEN ScreenW, ScreenH, Fullscreen
SYSTEMPOINTER FALSE
LIMITFPS FPS
SETTRANSPARENCY RGB(0, 0, 0)
DIM ParticleX[ParticleSize]
DIM ParticleY[ParticleSize]
DIM ParticleSpeedX[ParticleSize]
DIM ParticleSpeedY[ParticleSize]
DIM ParticleGotPos[ParticleSize]
DIM ParticleDir[ParticleSize]
DIM ParticleSpeed[ParticleSize]
DIM ParticleColor[ParticleSize]
DIM ParticleType[ParticleSize]
GLOBAL Count, CountX, CountY, InitTimer, ParticleNumber
DIM Sinus[360]
DIM CoSinus[360]
FOR Count = 0 TO 359
Sinus[Count] = SIN(Count)
CoSinus[Count] = COS(Count)
NEXT
WHILE TRUE
IF KEY(1) = TRUE THEN BREAK
IF InitTimer = 0
IF KEY(57)
FOR Count = 0 TO ParticleSize - 1
ParticleX[Count] = 0
ParticleY[Count] = 0
ParticleSpeedX[Count] = 0
ParticleSpeedY[Count] = 0
ParticleGotPos[Count] = 0
ParticleDir[Count] = 0
ParticleSpeed[Count] = 0
ParticleColor[Count] = 0
ParticleType[Count] = 0
NEXT
FOR CountY = 0 TO 359
FOR CountX = 1 TO 4
FOR Count = 0 TO ParticleSize - 1
IF ParticleType[Count] = 0
ParticleType[Count] = 1
ParticleX[Count] = 320
ParticleY[Count] = 240
ParticleDir[Count] = CountY
ParticleSpeed[Count] = (CountX * 0.5) * RND(1)
ParticleColor[Count] = RGB(RND(255), RND(255), RND(255))
BREAK
ENDIF
NEXT
NEXT
NEXT
ENDIF
InitTimer = 15
ELSE
DEC InitTimer, 1
ENDIF
GOSUB ParticleSystem
SHOWSCREEN
WEND
SUB ParticleSystem:
FOR Count = 0 TO ParticleSize - 1
IF ParticleType[Count] <> 0
INC ParticleNumber, 1
IF ParticleGotPos[Count] = 0
IF ParticleDir[Count] > 359
ParticleDir[Count] = MOD(ParticleDir[Count], 360)
ELSEIF ParticleDir[Count] < -359
ParticleDir[Count] = MOD(ParticleDir[Count], 360)
ENDIF
ParticleSpeedX[Count] = Sinus[ParticleDir[Count]] * ParticleSpeed[Count]
ParticleSpeedY[Count] = CoSinus[ParticleDir[Count]] * ParticleSpeed[Count]
ParticleGotPos[Count] = 1
ELSE
ParticleX[Count] = ParticleSpeedX[Count] + ParticleX[Count]
ParticleY[Count] = ParticleSpeedY[Count] + ParticleY[Count]
ENDIF
IF ParticleType[Count] = 1
SETPIXEL ParticleX[Count], ParticleY[Count], ParticleColor[Count]
ENDIF
ENDIF
NEXT
PRINT ParticleNumber, 16, 16
ParticleNumber = bXOR(ParticleNumber, ParticleNumber)
ENDSUB
G:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp: In function `DGInt __GLBASIC__::Edit()':
G:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp:409: error: invalid initialization of reference of type 'DGNat&' from expression of type 'double'
D:/Project/Languages/GLBasic/Compiler/platform/Include/glb.h:829: error: in passing argument 2 of `void __GLBASIC__::READUWORD(DGNat, DGNat&)'
G:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp:413: error: invalid initialization of reference of type 'DGNat&' from expression of type 'double'
D:/Project/Languages/GLBasic/Compiler/platform/Include/glb.h:829: error: in passing argument 2 of `void __GLBASIC__::READUWORD(DGNat, DGNat&)'
G:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp:414: error: invalid initialization of reference of type 'DGNat&' from expression of type 'double'
D:/Project/Languages/GLBasic/Compiler/platform/Include/glb.h:829: error: in passing argument 2 of `void __GLBASIC__::READUWORD(DGNat, DGNat&)'
G:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp:415: error: invalid initialization of reference of type 'DGNat&' from expression of type 'double'
D:/Project/Languages/GLBasic/Compiler/platform/Include/glb.h:829: error: in passing argument 2 of `void __GLBASIC__::READUWORD(DGNat, DGNat&)'
G:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp:416: error: invalid initialization of reference of type 'DGNat&' from expression of type 'double'
D:/Project/Languages/GLBasic/Compiler/platform/Include/glb.h:829: error: in passing argument 2 of `void __GLBASIC__::READUWORD(DGNat, DGNat&)'
G:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp:417: error: invalid initialization of reference of type 'DGNat&' from expression of type 'double'
D:/Project/Languages/GLBasic/Compiler/platform/Include/glb.h:829: error: in passing argument 2 of `void __GLBASIC__::READUWORD(DGNat, DGNat&)'
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
// --------------------------------- //
// Project: GTD
// Start: Sunday, November 09, 2008
// IDE Version: 6.034
SETSCREEN 640, 480, 0
LIMITFPS 60
SYSTEMPOINTER FALSE
LOADSPRITE "Ship01.png", 1
LOADSPRITE "Ship02.png", 2
LOADSPRITE "Light.png", 50
LOADSPRITE "Back01G.png", 100
LOADSPRITE "Brick01B.png", 400
DebugM = 0
Count = 0
CountX = 0
CountY = 0
CountZ = 0
FrameCounter = 0
Init = 0
PI = 3.1415926535
TotalPlayer = 0
CurPlayer = 0
DIM PlayerType[256] // 0 = Unused; 1 = Spectator; 2 = LPlayer1 (Team 0); 3 = LPlayer1 (Team 1)
DIM PlayerShip[256]
DIM PlayerX[256]
DIM PlayerY[256]
DIM PlayerXMove[256]
DIM PlayerYMove[256]
DIM PlayerDir[256]
DIM PlayerMaxHealth[256]
DIM PlayerHealth[256]
DIM PlayerMaxEnergy[256]
DIM PlayerEnergy[256]
DIM PlayerLight[256]
DIM PlayerLightSize[256]
DIM PlayerLightRange[256]
DIM PlayerMainWep[256]
DIM PlayerSubWep[256]
DIM PlayerSpeed[256]
DIM PlayerTurnSpeed[256]
DIM PlayerMisc[256] // 12345678; 1&5 = Stealth; 2&6 = Scanner; 3&7 = UltraStealth; 4&8 = Light
DIM PlayerID$[256]
DIM PlayerName$[256]
DIM PlayerMiscCounter1[256]
DIM PlayerMiscCounter2[256]
DIM PlayerDeathCounter[256]
DIM PlayerDeathCounterStep[256]
BackgroundType = 1
BackgroundNumber = 0
DIM Messages$[8]
DIM MessageAdd$[256]
MessageCounter = 0
DIM BulletType[8192]
DIM BulletSubType[8192]
DIM BulletX[8192]
DIM BulletY[8192]
DIM BulletXMove[8192]
DIM BulletYMove[8192]
DIM BulletAnim[8192]
DIM BulletSpeed[8192]
DIM BulletMove[8192]
DIM BulletDirection[8192]
DIM BlockType[8192]
DIM BlockX[8192]
DIM BlockY[8192]
FOR CountY = 0 TO 1
FOR CountX = 0 TO 8 + CountY * 4
BlockType[CountX*CountY+1] = 400
BlockX[CountX*CountY+1] = CountX*64
BlockY[CountX*CountY+1] = CountY*64
NEXT
NEXT
TotalBase = 1
DIM BaseTeam[32]
DIM BaseHealth[32]
DIM BaseX[32]
DIM BaseY[32]
MainBaseHealthInit = 5000
DIM MainBaseHealth[2]
DIM MainBaseX[2]
DIM MainBaseY[2]
DIM Sinus[360]
DIM CoSinus[360]
FOR Count = 0 TO 359
Sinus[Count] = SIN(Count)
CoSinus[Count] = COS(Count)
NEXT
GameMode = 0
ID$ = ""
IDNum = 0
IP$ = ""
Name$ = ""
NetCount = 250
PRINT "1: Local Game", 16, 16
PRINT "2: Join Game", 16, 32
PRINT "3: Host Game", 16, 48
SHOWSCREEN
WHILE TRUE
IF KEY(2) THEN GameMode = 1
IF KEY(3) THEN GameMode = 2
IF KEY(4) THEN GameMode = 3
IF GameMode > 0 THEN BREAK
WEND
IF GameMode = 2
PRINT "Enter IP Adress:", 16, 16
INPUT IP$, 16, 32
PRINT "Enter your name:", 16, 48
INPUT Name$, 16, 64
IF NETJOINGAME(0, "GTDGame", IP$, "26000")
ID$ = NETCREATEPLAYER$(Name$)
ELSE
PRINT "Error!", 64, 64
SHOWSCREEN
KEYWAIT
END
ENDIF
ENDIF
IF GameMode = 3
PRINT "Enter your name:", 16, 48
INPUT Name$, 16, 64
IF NETHOSTGAME(0, "GTDGame", "", "26000")
ID$ = NETCREATEPLAYER$(Name$)
ELSE
PRINT "Error!", 64, 64
SHOWSCREEN
KEYWAIT
END
ENDIF
ENDIF
WHILE TRUE
IF KEY(1) THEN BREAK
IF NetCount = 250
IF GameMode > 1
IF TotalPlayer <> NETNUMPLAYERS()
TotalPlayer = NETNUMPLAYERS()
FOR Count = 0 TO TotalPlayer-1
PlayerID$[Count] = NETGETPLAYERID$(Count)
PlayerName$[Count] = NETPLAYERNAME$(PlayerID$[Count])
NEXT
IDNum = ID$
NetCount = 0
ENDIF
ELSE
TotalPlayer = 1
ID$ = "0"
IDNum = 0
ENDIF
ELSE
INC NetCount, 1
ENDIF
GOSUB Gameflow
GOSUB Background
GOSUB Map
GOSUB Player
GOSUB Collision
GOSUB Light
IF GameMode > 1
GOSUB Network
ENDIF
GOSUB Messages
INC FrameCounter, 1
SHOWSCREEN
WEND
SUB Gameflow:
IF Init = 0
FOR Count = 0 TO 1
MainBaseHealth[Count] = MainBaseHealthInit
IF MainBaseX[Count] = 0
MainBaseX[Count] = 640/2
ENDIF
IF MainBaseY[Count] = 0
MainBaseY[Count] = 480/2
ENDIF
NEXT
ENDIF
ENDSUB
SUB Background:
ALPHAMODE 0.6
IF BackgroundType = 1
FOR CountY = 0 TO 7
FOR CountX = 0 TO 9
DRAWSPRITE 100+BackgroundNumber, CountX*64, CountY*64
NEXT
NEXT
ENDIF
ENDSUB
SUB Map:
ALPHAMODE 0
FOR Count = 0 TO 8191
IF BlockType[Count] > 0
DRAWSPRITE BlockType[Count], BlockX[Count], BlockY[Count]
ENDIF
NEXT
ENDSUB
SUB Player:
IF KEY(14)
INPUT MessageAdd$[IDNum], 16, 464
MessageAdd$[IDNum] = "S. P. Gardebiter: " + MessageAdd$[IDNum]
ENDIF
IF TotalPlayer > CurPlayer
IF PlayerType[IDNum] = 0
PlayerType[IDNum] = 2
PlayerShip[IDNum] = 1
IF PlayerShip[IDNum] = 1
PlayerLight[IDNum] = 1
PlayerLightSize[IDNum] = 25
PlayerLightRange[IDNum] = 150
PlayerSpeed[IDNum] = 0.1
PlayerTurnSpeed[IDNum] = 4
ENDIF
IF PlayerShip[IDNum] = 2
PlayerLight[IDNum] = 2
PlayerLightSize[IDNum] = 35
PlayerLightRange[IDNum] = 400
PlayerSpeed[IDNum] = 0.02
PlayerTurnSpeed[IDNum] = 2
ENDIF
PlayerMisc[IDNum] = bOR(PlayerMisc[IDNum], 0x01)
INC CurPlayer, 1
ENDIF
ENDIF
FOR Count = 0 TO 255
IF PlayerType[Count] = 2 OR PlayerType[Count] = 3
IF PlayerHealth[Count] > 0
IF KEY(203)
INC PlayerDir[Count], PlayerTurnSpeed[Count]
IF PlayerDir[Count] > 359 THEN DEC PlayerDir[Count], 360
ENDIF
IF KEY(205)
DEC PlayerDir[Count], PlayerTurnSpeed[Count]
IF PlayerDir[Count] < 0 THEN INC PlayerDir[Count], 360
ENDIF
IF KEY(16)
IF bAND(PlayerMisc[Count], 0x01) = 0x01
PlayerMisc[Count] = bAND(PlayerMisc[Count], 0xFE)
ELSE
PlayerMisc[Count] = bOR(PlayerMisc[Count], 0x01)
ENDIF
ENDIF
IF KEY(200)
DEC PlayerXMove[Count], Sinus[PlayerDir[Count]] * PlayerSpeed[Count]
DEC PlayerYMove[Count], CoSinus[PlayerDir[Count]] * PlayerSpeed[Count]
ENDIF
IF KEY(208)
INC PlayerXMove[Count], Sinus[PlayerDir[Count]] * PlayerSpeed[Count]
INC PlayerYMove[Count], CoSinus[PlayerDir[Count]] * PlayerSpeed[Count]
ENDIF
INC PlayerX[Count], PlayerXMove[Count]
INC PlayerY[Count], PlayerYMove[Count]
ALPHAMODE 0
ROTOSPRITE PlayerShip[Count], PlayerX[Count], PlayerY[Count], PlayerDir[Count]
ELSE
IF PlayerDeathCounter[Count] > 4.8
PlayerHealth[Count] = 100
IF PlayerShip[Count] = 1
PlayerX[Count] = MainBaseX[PlayerType[Count]-2]+16
PlayerY[Count] = MainBaseY[PlayerType[Count]-2]+16
ELSEIF PlayerShip[Count] = 2
PlayerX[Count] = MainBaseX[PlayerType[Count]-2]+24
PlayerY[Count] = MainBaseY[PlayerType[Count]-2]+24
ENDIF
ELSE
IF PlayerDeathCounterStep[Count] <= 5
INC PlayerDeathCounterStep[Count], 1
ELSE
INC PlayerDeathCounter[Count], 0.1
ENDIF
PRINT PlayerDeathCounter[Count], 320, 240
ENDIF
ENDIF
ENDIF
NEXT
ENDSUB
SUB Collision:
ENDSUB
SUB Light:
ALPHAMODE 0.5
// STARTPOLY 50
// POLYVECTOR MainBaseX[0]-256, MainBaseX[0]+256, 0, 0, RGB(50, 50, 50)
// POLYVECTOR MainBaseX[0]+256, MainBaseX[0]+256, 31, 0, RGB(50, 50, 50)
// POLYVECTOR MainBaseX[0]+256, MainBaseX[0]-256, 31, 31, RGB(50, 50, 50)
// POLYVECTOR MainBaseX[0]-256, MainBaseX[0]-256, 0, 31, RGB(50, 50, 50)
// ENDPOLY
FOR Count = 0 TO 255
IF PlayerHealth[Count] > 0
ALPHAMODE 0.5
IF PlayerShip[Count] = 1
STARTPOLY 50
POLYVECTOR PlayerX[Count]-32, PlayerY[Count]+64, 0, 0, RGB(100, 100, 100)
POLYVECTOR PlayerX[Count]+64, PlayerY[Count]+64, 31, 0, RGB(100, 100, 100)
POLYVECTOR PlayerX[Count]+64, PlayerY[Count]-32, 31, 31, RGB(100, 100, 100)
POLYVECTOR PlayerX[Count]-32, PlayerY[Count]-32, 0, 31, RGB(100, 100, 100)
ENDPOLY
ELSEIF PlayerShip[Count] = 2
STARTPOLY 50
POLYVECTOR PlayerX[Count]-32, PlayerY[Count]+80, 0, 0, RGB(100, 100, 100)
POLYVECTOR PlayerX[Count]+80, PlayerY[Count]+80, 31, 0, RGB(100, 100, 100)
POLYVECTOR PlayerX[Count]+80, PlayerY[Count]-32, 31, 31, RGB(100, 100, 100)
POLYVECTOR PlayerX[Count]-32, PlayerY[Count]-32, 0, 31, RGB(100, 100, 100)
ENDPOLY
ENDIF
IF PlayerLight[Count] > 0
IF bAND(PlayerMisc[Count], 0x01) = 0x01
IF PlayerLight[Count] = 1
ALPHAMODE 0.75
STARTPOLY -1
POLYVECTOR PlayerX[Count]+16, PlayerY[Count]+16, 0, 0, RGB(100, 100, 100)
POLYVECTOR INTEGER(PlayerLightRange[Count] * COS((PlayerDir[Count]/-1)+PlayerLightSize[Count]-90)) + PlayerX[Count]+16, INTEGER(PlayerLightRange[Count] * SIN((PlayerDir[Count]/-1)+PlayerLightSize[Count]-90)) + PlayerY[Count]+16, 0, 0, RGB(0, 0, 0)
POLYVECTOR INTEGER(PlayerLightRange[Count] * COS((PlayerDir[Count]/-1)-PlayerLightSize[Count]-90)) + PlayerX[Count]+16, INTEGER(PlayerLightRange[Count] * SIN((PlayerDir[Count]/-1)-PlayerLightSize[Count]-90)) + PlayerY[Count]+16, 0, 0, RGB(0, 0, 0)
ENDPOLY
ENDIF
IF PlayerLight[Count] = 2
ALPHAMODE 0.5
STARTPOLY -1
POLYVECTOR PlayerX[Count]+24, PlayerY[Count]+24, 0, 0, RGB(150, 150, 200)
POLYVECTOR INTEGER(PlayerLightRange[Count] * COS((PlayerDir[Count]/-1)+PlayerLightSize[Count]-90)) + PlayerX[Count]+24, INTEGER(PlayerLightRange[Count] * SIN((PlayerDir[Count]/-1)+PlayerLightSize[Count]-90)) + PlayerY[Count]+24, 0, 0, RGB(0, 0, 0)
POLYVECTOR INTEGER(PlayerLightRange[Count] * COS((PlayerDir[Count]/-1)-PlayerLightSize[Count]-90)) + PlayerX[Count]+24, INTEGER(PlayerLightRange[Count] * SIN((PlayerDir[Count]/-1)-PlayerLightSize[Count]-90)) + PlayerY[Count]+24, 0, 0, RGB(0, 0, 0)
ENDPOLY
ENDIF
ENDIF
ENDIF
ENDIF
NEXT
ENDSUB
SUB Network:
FOR Count = 0 TO TotalPlayer-1
PRINT PlayerID$[Count], 16, 256+Count*16
PRINT PlayerName$[Count], 64, 256+Count*16
NEXT
ENDSUB
SUB Messages:
ALPHAMODE 0.75
FOR CountX = 0 TO 255
IF MessageAdd$[CountX] <> ""
FOR Count = 0 TO 7
IF Messages$[Count] = ""
Messages$[Count] = MessageAdd$[CountX]
MessageAdd$[CountX] = ""
MessageCounter = 350
BREAK
ENDIF
NEXT
IF MessageAdd$[CountX] <> ""
FOR Count = 0 TO 6
Messages$[Count] = Messages$[Count+1]
Messages$[7] = MessageAdd$[CountX]
MessageAdd$[CountX] = ""
MessageCounter = 350
NEXT
ENDIF
ENDIF
NEXT
FOR Count = 0 TO 7
IF Messages$[Count] <> ""
PRINT Messages$[Count], 16, 16*Count+16
IF MessageCounter = 0
MessageCounter = 350
ENDIF
ENDIF
NEXT
IF MessageCounter > 1
DEC MessageCounter, 1
ELSE
FOR Count = 0 TO 6
Messages$[Count] = Messages$[Count+1]
NEXT
MessageCounter = 0
ENDIF
ENDSUB
// --------------------------------- //
// Project: Frequency Modulation Music 44
// Start: Sunday, October 12, 2008
// IDE Version: 5.360
Count = 0
CountX = 0
CountY = 0
SampleRate = 44100
TotalLength = 0
// Für Noten und erzeugung des Tones
DIM Volume[8192]
DIM Frequency[8192]
DIM Length[8192]
DIM Volume[8192]
DIM Note[120]
DIM Samples[13230000][2]
// Für die Frequenz Modulations Synthese
DIM FMS[16]
DIM FMFrequency[16]
DIM FMFineTune[16]
DIM FMShift[16]
DIM FMVolume[16]
// Noten, Notenlänge und Lautstärke definieren
Frequency[0] = 39
Frequency[1] = 42
Frequency[2] = 44
Frequency[3] = 46
Frequency[4] = 47
Frequency[5] = 51
Frequency[6] = 44
Frequency[7] = 51
Frequency[8] = 56
Frequency[9] = 58
Frequency[10] = 59
Frequency[11] = 56
Frequency[12] = 58
Frequency[13] = 54
Frequency[14] = 51
Frequency[15] = 44
Frequency[16] = 46
Frequency[17] = 47
Frequency[18] = 51
Frequency[19] = 44
Frequency[20] = 43
Frequency[21] = 44
Frequency[22] = 46
Frequency[23] = 47
Frequency[24] = 51
Frequency[25] = 47
Frequency[26] = 46
Frequency[27] = 44
Frequency[28] = 46
Frequency[29] = 47
Frequency[30] = 49
Frequency[31] = 51
Frequency[32] = 54
Frequency[33] = 56
Length[0] = 2
Length[1] = 2
Length[2] = 8
Length[3] = 2
Length[4] = 2
Length[5] = 4
Length[6] = 10
Length[7] = 2
Length[8] = 2
Length[9] = 2
Length[10] = 4
Length[11] = 4
Length[12] = 4
Length[13] = 4
Length[14] = 16
Length[15] = 8
Length[16] = 2
Length[17] = 2
Length[18] = 4
Length[19] = 8
Length[20] = 8
Length[21] = 2
Length[22] = 2
Length[23] = 2
Length[24] = 2
Length[25] = 2
Length[26] = 2
Length[27] = 2
Length[28] = 2
Length[29] = 2
Length[30] = 2
Length[31] = 2
Length[32] = 2
Length[33] = 8
Volume[0] = 20000
Volume[1] = 20000
Volume[2] = 20000
Volume[3] = 20000
Volume[4] = 20000
Volume[5] = 20000
Volume[6] = 20000
Volume[7] = 20000
Volume[8] = 20000
Volume[9] = 20000
Volume[10] = 20000
Volume[11] = 20000
Volume[12] = 20000
Volume[13] = 20000
Volume[14] = 20000
Volume[15] = 20000
Volume[16] = 20000
Volume[17] = 20000
Volume[18] = 20000
Volume[19] = 20000
Volume[20] = 20000
Volume[21] = 20000
Volume[22] = 20000
Volume[23] = 20000
Volume[24] = 20000
Volume[25] = 20000
Volume[26] = 20000
Volume[27] = 20000
Volume[28] = 20000
Volume[29] = 20000
Volume[30] = 20000
Volume[31] = 20000
Volume[32] = 20000
Volume[33] = 20000
// Notenfrequenz
Note[0] = 27.5
FOR Count = 1 TO 119
Note[Count] = 1.059463094359 * Note[Count-1]
NEXT
// Für die Modulationssynthese: Frequenz, Phasenverschiebung und Lautstärke
FMFrequency[0] = 12
FMFrequency[1] = -12
FMFrequency[2] = 0
FMShift[0] = 0
FMShift[1] = 50
FMShift[2] = 0
FMVolume[0] = 1
FMVolume[1] = 1
FMVolume[2] = 0.5
FOR Count = 0 TO 33
INC TotalLength, Length[Count][0]
NEXT
REDIM Samples[TotalLength*44100/10][2]
IF OPENFILE(1, "Output.wav", FALSE) // Save output
// Nach diesem Code hier wird nichts mehr gespeichert:
FOR CountX = 0 TO 33
FOR CountY = 0 TO Length[CountX][0] * 44100 / 10
INC Count, 1
FMS[0] = (SIN(360/SampleRate*Count*Note[Frequency[CountX]+FMFrequency[0]]+FMShift[0])*Volume[CountX]*FMVolume[0])
FMS[1] = (SIN(360/SampleRate*Count*Note[Frequency[CountX]+FMFrequency[1]]+FMShift[1])*Volume[CountX]*FMVolume[1])
FMS[2] = SIN(360/SampleRate*Count*Note[Frequency[CountX]+FMFrequency[2]]+FMShift[2])
IF FMS[2] >= 0
FMS[2] = (1*Volume[CountX]*FMVolume[2])
ELSE
FMS[2] = (0*Volume[CountX]*FMVolume[2])
ENDIF
Samples[Count][1] = (FMS[0]+FMS[1]+FMS[2])/3
Samples[Count][0] = Samples[Count][1]
NEXT
NEXT
WRITEBYTE 1, 5 // Wird ignoriert und nicht als Datei gespeichert...
ENDIF