ref: 6a6ba10315baf4b0092c6d952a2f0cb502b6ac8e
parent: 5a5f5ececdde2c4c62bdee649d8b1d3edba96fed
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Sat Mar 21 10:01:05 EDT 2020
rgbds supports 'X - 1' instead of 'X + -1'
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -1294,7 +1294,7 @@
; load ptr to sample header in wNoiseSampleAddress
; are we on the last channel?
ld a, [wCurChannel]
- and NUM_MUSIC_CHANS + -1
+ and NUM_MUSIC_CHANS - 1
cp CHAN4
; ret if not
ret nz
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -61,10 +61,10 @@
const STAT_DEF
const STAT_SPD
const STAT_SATK
-NUM_EXP_STATS EQU const_value + -1
+NUM_EXP_STATS EQU const_value - 1
const STAT_SDEF
-NUM_STATS EQU const_value + -1
-NUM_BATTLE_STATS EQU NUM_STATS + -1 ; don't count HP
+NUM_STATS EQU const_value - 1
+NUM_BATTLE_STATS EQU NUM_STATS - 1 ; don't count HP
; stat formula constants
STAT_MIN_NORMAL EQU 5
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -287,7 +287,7 @@
add_mt FLAMETHROWER
add_mt THUNDERBOLT
add_mt ICE_BEAM
-NUM_TM_HM_TUTOR EQU __enum__ + -1
+NUM_TM_HM_TUTOR EQU __enum__ - 1
const ITEM_FA ; fa
--- a/constants/move_constants.asm
+++ b/constants/move_constants.asm
@@ -257,7 +257,7 @@
const ROCK_SMASH ; f9
const WHIRLPOOL ; fa
const BEAT_UP ; fb
-NUM_ATTACKS EQU const_value + -1
+NUM_ATTACKS EQU const_value - 1
const MOVE_OR_ANIM_FC ; fc
const MOVE_OR_ANIM_FD ; fd
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -271,7 +271,7 @@
const LUGIA ; f9
const HO_OH ; fa
const CELEBI ; fb
-NUM_POKEMON EQU const_value + -1
+NUM_POKEMON EQU const_value - 1
const MON_FC ; fc
const EGG ; fd
const MON_FE ; fe
@@ -311,4 +311,4 @@
const UNOWN_X ; 24
const UNOWN_Y ; 25
const UNOWN_Z ; 26
-NUM_UNOWN EQU const_value + -1 ; 26
+NUM_UNOWN EQU const_value - 1 ; 26
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -124,7 +124,7 @@
NUM_BOXES EQU 14
; hall of fame
-HOF_MON_LENGTH EQU 1 + 2 + 2 + 1 + (MON_NAME_LENGTH + -1) ; species, id, dvs, level, nick
+HOF_MON_LENGTH EQU 1 + 2 + 2 + 1 + (MON_NAME_LENGTH - 1) ; species, id, dvs, level, nick
HOF_LENGTH EQU 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
NUM_HOF_TEAMS EQU 30
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -224,7 +224,7 @@
const FRUITTREE_PEWTER_CITY_1 ; 1c
const FRUITTREE_PEWTER_CITY_2 ; 1d
const FRUITTREE_FUCHSIA_CITY ; 1e
-NUM_FRUIT_TREES EQU const_value + -1
+NUM_FRUIT_TREES EQU const_value - 1
; describedecoration arguments
; DescribeDecoration.JumpTable indexes (see engine/overworld/decorations.asm)
--- a/data/maps/attributes.asm
+++ b/data/maps/attributes.asm
@@ -38,7 +38,7 @@
endc
if "\1" == "north"
-_blk = \3_WIDTH * (\3_HEIGHT + -3) + _src
+_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src
_map = _tgt
_win = (\3_WIDTH + 6) * \3_HEIGHT + 1
_y = \3_HEIGHT * 2 - 1
@@ -60,9 +60,9 @@
endc
elif "\1" == "west"
-_blk = (\3_WIDTH * _src) + \3_WIDTH + -3
+_blk = (\3_WIDTH * _src) + \3_WIDTH - 3
_map = (CURRENT_MAP_WIDTH + 6) * _tgt
-_win = (\3_WIDTH + 6) * 2 + -6
+_win = (\3_WIDTH + 6) * 2 - 6
_y = (\4) * -2
_x = \3_WIDTH * 2 - 1
_len = CURRENT_MAP_HEIGHT + 3 - (\4)
--- a/data/wild/roammon_maps.asm
+++ b/data/wild/roammon_maps.asm
@@ -4,7 +4,7 @@
roam_map: MACRO
map_id \1
db _NARG - 1
-rept _NARG + -1
+rept _NARG - 1
map_id \2
shift
endr
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -1840,8 +1840,8 @@
ld hl, wPlayerName
--rept NAME_LENGTH_JAPANESE + -2 ; should be PLAYER_NAME_LENGTH + -2
-+rept PLAYER_NAME_LENGTH + -2
+-rept NAME_LENGTH_JAPANESE - 2 ; should be PLAYER_NAME_LENGTH - 2
++rept PLAYER_NAME_LENGTH - 2
ld a, [de]
cp [hl]
jr nz, .notfound
--- a/engine/battle_anims/anim_commands.asm
+++ b/engine/battle_anims/anim_commands.asm
@@ -244,7 +244,7 @@
ld a, [hl]
and $ff ^ (PALETTE_MASK | VRAM_BANK_1) ; PAL_BATTLE_OB_ENEMY (0)
ld [hli], a
-rept SPRITEOAMSTRUCT_LENGTH + -1
+rept SPRITEOAMSTRUCT_LENGTH - 1
inc hl
endr
dec c
--- a/engine/events/battle_tower/battle_tower.asm
+++ b/engine/events/battle_tower/battle_tower.asm
@@ -395,10 +395,10 @@
ld a, [hl]
and a
x = $ff
-rept ($ff + -NUM_POKEMON)
+rept ($ff - NUM_POKEMON)
jr z, .invalid
cp x
-x = x + -1
+x = x - 1
endr
jr nz, .valid
--- a/engine/events/bug_contest/judging.asm
+++ b/engine/events/bug_contest/judging.asm
@@ -211,7 +211,7 @@
CopyTempContestant:
; Could've just called CopyBytes.
ld de, wBugContestTempWinnerID
-rept BUG_CONTESTANT_SIZE + -1
+rept BUG_CONTESTANT_SIZE - 1
ld a, [de]
inc de
ld [hli], a
--- a/engine/events/celebi.asm
+++ b/engine/events/celebi.asm
@@ -57,7 +57,7 @@
ld c, 4
.OAMloop:
ld [hli], a ; tile id
-rept SPRITEOAMSTRUCT_LENGTH + -1
+rept SPRITEOAMSTRUCT_LENGTH - 1
inc hl
endr
inc a
--- a/engine/events/field_moves.asm
+++ b/engine/events/field_moves.asm
@@ -383,7 +383,7 @@
ld c, 4
.OAMloop
ld [hli], a ; tile id
-rept SPRITEOAMSTRUCT_LENGTH + -1
+rept SPRITEOAMSTRUCT_LENGTH - 1
inc hl
endr
inc a
--- a/engine/events/print_unown_2.asm
+++ b/engine/events/print_unown_2.asm
@@ -98,10 +98,10 @@
gbprinterrect: MACRO
y = 0
rept \1
-x = \1 * (\2 + -1) + y
+x = \1 * (\2 - 1) + y
rept \2
dw wGameboyPrinterRAM tile x
-x = x + -\2
+x = x - \2
endr
y = y + 1
endr
--- a/engine/games/slot_machine.asm
+++ b/engine/games/slot_machine.asm
@@ -261,7 +261,7 @@
ld a, [hl]
xor %00100000
ld [hli], a ; tile id
-rept SPRITEOAMSTRUCT_LENGTH + -1
+rept SPRITEOAMSTRUCT_LENGTH - 1
inc hl
endr
dec c
--- a/engine/gfx/pic_animation.asm
+++ b/engine/gfx/pic_animation.asm
@@ -538,7 +538,7 @@
poke_anim_box: MACRO
y = 7
rept \1
-x = 7 + -\1
+x = 7 - \1
rept \1
db x + y
x = x + 1
--- a/engine/menus/options_menu.asm
+++ b/engine/menus/options_menu.asm
@@ -114,7 +114,7 @@
ld a, c ; right pressed
cp OPT_TEXT_SPEED_SLOW
jr c, .Increase
- ld c, OPT_TEXT_SPEED_FAST + -1
+ ld c, OPT_TEXT_SPEED_FAST - 1
.Increase:
inc c
--- a/engine/movie/crystal_intro.asm
+++ b/engine/movie/crystal_intro.asm
@@ -1796,9 +1796,9 @@
hue = 31
rept 8
RGB hue, hue, hue
-hue = hue + -1
+hue = hue - 1
RGB hue, hue, hue
-hue = hue + -2
+hue = hue - 2
endr
.SlowFadePalettes:
@@ -1805,7 +1805,7 @@
hue = 31
rept 16
RGB hue, hue, hue
-hue = hue + -1
+hue = hue - 1
endr
Intro_LoadTilemap:
--- a/engine/movie/evolution_animation.asm
+++ b/engine/movie/evolution_animation.asm
@@ -339,7 +339,7 @@
ld a, [hl]
or b
ld [hli], a ; attributes
-rept SPRITEOAMSTRUCT_LENGTH + -1
+rept SPRITEOAMSTRUCT_LENGTH - 1
inc hl
endr
dec c
--- a/engine/movie/title.asm
+++ b/engine/movie/title.asm
@@ -356,7 +356,7 @@
ld a, [hl]
add 2
ld [hli], a ; y
-rept SPRITEOAMSTRUCT_LENGTH + -1
+rept SPRITEOAMSTRUCT_LENGTH - 1
inc hl
endr
dec c
--- a/engine/pokemon/bills_pc.asm
+++ b/engine/pokemon/bills_pc.asm
@@ -1472,7 +1472,7 @@
inc hl
ld [de], a ; y
inc de
-rept SPRITEOAMSTRUCT_LENGTH + -1
+rept SPRITEOAMSTRUCT_LENGTH - 1
ld a, [hli]
ld [de], a
inc de
@@ -1520,7 +1520,7 @@
inc hl
ld [de], a ; y
inc de
-rept SPRITEOAMSTRUCT_LENGTH + -1
+rept SPRITEOAMSTRUCT_LENGTH - 1
ld a, [hli]
ld [de], a
inc de
--- a/engine/pokemon/move_mon.asm
+++ b/engine/pokemon/move_mon.asm
@@ -117,7 +117,7 @@
and a
jr nz, .randomlygeneratemoves
ld de, wEnemyMonMoves
-rept NUM_MOVES + -1
+rept NUM_MOVES - 1
ld a, [de]
inc de
ld [hli], a
@@ -128,7 +128,7 @@
.randomlygeneratemoves
xor a
-rept NUM_MOVES + -1
+rept NUM_MOVES - 1
ld [hli], a
endr
ld [hl], a
--- a/engine/pokemon/search.asm
+++ b/engine/pokemon/search.asm
@@ -216,7 +216,7 @@
ld hl, wPlayerName
-rept NAME_LENGTH_JAPANESE + -2 ; should be PLAYER_NAME_LENGTH + -2
+rept NAME_LENGTH_JAPANESE - 2 ; should be PLAYER_NAME_LENGTH - 2
ld a, [de]
cp [hl]
jr nz, .notfound
--- a/engine/pokemon/stats_screen.asm
+++ b/engine/pokemon/stats_screen.asm
@@ -2,7 +2,7 @@
const PINK_PAGE ; 1
const GREEN_PAGE ; 2
const BLUE_PAGE ; 3
-NUM_STAT_PAGES EQU const_value + -1
+NUM_STAT_PAGES EQU const_value - 1
STAT_PAGE_MASK EQU %00000011
--- a/gfx/tileset_palette_maps.asm
+++ b/gfx/tileset_palette_maps.asm
@@ -2,7 +2,7 @@
; used in gfx/tilesets/*_palette_map.asm
; vram bank, pals
x = \1 << OAM_TILE_BANK
-rept (_NARG + -1) / 2
+rept (_NARG - 1) / 2
dn (x | PAL_BG_\3), (x | PAL_BG_\2)
shift
shift
--- a/home/map.asm
+++ b/home/map.asm
@@ -163,7 +163,7 @@
ld h, a
; copy the 4x4 metatile
-rept METATILE_WIDTH + -1
+rept METATILE_WIDTH - 1
rept METATILE_WIDTH
ld a, [hli]
ld [de], a
--- a/macros/data.asm
+++ b/macros/data.asm
@@ -51,7 +51,7 @@
x = 8 * ((\1) - 1)
rept \1
db ((\2) >> x) & $ff
-x = x + -8
+x = x - 8
endr
ENDM
--- a/macros/scripts/gfx_anims.asm
+++ b/macros/scripts/gfx_anims.asm
@@ -4,7 +4,7 @@
db \1
x = \2
if _NARG > 2
-rept _NARG + -2
+rept _NARG - 2
x = x | (1 << (\3 + 1))
shift
endr
--- a/macros/wram.asm
+++ b/macros/wram.asm
@@ -106,7 +106,7 @@
\1Species:: ds MONS_PER_BOX + 1
\1Mons::
\1Mon1:: box_struct \1Mon1
-\1Mon2:: ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX + -1)
+\1Mon2:: ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX - 1)
\1MonOT:: ds NAME_LENGTH * MONS_PER_BOX
\1MonNicknames:: ds MON_NAME_LENGTH * MONS_PER_BOX
\1MonNicknamesEnd::
@@ -171,7 +171,7 @@
ENDM
battle_tower_struct: MACRO
-\1Name:: ds NAME_LENGTH + -1
+\1Name:: ds NAME_LENGTH - 1
\1TrainerClass:: ds 1
\1Mon1:: party_struct \1Mon1
\1Mon1Name:: ds MON_NAME_LENGTH
@@ -217,7 +217,7 @@
\1ID:: dw
\1DVs:: dw
\1Level:: db
-\1Nickname:: ds MON_NAME_LENGTH + -1
+\1Nickname:: ds MON_NAME_LENGTH - 1
\1End::
ENDM
@@ -233,7 +233,7 @@
ENDM
link_battle_record: MACRO
-\1Name:: ds NAME_LENGTH + -1
+\1Name:: ds NAME_LENGTH - 1
\1ID:: dw
\1Wins:: dw
\1Losses:: dw
--- a/mobile/fixed_words.asm
+++ b/mobile/fixed_words.asm
@@ -4059,7 +4059,7 @@
; 12 words per page (0-based indexing)
x = \1 / 12
if \1 % 12 == 0
-x = x + -1
+x = x - 1
endc
db x
ENDM