;############## CMonster by Patrick Davidson (data structures) #define rs(size) =rscount \ #define rscount eval(rscount + size) ;############## High score storage definitions SCORELEN =6 NAME_LEN =26 SCORE_COUNT =12 ENTRYLEN =SCORELEN + NAME_LEN + 1 TABLE_SIZE =ENTRYLEN * SCORE_COUNT #ifdef TI84CE high_scores =saveSScreen+21945-TABLE_SIZE #else high_scores =statVars #endif high_scores_end =high_scores + TABLE_SIZE last_score =high_scores_end - ENTRYLEN ;############## Ball data structures for objects in arrays #define rscount 0 ball_type rs( 1) ; player bullet structure ball_x rs( 1) ball_y rs( 1) ball_dir rs( 1) ball_xfrac rs( 1) ball_yfrac rs( 1) ball_size rs( 0) ball_count =3 ;############## Allocation of storage within saveSScreen #ifdef TI84CE #define rscount $D10800 ; inside saveSScreen #define datamax high_scores #else #define rscount saveSScreen #define datamax saveSScreen+768 #endif saved_flag rs( 1) data_start rs( 0) delay_amount rs( 1) bounce_count rs( 1) expanded_flag rs( 1) p_x rs( 1) bonus_type rs( 1) bonus_x rs( 1) bonus_y rs( 1) plimit rs( 1) balls rs( ball_size*ball_count) map rs( 320) rand_inc rs( 1) rand_counter rs( 1) score_inc rs( 1) lives rs( 1) level rs( 1) hit_corner rs( 1) score rs( 7) data_end rs( 0) wait_count rs( WORDLEN) brick_count rs( WORDLEN) since_bounce rs( WORDLEN) all_data_end rs( 0) #if rscount > (datamax) .error "!!!!!!!!!!!!!!!! data structure is oversized" #endif