519 Commits

Author SHA1 Message Date
Retnuhytnuob 274ab00a8b Convert the 0x06... range to practical forms; mode lamp naming (#265)
Adds some define macro for specifying an address in the Board/Object VRAM space, indexed by the Block, Row, Col
Documents the usage of the block 2 + 6 lines of block 3, with a 'modulused crosssection of the board', and a tilemap that draws those in the correct color, for the section where the camera is. (this also explains the 'wrapping, with wrong colors' if viewing the BG layer 3.)
Adds a define macro for addressing with the 'board wrapped' memory content, so that the tile reads as its board relative position, rather than its vram memory position.
Applies macro in place of memory address, when working with the VRAM data.

Resolves #224
2026-09-17 00:21:56 -05:00
Retnuhytnuob 14547ba828 Cleanup AI comments, add usage disclaimer. (#264)
* cleanup data dump comments
* AI usage disclaimer
2026-09-12 22:59:53 -05:00
Retnuhytnuob d55c2eb214 Consts for Bonus Loop, remaining board element states (#263)
Helper macros:
* BoardIn/NotInActivityMobe
* Start Of Even Bonus loop & RayquazaCatchChanceTrip

States:
* Bonus stage loop
* Sapphire Shop Gate (plusle/minun) & index consts + shock wall anim state
* Spoink Launcher
* Makuhita
* Seedot
* Zigzagoon
* Pelipper
* Nuzleaf
2026-09-11 21:19:07 -05:00
Retnuhytnuob 465d69bdac BoardProc naming, EOB summary consts, Collision type consts / params (#261)
Adds switch consts for Collision:

BoardCollisionType, CollisionBounceBehaviorType, CollisionResolutionState
Also names some input/output params for collision functions.
Renames BoardProcess#[a/b] functions, to reflect what that phase does.
Adds enum vals for the CurrentBoardProcPairs array indexing

Adds switch consts for End of Ball Bonus phases, debug modes, Tilt Direction handling, Return location from bonus boards, demo variants

Now uses consts for the number of dex lines/characters per line.
2026-09-11 21:10:14 -05:00
Retnuhytnuob c9335f5e6e Hatch state cleanup (enums, var naming), CatchTileBurst Phases (#262)
State Enums for:
* CatchTileBurstPhase
* EggAnimationPhase
* CyndaquilPositions
* HatchMachineStates
2026-09-11 21:08:29 -05:00
Retnuhytnuob 28248ed6a4 Resplit Spheal Results graphic, helper for summary tile lookup, and magic number const replacement (#260)
* active fx type

* flipper and proc step documentation

* resplit spheal summary graphics

* helper function
2026-09-08 21:09:29 -05:00
Retnuhytnuob 95fdbfaeea Flipper consts, FX sequence consts, document the per frame proc indexes (#259)
* active fx type
* flipper and proc step documentation
2026-09-05 21:26:29 -05:00
Retnuhytnuob bc3b7d4674 Add helper for working with trig math (#258)
Adds a helper function that does the structural 'Perform Sin/Con, then multiply, then scale down' that was littered across code.
Updates code to use it.
2026-09-05 01:50:17 -05:00
Retnuhytnuob f263794b19 Palette_Mappings in Rom file 2026-09-04 22:06:27 -05:00
Retnuhytnuob 29160995ee extract inline for dimming pal 0 2026-09-04 02:33:39 -05:00
Retnuhytnuob 04c5735071 extracted a load lighting palette inline function 2026-09-04 02:22:51 -05:00
Retnuhytnuob 4f1c19c7ce Pal IX consts for main boards 2026-09-04 01:35:42 -05:00
Retnuhytnuob 5b1b8d9c08 Add consts for pal_IX 2026-09-03 21:37:58 -05:00
Retnuhytnuob 58fad629a4 pal and addressing work 2026-08-29 23:53:37 -05:00
Retnuhytnuob f249cb1f09 rgb defines 2026-08-25 00:28:24 -05:00
Retnuhytnuob 046a4e7f2a Disp Consts; intro Dma consts 2026-08-22 02:32:12 -05:00
Retnuhytnuob d44a615136 Naming for Sprite Groups / sprite sets for bonus field select and ereader 2026-08-15 02:48:31 -05:00
Retnuhytnuob f3f8ba893d last of the Pals 2026-08-14 03:15:20 -05:00
Retnuhytnuob ef29d1b7a0 additional pal, and char block addressing 2026-08-13 02:44:26 -05:00
Retnuhytnuob 0e1dce9de0 checkpoint pal part 3 2026-08-12 02:39:17 -05:00
Retnuhytnuob ed85338018 checkpoint pal part 2 2026-08-12 01:45:39 -05:00
Retnuhytnuob 7310774cf2 Merge branch 'master' into dma_pal_consts 2026-08-12 00:31:39 -05:00
Retnuhytnuob c66aa92b16 Updated based on findings; split/color graphics. 2026-08-12 00:22:57 -05:00
Retnuhytnuob 35d90a347b checkpoint partial pal coverage 2026-08-11 02:17:41 -05:00
Retnuhytnuob edbfcb221e Merge branch 'master' into match-render-high-score-sprites 2026-08-09 14:57:00 -05:00
Retnuhytnuob 158ba46210 naming patch 2026-08-08 15:36:15 -05:00
Retnuhytnuob adc7a106ae Ereader text, overlapping array cleanup/finish dump, moved graphic optimizations back out from graphics_rules.mk files. 2026-08-08 02:13:57 -05:00
Retnuhytnuob ac86c24005 Merge pull request #235 from Cyphgirl/extract-shop-data
Extract shop data
2026-08-07 03:37:59 -05:00
Retnuhytnuob e7ab1d3779 Shop/Evo tilemaps; added note of tile source, renamed unks. 2026-08-07 01:40:25 -05:00
Retnuhytnuob c6e0aa7ebf Merge pull request #233 from Retnuhytnuob/score-consts
Score consts, time define function.
2026-08-07 00:06:50 -05:00
Retnuhytnuob 871e0f66a3 Merge pull request #228 from Retnuhytnuob/tilemapdump
Dump Flipper Collision data, board/intro Tilemaps.
2026-08-07 00:04:35 -05:00
Cyphgirl 14adedccac Simplify RenderHighScoreSprites match: 5 asm barriers -> 3
Pin spriteGroup1_ to r4 with an explicit register variable, which lets two
of the five asm("") barriers go. The target keeps two redundant pointer
copies in its entry block (adds r4, r6, #0 and mov r5, sl); the pin is
enough to keep the first one alive, so the alias1 launder and the oamData
launder are no longer needed. The remaining three barriers protect the
spriteGroup2_ copy, which cannot also be pinned -- the target reuses r5 as
a scratch register once that alias dies, and a pin would reserve it for the
whole function. Three is a hard floor: no configuration with two or fewer
barriers matches.

Also drop the contrived independent re-derivation. spriteGroup2_ =
spriteGroup2 now matches, where it previously required
= &gMain.spriteGroups[1], so the function no longer re-derives a pointer it
already has. Declarations follow RenderPokedexSprites' house style: int i
first, function-scope oamData and spriteSet temps rather than per-branch
copies, and the group pointer as LoadSpriteSets' third argument, as
pokedex.c and field_select.c both do.

Name the sprite group indices via constants/sprite_groups.h, adding the
missing SG_HIGH_SCORE_PRESS_START_0/1. spriteGroup1 and spriteGroup2 are
the page navigation arrows, not page icons -- confirmed by their positions
at baseX 220 and 4, and matching the right/left arrows in the GBC
predecessor's high score screen.

make compare OK; RenderHighScoreSprites stays instruction-exact
(words=0, insns=477, 18-word literal pool).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 21:38:43 -04:00
Retnuhytnuob e4ad7b8ded cleanup gButtonInfoTable refs, data in rom2, move vars to top. 2026-08-04 02:38:15 -05:00
Retnuhytnuob 8da1fa1551 bonus score 2026-07-31 21:32:01 -05:00
Retnuhytnuob ef6e7be016 remaining score consts 2026-07-31 21:32:00 -05:00
Retnuhytnuob ba08a59a21 score checkpoint 2 2026-07-31 21:31:59 -05:00
Retnuhytnuob 3be8f808e5 timer defines 2026-07-31 21:28:19 -05:00
Retnuhytnuob 1e49e2f3e0 score display 2026-07-31 21:28:18 -05:00
Retnuhytnuob 27836984f2 intro 9 ball flight x offsets 2026-07-29 21:28:59 -05:00
Retnuhytnuob 226ae7a123 intro scenes 5-9 2026-07-29 16:42:07 -05:00
Retnuhytnuob c37847b6a9 remaining bool true/false consts 2026-07-21 02:20:11 -05:00
Retnuhytnuob 5b8e90f518 flipper data array sizing/function naming 2026-07-20 23:20:05 -05:00
Retnuhytnuob 3fc5181f64 Added bool const usage 2026-07-20 22:06:21 -05:00
Retnuhytnuob 15fe55e04b area portrait base 2026-07-18 20:26:29 -05:00
Retnuhytnuob 0bf26e82c4 kecleon y sort shifting spriteSets 2026-07-17 02:54:48 -05:00
Retnuhytnuob 850ac505c2 intro BG param struct 2026-07-16 03:56:36 -05:00
Retnuhytnuob edb5040f82 IntroScene/func renames 2026-07-16 02:14:47 -05:00
Retnuhytnuob 99bbbcb580 Merge branch 'spriteGroups' into combined_prs 2026-07-04 01:59:51 -05:00
Retnuhytnuob 4cb3fccc52 Merge branch 'fieldCollision' into combined_prs 2026-07-04 00:34:37 -05:00
Retnuhytnuob 3a742399e4 name remaining sounds 2026-07-04 00:10:52 -05:00