mirror of
https://github.com/dschmenk/PLASMA.git
synced 2026-04-21 07:17:03 +00:00
Pre-compile sprites and more animations and audio
This commit is contained in:
@@ -137,8 +137,8 @@ export def spriteCompile(w, h, xcenter, ycenter, srcptr)#1
|
||||
sprtptr->s_height = h
|
||||
sprtptr->s_xcenter = xcenter
|
||||
sprtptr->s_ycenter = ycenter
|
||||
sprtptr=>s_under[0] = 0//heapalloc(spritesize)
|
||||
sprtptr=>s_under[1] = 0//heapalloc(spritesize)
|
||||
sprtptr=>s_under[0] = 0
|
||||
sprtptr=>s_under[1] = 0
|
||||
for i = 0 to 13
|
||||
sprtptr=>s_map[i] = heapalloc(spritesize)
|
||||
sprtptr=>s_mask[i] = heapalloc(spritesize)
|
||||
@@ -158,15 +158,14 @@ export def spriteCompile(w, h, xcenter, ycenter, srcptr)#1
|
||||
return sprtptr
|
||||
end
|
||||
export def spriteDup(sprtsrc)#1
|
||||
var sprtdup, spritesize
|
||||
var sprtdup
|
||||
byte i
|
||||
|
||||
sprtdup = heapalloc(t_sprite)
|
||||
if not sprtdup; return 0; fin
|
||||
memcpy(sprtdup, sprtsrc, t_sprite)
|
||||
//spritesize = sprtdup=>s_size
|
||||
sprtdup=>s_under[0] = 0//heapalloc(spritesize)
|
||||
sprtdup=>s_under[1] = 0//heapalloc(spritesize)
|
||||
sprtdup=>s_under[0] = 0
|
||||
sprtdup=>s_under[1] = 0
|
||||
return sprtdup
|
||||
end
|
||||
export def spriteRead(filestr)#1
|
||||
@@ -175,20 +174,20 @@ export def spriteRead(filestr)#1
|
||||
|
||||
sprtptr = heapalloc(t_sprite)
|
||||
if not sprtptr; return 0; fin
|
||||
refnum = fileio:open(@filestr)
|
||||
refnum = fileio:open(filestr)
|
||||
if refnum
|
||||
if fileio:read(refnum, sprtptr, t_sprite) == t_sprite
|
||||
spritesize = sprtptr=>s_size
|
||||
sprtptr=>s_under[0] = heapalloc(spritesize)
|
||||
sprtptr=>s_under[1] = heapalloc(spritesize)
|
||||
if not sprtptr=>s_under[0] or not sprtptr=>s_under[1]
|
||||
heaprelease(sprtptr)
|
||||
fileio:close(refnum)
|
||||
return 0
|
||||
fin
|
||||
sprtptr=>s_under[0] = 0
|
||||
sprtptr=>s_under[1] = 0
|
||||
for i = 0 to 13
|
||||
sprtptr=>s_map[i] = 0//heapalloc(spritesize)
|
||||
sprtptr=>s_mask[i] = 0//heapalloc(spritesize)
|
||||
sprtptr=>s_map[i] = heapalloc(spritesize)
|
||||
sprtptr=>s_mask[i] = heapalloc(spritesize)
|
||||
if not sprtptr=>s_map[i] or not sprtptr=>s_mask[i]
|
||||
heaprelease(sprtptr)
|
||||
fileio:close(refnum)
|
||||
return 0
|
||||
fin
|
||||
fileio:read(refnum, sprtptr=>s_map[i], spritesize)
|
||||
fileio:read(refnum, sprtptr=>s_mask[i], spritesize)
|
||||
next
|
||||
@@ -207,9 +206,9 @@ export def spriteSave(filestr, sprtptr)#1
|
||||
var spritesize
|
||||
byte refnum, i
|
||||
|
||||
fileio:destroy(@filestr)
|
||||
if fileio:create(@filestr, $06, $0000) == FILE_ERR_OK
|
||||
refnum = fileio:open(@filestr)
|
||||
fileio:destroy(filestr)
|
||||
if fileio:create(filestr, $06, $0000) == FILE_ERR_OK
|
||||
refnum = fileio:open(filestr)
|
||||
if refnum
|
||||
if fileio:write(refnum, sprtptr, t_sprite) == t_sprite
|
||||
spritesize = sprtptr=>s_size
|
||||
|
||||
@@ -305,7 +305,7 @@ TONELP SBC #$01 ; 2
|
||||
;+4 = 11 (from BNE above)
|
||||
|
||||
+++ BIT $C000 ; 4
|
||||
BMI TONEXIT ; 2
|
||||
NOP ; 2
|
||||
BPL TONELP ; 3
|
||||
;---
|
||||
;+9 = 20
|
||||
|
||||
Reference in New Issue
Block a user