
constif NULL=0
constif FALSE=0
constif TRUE=1

function oadata()
	valuexu sprites#1
	dataxu sprites_size#1 ;#1(root)+ui16 *: ,for free

	#these are pointers to actions
	valuexu functions#1   #is this in conflict with for3 same sign? no, there will be another offset, remembering that offset at functions is at start
	dataxu functions_size#1  #anyway is using a counter at appending (preferred instead of null), DefineFunction is at minimum 8 same as : then swfsizeui32 minus some tags
	#can stay outside, anyway is good for info
	#dtitles has a constant pool end recognizer for frame_one(ainit,button)/frame
	#for functions, dtitles has a push/pop recognizer

	valueu marks#1
	valueu size#1
	#anyway, a while(true){stop();break;} is only 1 byte, 7fff... from src a tag, 2 ints a mark struct
	#Subclause 6.7.2.1 of the C Standard states, "There may be unnamed padding within a structure object, but not at its beginning" [ISO/IEC 9899:2011].
	#__attribute__((aligned (16))) will do that
end
function sprite()
	valuexu aframe#1

	valuexu frames#1
	dataxu size#1    #same as presprite. for free, and when adding at last frame
end
function frame()
	valueu lines#1
	valueu total#1  #if outside is command like, break 100 from only 50 will fast tell if is an error. and with this occasion, for free
	vstrx text#1    #not null ended text
	valueu size#1   #for fast
end
function line()
	valueu index#1    #same as lines total

	valueu actions#1
	dataxu total#1   #nr of actions, can also be 0
end
const action_next_default=NULL
const action_nextif_default=NULL
const action_mark_default=-1
const no_flags=0x0
const if_flag=0x1     #f
const call_flag=0x2   #c
const return_flag=0x4 #r
function action()
	valuexu next#1      #at log e if default
	valuexu nextif#1    #at log i if not default
	charx flags#1
	datax amark#1       #at log m if not default
end
function mark()
	datax prev#1
	datax next#1
end
