Objects
[Video]
Defines | |
| #define | OAM_CLEAR() memset32(oam_mem, 0, OAM_SIZE/4) |
Functions | |
| void | oam_init (OBJ_ATTR *obj, uint count) |
| Initialize an array of count OBJ_ATTRs with with safe values. | |
| INLINE void | oam_copy (OBJ_ATTR *dst, const OBJ_ATTR *src, uint count) |
| Copies count OAM entries from src to dst. | |
| INLINE OBJ_ATTR * | obj_set_attr (OBJ_ATTR *obj, u16 a0, u16 a1, u16 a2) |
| Set the attributes of an object. | |
| INLINE void | obj_set_pos (OBJ_ATTR *obj, int x, int y) |
| Set the position of obj. | |
| INLINE void | obj_hide (OBJ_ATTR *obj) |
| Hide an object. | |
| INLINE void | obj_unhide (OBJ_ATTR *obj, u16 mode) |
| Unhide an object. | |
| INLINE const u8 * | obj_get_size (const OBJ_ATTR *obj) |
| Get object's sizes as a byte array. | |
| INLINE int | obj_get_width (const OBJ_ATTR *obj) |
| Get object's width. | |
| INLINE int | obj_get_height (const OBJ_ATTR *obj) |
| Gets object's height. | |
| void | obj_copy (OBJ_ATTR *dst, const OBJ_ATTR *src, uint count) |
| Copy attributes 0-2 in count OBJ_ATTRs. | |
| void | obj_hide_multi (OBJ_ATTR *obj, u32 count) |
| Hide an array of OBJ_ATTRs. | |
| void | obj_unhide_multi (OBJ_ATTR *obj, u16 mode, uint count) |
| void | obj_aff_copy (OBJ_AFFINE *dst, const OBJ_AFFINE *src, uint count) |
| INLINE void | obj_aff_set (OBJ_AFFINE *oaff, FIXED pa, FIXED pb, FIXED pc, FIXED pd) |
| Set the elements of an object affine matrix. | |
| INLINE void | obj_aff_identity (OBJ_AFFINE *oaff) |
| Set an object affine matrix to the identity matrix. | |
| INLINE void | obj_aff_scale (OBJ_AFFINE *oaff, FIXED sx, FIXED sy) |
| Set an object affine matrix for scaling. | |
| INLINE void | obj_aff_shearx (OBJ_AFFINE *oaff, FIXED hx) |
| INLINE void | obj_aff_sheary (OBJ_AFFINE *oaff, FIXED hy) |
| void | obj_aff_rotate (OBJ_AFFINE *oaff, u16 alpha) |
| Set obj matrix to counter-clockwise rotation. | |
| void | obj_aff_rotscale (OBJ_AFFINE *oaff, FIXED sx, FIXED sy, u16 alpha) |
| Set obj matrix to 2d scaling, then counter-clockwise rotation. | |
| void | obj_aff_premul (OBJ_AFFINE *dst, const OBJ_AFFINE *src) |
| Pre-multiply dst by src: D = S*D. | |
| void | obj_aff_postmul (OBJ_AFFINE *dst, const OBJ_AFFINE *src) |
| Post-multiply dst by src: D= D*S. | |
| void | obj_aff_rotscale2 (OBJ_AFFINE *oaff, const AFF_SRC *as) |
| Set obj matrix to 2d scaling, then counter-clockwise rotation. | |
| void | obj_rotscale_ex (OBJ_ATTR *obj, OBJ_AFFINE *oaff, const AFF_SRC_EX *asx) |
| Rot/scale an object around an arbitrary point. | |
| INLINE void | obj_aff_scale_inv (OBJ_AFFINE *oa, FIXED wx, FIXED wy) |
| INLINE void | obj_aff_rotate_inv (OBJ_AFFINE *oa, u16 theta) |
| INLINE void | obj_aff_shearx_inv (OBJ_AFFINE *oa, FIXED hx) |
| INLINE void | obj_aff_sheary_inv (OBJ_AFFINE *oa, FIXED hy) |
Detailed Description
Define Documentation
| #define OAM_CLEAR | ( | ) | memset32(oam_mem, 0, OAM_SIZE/4) |
Function Documentation
| void obj_aff_rotate | ( | OBJ_AFFINE * | oaff, | |
| u16 | alpha | |||
| ) |
Set obj matrix to counter-clockwise rotation.
- Parameters:
-
oaff Object affine struct to set. alpha CCW angle. full-circle is 10000h.
| void obj_aff_rotscale | ( | OBJ_AFFINE * | oaff, | |
| FIXED | sx, | |||
| FIXED | sy, | |||
| u16 | alpha | |||
| ) |
Set obj matrix to 2d scaling, then counter-clockwise rotation.
- Parameters:
-
oaff Object affine struct to set. sx Horizontal scale (zoom). .8 fixed point. sy Vertical scale (zoom). .8 fixed point. alpha CCW angle. full-circle is 10000h.
| void obj_aff_rotscale2 | ( | OBJ_AFFINE * | oaff, | |
| const AFF_SRC * | as | |||
| ) |
Set obj matrix to 2d scaling, then counter-clockwise rotation.
- Parameters:
-
oaff Object affine struct to set. as Struct with scales and angle.
| void obj_rotscale_ex | ( | OBJ_ATTR * | obj, | |
| OBJ_AFFINE * | oaff, | |||
| const AFF_SRC_EX * | asx | |||
| ) |
Rot/scale an object around an arbitrary point.
Sets up obj and oaff for rot/scale transformation around an arbitrary point using the asx data.
- Parameters:
-
obj Object to set. oaff Object affine data to set. asx Affine source data: screen and texture origins, scales and angle.
| INLINE void obj_unhide | ( | OBJ_ATTR * | obj, | |
| u16 | mode | |||
| ) |
Unhide an object.
- Parameters:
-
obj Object to unhide. mode Object mode to unhide to. Necessary because this affects the affine-ness of the object.
Generated on Mon Aug 25 17:03:57 2008 for libtonc by
1.5.3