summaryrefslogtreecommitdiff
path: root/engine/routines/flagpredef.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/routines/flagpredef.asm')
-rw-r--r--engine/routines/flagpredef.asm70
1 files changed, 0 insertions, 70 deletions
diff --git a/engine/routines/flagpredef.asm b/engine/routines/flagpredef.asm
deleted file mode 100644
index 2a6d91ee1..000000000
--- a/engine/routines/flagpredef.asm
+++ /dev/null
@@ -1,70 +0,0 @@
-SmallFarFlagAction: ; 4d7c1
-; Perform action b on bit c in flag array hl.
-; If checking a flag, check flag array d:hl unless d is 0.
-
-; For longer flag arrays, see FlagAction.
-
- push hl
- push bc
-
-; Divide by 8 to get the byte we want.
- push bc
- srl c
- srl c
- srl c
- ld b, 0
- add hl, bc
- pop bc
-
-; Which bit we want from the byte
- ld a, c
- and 7
- ld c, a
-
-; Shift left until we can mask the bit
- ld a, 1
- jr z, .shifted
-.shift
- add a
- dec c
- jr nz, .shift
-.shifted
- ld c, a
-
-; What are we doing to this flag?
- dec b
- jr z, .set ; 1
- dec b
- jr z, .check ; 2
-
-.reset
- ld a, c
- cpl
- and [hl]
- ld [hl], a
- jr .done
-
-.set
- ld a, [hl]
- or c
- ld [hl], a
- jr .done
-
-.check
- ld a, d
- cp 0
- jr nz, .farcheck
-
- ld a, [hl]
- and c
- jr .done
-
-.farcheck
- call GetFarByte
- and c
-
-.done
- pop bc
- pop hl
- ld c, a
- ret