here's an example of my actual weapon draw code, wich is probably needlesly "drawn out"
state flamethrower_display
switch weaponcount
case 0
ifinwater nullop else
{
setvar digz 32768
setvar digx 175 // was 150
setvar digy 200
setvar shade -127
setvar picnum 3864 // flame!
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal 1 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 250
setvar picnum 3863
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
// fire
case 1 case 2
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5552 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
case 3 case 4
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5553 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
case 5 case 6
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5554 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
case 7 case 8
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5555 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
case 9 case 10
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5556 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
case 11 case 12
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5557 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
case 13 case 14
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5558 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
case 15 case 16
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5559 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
case 17 case 18
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5560 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
case 19 case 20
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5561 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
case 21 case 22
ifinwater nullop else
{
setvar digz 32768
setvar digx 170
setvar digy 215
setvar shade -127
setvar picnum 5562 // flame
// setvar orientation 33
state initweapondisplay
rotatesprite digx digy digz -192 picnum shade pal orientation 0 0 xdim ydim
}
// break
setvar digz 32768
setvar digx 240
setvar digy 260
setvar picnum 3868
setvar orientation 0
state initweapondisplay
rotatesprite digx digy digz angvar picnum shade pal orientation 0 0 xdim ydim
break
endswitch
ends
// end flamethrower
but that gives an idea how it looks like
[edit] well right now im setting the total time to the fire animation and the racking combined, and then i will set another bunch of frames for the reload animation. so far this seems to work(ish)

Help
Duke4.net
DNF #1
Duke 3D #1



