1
0
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:
David Schmenk
2020-01-07 16:08:48 -08:00
parent 09d861e5a5
commit 0c57570d4a
7 changed files with 289 additions and 263 deletions
+18 -19
View File
@@ -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
+1 -1
View File
@@ -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