mirror of
https://github.com/italicsjenga/agb.git
synced 2024-12-23 08:11:33 +11:00
Jam 2024 changes (#752)
- [ ] Changelog updated / no changelog update needed
This commit is contained in:
commit
d617bd10d0
|
@ -90,13 +90,20 @@ type AffineMatrixElement = Num<i32, 8>;
|
|||
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
||||
/// An affine matrix stored in a way that is efficient for the GBA to perform
|
||||
/// operations on. This implements multiplication.
|
||||
///
|
||||
/// ```txt
|
||||
/// a b x
|
||||
/// c d y
|
||||
/// 0 0 0
|
||||
/// ```
|
||||
#[allow(missing_docs)]
|
||||
pub struct AffineMatrix {
|
||||
a: AffineMatrixElement,
|
||||
b: AffineMatrixElement,
|
||||
c: AffineMatrixElement,
|
||||
d: AffineMatrixElement,
|
||||
x: AffineMatrixElement,
|
||||
y: AffineMatrixElement,
|
||||
pub a: AffineMatrixElement,
|
||||
pub b: AffineMatrixElement,
|
||||
pub c: AffineMatrixElement,
|
||||
pub d: AffineMatrixElement,
|
||||
pub x: AffineMatrixElement,
|
||||
pub y: AffineMatrixElement,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
|
@ -318,11 +325,17 @@ impl From<AffineMatrixBackground> for AffineMatrix {
|
|||
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
||||
#[repr(C, packed(4))]
|
||||
/// An affine matrix that can be used in affine objects
|
||||
///
|
||||
/// ```txt
|
||||
/// a b
|
||||
/// c d
|
||||
/// ```
|
||||
#[allow(missing_docs)]
|
||||
pub struct AffineMatrixObject {
|
||||
a: Num<i16, 8>,
|
||||
b: Num<i16, 8>,
|
||||
c: Num<i16, 8>,
|
||||
d: Num<i16, 8>,
|
||||
pub a: Num<i16, 8>,
|
||||
pub b: Num<i16, 8>,
|
||||
pub c: Num<i16, 8>,
|
||||
pub d: Num<i16, 8>,
|
||||
}
|
||||
|
||||
impl Default for AffineMatrixObject {
|
||||
|
|
|
@ -432,7 +432,7 @@ impl AffineMap {
|
|||
vram: &mut VRamManager,
|
||||
pos: impl Into<Vector2D<u16>>,
|
||||
tileset: &TileSet<'_>,
|
||||
tile_id: u8,
|
||||
tile_index: u16,
|
||||
) {
|
||||
let pos = self.map_size().gba_offset(pos.into());
|
||||
let colours = self.colours();
|
||||
|
@ -442,8 +442,6 @@ impl AffineMap {
|
|||
vram.remove_tile(old_tile.tile_index(colours));
|
||||
}
|
||||
|
||||
let tile_index = tile_id as u16;
|
||||
|
||||
let new_tile = if tile_index != TRANSPARENT_TILE_INDEX {
|
||||
let new_tile_idx = vram.add_tile(tileset, tile_index);
|
||||
Tile::new(new_tile_idx, TileSetting(0))
|
||||
|
|
Loading…
Reference in a new issue