Per-commit progress metrics

For comparison, here are the total numbers of game code instructions, with all third-party code filtered.

[Reverse-engineering] [th02] Five Magic Stones: Coordinates ff19bedc18245fb18e00aaa6c05fc49ecbc508da
[Reverse-engineering] [th02] Bosses and midbosses: Position 7639c7eeb87a99d633515221ed9cae4823005988
[Reverse-engineering] [th02] Boss and midbosses: Total amount of damage dealt 0d527425af9059399395a8aa8ef11a5ac73a8d60
[Maintenance] Remove the SHARED_ segment and all related workarounds c9c3b621ec6bcfc062759aca3adcd2083277b3f4
[Separating translation units] [th04/th05] graph_putsa_fx() 66d83aa183d160579e6bed8ab98e5000f8f6b95b
[Maintenance] [th04/th05] Split OP and MAINE data before graph_putsa_fx() 5a65324625bf41cbf9d5b962902a1a81abb16800
[Decompilation] [th04/th05] MAINE.EXE: main() fd0c95dcd1223f504e866bd1b9c74fadbba185b5
[Decompilation] [th04/th05] MAINE.EXE: Top-level ending function 1de858513691ebac8e7b705186efdb2d61443d74
[Decompilation] [th04/th05] MAINE.EXE: Binary switching 1350a60e3f8b49f7bc05c7405a89ac56bb8ac0a3
[Maintenance] [th04/th05] MAINE.EXE: Duplicate resident pointer loading 09c324fbedec8b7c0f4e6dc2f6ff53886342a597
[Maintenance] [th03/th04/th05] Move resident pointer loading to its own header c57992caa9f099a1e5f3af8e52ee77857adf2578
[Naming] [th04/th05] MAINE.EXE: Top-level menu and scene functions 2480c76a56451aa105208e39e088f6e20dd879da
[Research] [th02/th03/th04/th05] Music Room: Text color logic 1bb0a92d2decdb9ae284d3d7402cf5e14eb3ea56
[Decompilation] [th03/th04/th05] Music Room: Move all remaining data to C land f30fa98be8ef27367bf11af393162fab1cbe8358
[Decompilation] [th03/th04/th05] Music Room: Main function b7c8f13d19c665330a1973c3d2859e23ee9b371c
[Decompilation] [th03/th04/th05] Music Room: Comment rendering 78728f678012b370e5a52e8501a95f726121059a
[Decompilation] [th03] Music Room: Comment background blitting and freeing f1d6ce9a39e0d42f6610c53b9ed10692416b64ca
[Decompilation] [th03/th04/th05] Music Room: Comment loading cbcb540c54d9ef4307300b5a3cda9c212afc6b89
[Decompilation] [th03] Music Room: Comment background snapping ee5c7c56d1e3a1312d20f50b8fb9cef33e87ba12
[Decompilation] [th03/th04/th05] Music Room: Page flipping 7ef318fcbc1de1d4fadfa487123d95fa94afe5bf
[Decompilation] [th03/th04/th05] Music Room: Falling polygon animation cb7fd94789719353e6aee6a585dc7fbba385532e
[Decompilation] [th03/th04/th05] Music Room: B plane snapping and blitting 44598e0e9a2100a4dc7ccfe12e87164d8da78672
[Decompilation] [th03/th04/th05] Music Room: Rendering the full track list dce8ba3ea1eba1cdc402778014a4852235609462
[Decompilation] [th03/th04/th05] Music Room: Rendering a single title a520b0c283d62dd5791db3ed11c71d89c4a58822
[Decompilation] [th03/th04/th05] Music Room: Move titles and files to C land 5b4f24aa0cdb811cf865f4648ef6d93c11ee87f3
[Naming] [th04/th05] bgimage_put_rect(): Annotate the 16-pixel alignment 9651bcf7eece4ed3e04c09a67e6209eea3ea0b92
[Maintenance] [th05] Music Room piano: Move shared coordinates into the header 05721ea8fb255ed55060a758eb4ba79cf39b0218
[Maintenance] Purge the C-style `typedef struct` syntax 062aa7ae1d789bdc06be89ec89df093f4a6d8e6c
[Maintenance] Remove `extern "C"` from more areas of code 26926080bc51bc52ff53dba86435c7480597cf6b
[Maintenance] Move the space-changing point union to a separate header 607200d0ed089fc865238561f058d8c2f02faec9
[Maintenance] [th02/th03/th04/th05] Split segment #1 before the Music Room ef57125be2e21246397472266347766b743daf03
[Decompilation] [th05] Title screen animation 46cd6e74bdf266fdee83a4140357954583b4caec
[Decompilation] [th05] OP.EXE: .CDG loading and freeing 49c1cda5262828919304dca62159106698d22269
[Decompilation] [th05] MIKO.CFG: Move all data to C land f5d14ca7ec74bd2cfaad053e4004cd035b7e00dd
[Decompilation] [th04/th05] ZUN Soft logo: Move data to C land 17ef96772c775593bff6cc5d29396168fe9138c8
[Decompilation] [th04/th05] Setup menu: Entry point cf44223d808d68e6111b949d323ea83335a0342f
[Decompilation] [th04/th05] Setup menu: BGM and SE mode menus 7aa045930611848e11152ad1f7b447c04d0719c9
[Decompilation] [th04/th05] Setup menu: Text blitting 449aa3734343649ea924f25e90df4ccfc372cd1a
[Decompilation] [th04/th05] Setup menu: Rollup animation 52b74439bc0f5547bc5c697bdb12a985ecd10e62
[Decompilation] [th04/th05] Setup menu: Single-line window blitting 46fa5befb169c9977293ad211fc2e6f8e6f55869
[Decompilation] [th04/th05] Setup menu: Dropdown animation 3d77be66b33f6dca3598eb45bbd0021e90e72d15
[Decompilation] [th04/th05] Setup menu: Dropdown and rollup blitting 2aacf1c9d2f0f1b1c6bee6766bb909f0dd1857e5
[Reverse-engineering] [th04/th05] Setup menu: MSWIN.BFT sprite IDs 7c3160c38dbf9d2315dab35981fa0bba955e6787
[Maintenance] [th04/th05] Move OP.EXE clear flags to their own header cc1eea41ada5b001c031f05962938a904ca16cad
[Maintenance] [th03/th04/th05] Split OP.EXE into two assembly units d55c2cbad0c2d75c77513597a8b21eb6670a4470
[Maintenance] [th05] #include `common.h` directly inside `resident.hpp` cafdd6ee3ef236a7054ffc928f6f842f66ce5682
[Maintenance] Only define `address_0` for the main ASM unit of a binary 7e56d22785d386e61fd2d70fef60df2c3a573870
[Maintenance] Move the snd_load() constants into a separate ASM include file a308c486d6ae235b86a6ed452ddc3f31dda7c0a7
[Decompilation] [th04/th05] Main menu: Move decompiled data to C land 741d889c07adc96320ddb3d33be4215374be401c
[Decompilation] [th04/th05] OP.EXE: main() b4980bbd8a8a916dd1a8a424b99734e29c966c68
[Decompilation] [th04/th05] Main menu: Option menu update/render function c6c07e2c4df3d625e90cfa02ffddaf9b6a02e2b3
[Decompilation] [th04/th05] Main menu: Top-level menu update/render function ad4cd15bb69b2921d7f0ce7f905d38a06606de8f
[Decompilation] [th04/th05] Main menu: Cursor movement and re-rendering 1a64de731f5558f58ceb74b52a16ea6e0bdb1a0d
[Decompilation] [th04/th05] Main menu: Option menu choice rendering 61079a3accd229d39c3c76b034e39deed0c5f2a8
[Decompilation] [th04/th05] Main menu: Top-level menu blitting 050afe83b5f8663594f52fe7c91ac7bb25d2c7c9
[Reverse-engineering] [th04/th05] Main menu: Sprite IDs 1d047a504b5ee0eb135c1da92134d8d52017e1df
[Maintenance] [th04] Move MIKO.CFG code into the main menu translation unit dfb48561d6458498ceb66fe421e39d4b53f5ee3e
[Maintenance] [th04/th05] #include game start code from a shared source file 86f1f44522b508a7a5be7fd70fa690964db482dc
[Naming] [th04/th05] Rename the initial rank value to highlight its effect f294ccb1584b71f44a4c21807e5d7b2e2d590e8f
[Maintenance] Remove `extern "C"` from more areas of code 5603509248ada6569fd4504d437d606d830a66b9
[Maintenance] Introduce a type for PC-98 text RAM attributes 214c404ef5ecc4a89365e8228922a4ed5fe11b6d
[Decompilation] [th04] Starting the game ae2fc2865a74b095bdbc8b469073f43c8cbc2d98
[Decompilation] [th04/th05] MIKO.CFG loading and saving 0ded9d46f3f1cb1bf7d78f65b2798de848d16195
[Maintenance] [th05] Assign proper names to decompiled OP.EXE segments 412df0c9617403631eb5a1ff1f00766e5c658f77
[Decompilation] [th03] Win screen: Message rendering a874bd5408164a854b989f22e1e66523d57da422
[Decompilation] [th03] Win screen: Loading images and messages ffb8b14729544fc3f969c53b4b2625d4cbe78363
[Reverse-engineering] [th03] Stage splash screen: Stage number display flag a314a0f40af46a0460643885d8f5a8867183cfda
[Maintenance] [th03] Define a player ID type 7e89d76751758f6e9425deae190033b2df8a792a
[Maintenance] [th03] Indicate the optional ID in the paletted playchar type cf78098a797c4641ffd16f4d4f8aeb2f939aa2a1
[Reverse-engineering] [th02] Stage progression flag 78989572069241ff0053a90e83815cf835f5cc89
[Decompilation] [th02] Dialog: Extra Stage scripts dc5882782d344bc8d76ddc4c4880e4466db88be3
[Decompilation] [th02] Dialog: Stage 5 scripts 70d87fe90065d5593a13a281fe750fc2e412c7cb
[Decompilation] [th02] Dialog: Stage 4 scripts bc5710285d3848043766b75a85fea85e950a532f
[Decompilation] [th02] Dialog: Stage 2 scripts ed9ee93f5f769ff2d3428b749d7735c50aaa7486
[Decompilation] [th02] Dialog: Generic parts of specific scripts a2f7002731c2587dfb6f18715d8de038bc419943
[Decompilation] [th02] Dialog: Displaying full boxes of text c6812766b6502212fdd356bdc28d138baf6a361c
[Decompilation] [th02] Dialog: Displaying individual lines d38f2a675d78e0e60919046ad06c7c3d02cc5253
[Decompilation] [th02] Dialog: Face rendering c4622992b554d0121ac1a7ca7ff70f0f61264a79
[Decompilation] [th02] Dialog: Box slide-in animation be31caeba82c97af811029c8d9e5e7823a9064c5
[Decompilation] [th02] Dialog: Box rendering c468e2a113ad583d40f637cc27775ceb5ec63248
[Decompilation] [th02] Dialog: Player character blitting f2b7f78012dbb63b8b550089e9867346896a8d58
[Decompilation] [th02] Dialog: EGC initialization dfaa3c67c47f3ced322c29da0af901f579462aa4
[Decompilation] [th02] Dialog: Text loading 8f28286349d3e9b0c52e8e61b70c6db482c2e3ad
[Reverse-engineering] [th02] Scrolling: Completion flag 981c7e2a7dc0304fb43b487cf65d6ddfdf45e54d
[Reverse-engineering] [th02] Player: Current master.lib sprite ID 1bb6068d6a751e648ff11cb26b2a31472b8a9b90
[Reverse-engineering] [th02] Player: Option position 42abdc3de4857b2a3526fb70b248638b76c72e7c
[Reverse-engineering] [th02] Player: Position references bc552cac8e73a49307b62a5801fd1f5d4ad956c9
[Maintenance] [th04/th05] Dialog: Merge the lower two translation units 580c0ff3cd5c181722694fc54a65f91d32b2cd0b
[Decompilation] [th04/th05] Dialog: Blocking main function 63e92572796cffb2c698b27674f1627bc24cce97
[Decompilation] [th04/th05] Dialog: Main script parsing loop 0f45a5a89faa4fdf517311da29d6fa2bd30d2040
[Decompilation] [th04/th05] Dialog: Script opcode interpreter 1f2ea181f638c4057e97d9e91156082d2eb903fe
[Decompilation] [th04/th05] Dialog: Box fade-in animation e8a0b3ef4315dc82998b45ae384c85d0ddb44dd3
[Decompilation] [th05] Dialog: Box clearing 3968f36820a0d26ae50c72ccd4aa106061c14c95
[Decompilation] [th04/th05] Dialog: Face unblitting a06996af3e475d97483debae6d61876fe07790f0
[Decompilation] [th04/th05] Dialog: EGC-powered playfield front→back copy 36166192bd8f962ec1b1da3a878411dae487e657
[Decompilation] [th04/th05] Dialog: Box background rendering 35d6fe30c3249b823428f6d7312ffa46f3021f98
[Decompilation] [th04/th05] Dialog: Activation 78a9e7b4b47c832a556afd31d9c822adaa28982b
[Decompilation] [th04/th05] Stage tiles: Renderer activation 974136a5262e225089e13bec7f8ceef3bef20da6
[Decompilation] [th04/th05] .MAP: Declare functions and data in C land 0a8a3d9c508a055d1db6098d0e2ec0c00b91f1ee
[Research] Document why TH02 and TH03 must manually pause BGM before loading 0e96a8e578f587191b5f8107bcaf06de6c6663f5
[Naming] [th04/th05] EGC: Reuse the egc_start_copy_noframe() function name 367431a69af57d16697ea1bea7816551670b2a86
[Naming] [th04/th05] Dialog: Drop the `DIALOG_` prefix from constants 4d11848671a553c32e0618b981c7b4206704309a
[Maintenance] [th04/th05] Dialog: Start a new translation unit with shared code 641cdec9f2713e3fd3f9c154d24c2f4bc9847db4
[Maintenance] [th03/th04/th05] Cutscene: Resolve fade command inconsistencies 2cb65157f0006eda8d51786cd122081c994f31b0
[Maintenance] [th03/th04/th05] Move shared plaintext script code to `/formats/` 0709533ca7ef11e1d364d1de324c2359b8aa62ea
[Maintenance] [th04/th05] Demo Play: Move OP return code into the header 4c888ee4ade6aca57b56eae3ecc5673f0dafdf9b
[Maintenance] Remove `extern "C"` from more areas of code 757ee718c421c7aa52004022d29385136c19be70
[Maintenance] [th04/th05] Remove unnecessary segment splits a4fb2cf0671d9ecefe4de9b9f586c84dc7eb3708
[Maintenance] [th02/th04/th05] Stage tiles: Move metrics to a separate header f5da2a50a5cd83ed665645d15f1f80004dbce0ec
[Maintenance] [th02] Stage tiles: Don't publicly declare the tile ring array 0c39c6b2394f9b3e223abaec6c83ce05e37e5c22
[Maintenance] `tram_cell_amount_t` can also be used for heights 2c3bd9c16f7b32c715d4262884798a4aa7563e8c
[Maintenance] [th01] YuugenMagan: Turn the Phase 12 pentagram values into a bug 5876755977731e04e90a1daa9e97ba936f32c44c
[Decompilation] [th04/th05] Boss explosions 6515661dc816944e801502840241e4b6e7f148ff
[Maintenance] [th04/th05] Boss explosions: Remove the structure from the header 48bdae5f0157419142b94e13ac3589de53afb282
[Decompilation] [th05] EX-Alice: 16×16 sprite overrides 31b535d6787ebf6150424e38791a38576c4b5de2
[Naming] [th05] Bombs: Shape sprite file names 71cd70e0dcd98dac99603df04fdc9da1fae0a0ea
[Decompilation] [th04] Stage 4 midboss: Rendering 030908ebde78f8f8ac7f0acf18399e2d15263e78
[Decompilation] [th04/th05] Gather circles: Spawn functions 25ba371a34925d549cb92f3534e357cd4ed2db1d
[Decompilation] [th02] Text overlay: Stage transitions 0ab7359c886181130da74dd2d646274373232efc
[Research] Discover the reason for incorrect clipping of large sprites a5596d92656e3cf09ed4b04f296e47d2aaefccec
[Build] Compile shared translation units in 386 mode by default 491f7b83d261ddb2bd86a73278661cd94fb63e02
[Contributing] Decide on `seg` and `off` for x86-segment-related identifiers 0ffa756caea8cd6f1d65a5d4f240714140414d97
[Maintenance] [th05] Bullets: Explicitly use the blue and red ball patnums 540174828b09f4459ac6bb05baa0a2153481ccc5
[Maintenance] [th02/th04/th05] Move stage bonus functions to a separate header 2f3e8c262e44a5bb6c7b8b00494560de7ba4ec07
[Maintenance] Introduce types for VRAM colors and their components 8943b52167b0fc9fbbbcc207a407723bc5ec3868
[Position independence] [th04] Congratulation picture file name 97f0c3b4f53a60caed48ffba1a7fa0817fd1dd0e
[Position independence] [th04] Remaining false positives 043cef3b38c54925b71d36eda611f7fa64e60fab
[Position independence] [th04] Stage 4 midboss: Sprite IDs 9125e9278cdf322abb7bf01e54b871c9bd4cb267
[Reverse-engineering] [th04] Stage 6 Yuuka: Phase 2 fly angles 57cdb229aabb125ec2734bbed0a4b189387112d9
[Reverse-engineering] [th04] Stage 3 midboss: Fly angles 17b21f4ea983fd3d75b8a7d68dd1e1268a8e6da7
[Naming] [th04/th05] Verdict screen: Number rendering 64495ca98a6c2b6b455785e96288e0096a3e4dd6
[Reverse-engineering] [th04/th05] Dialog: Cursor position 8b338353f8bdafc153356f059057bfee233ef0bc
[Reverse-engineering] [th04] Player shots: Laser state 9a68b003eaf998f166912e72f7c538026e66d561
[Decompilation] [th04] Stage 4 corridor carpet lighting animation 2aae476a855101c2d86fb192a71b2e74d34feaca
[Position independence] [th04] Player shots: Angle calculations 68bc6f4db36e6a7e59ea1af27a81a2ddde40a862
[Position independence] [th04] Player shots: Structure accesses 43c6c23814a66371c2e8cff8f418b82d01b23873
[Reverse-engineering] [th04/th05] Player shots: Decay animation duration 68f4d5a03817b604fd0b2e5316b6a0614f0c2cbc
[Reverse-engineering] [th04] Staff roll: State 5de2186e573a0148ef594608daebd8802744c602
[Maintenance] [th03/th04/th05] Add X/Y polar coordinate abstractions 1e6d308593de644228d9d0d2b32659c9d49b325a
[Naming] Drop the inconsistent `2` from vector translation unit names 53ac043833feffbd8ef9dd045b1fb8d22a510ac3
[Naming] Rename vector1_at() to polar() 0efe76ab7731ef476d86b31f0517423b0744da90
[Maintenance] Simplify vector-related header inclusions f6757d90ea55cbc209fcb6d089201f20a130315a
[Maintenance] Remove `extern "C"` from vector header inclusions 51b2df231a3b757c2d30b66a35237d91a4cef4b1
[Decompilation] [th02] Items: Initialization/reset function ac33bd292d9d582e127654dcfade1171eb9ea511
[Decompilation] [th02] Items: Semi-random spawn function f5313d14cb18936fd3be17cd8940f85bb7a61ca3
[Decompilation] [th02] Items: Spawn function 2a059e2206849029d9c9caa2761faf682f8af28f
[Decompilation] [th02] Items: Spawning the 5 items when losing a life 310ff3d7df8e35f64eb6f31d24c171c70e143121
[Decompilation] [th02] Items: Tile invalidation 1099383256cd1a891a47088dec7c1bb912e13cda
[Decompilation] [th02] Items: Collision detection and collection 943da087675d8bea104be9c0d9f083b8b4c55831
[Decompilation] [th02] Items: Update and render function 8f7478b108f517f96954cc0311ca233097fad98a
[Reverse-engineering] [th02] Items: Shared state 916992e5d10492189884eb04223d7d3b21a4e41b
[Reverse-engineering] [th02] Items: Structure 6ff396f96a9ff7d1deb4f194fda33c7370a28d48
[Reverse-engineering] [th02] Player: Current position 720fd575b1684faefbb3cd392af31ce2ff1e16a6
[Decompilation] [th02] Gaiji loading and freeing dfa758da898934627c2ebe8f20ef41ee59358291
[Decompilation] [th02] HUD: Full rendering fefeb1859dffd8c93b297267aa58313a5701b75a
[Decompilation] [th02] HUD: Score rendering b38db78441138d9a3c95e3e85c3bb0861e4c39d2
[Decompilation] [th02] Score: Initialization, reset, and consistency functions ef7162195a63ab6f964c349fe881e29600397edc
[Decompilation] [th02] Score: Regular update and render function 617815b745835a80ea4bb39dc0ff282b5afd94e6
[Decompilation] [th02] Score: Turning the current delta into a bonus 6763b44dd0feff253c7611d5380717cde9f41e0e
[Decompilation] [th02] HUD: Life and bomb display 7e64c1cc06cd2823c2597647363b102d00fc678c
[Decompilation] [th02] HUD: Power bar rendering 0d28c116c0ca6569ae03001bebb805160a344c8e
[Reverse-engineering] [th02] Score deltas 7bd0ac3f17853224d533cbd9aa3c34724fee9d0a
[Reverse-engineering] [th02] Score extend globals dcec17fb426137fec4c502a27b7392cc0bc7265a
[Maintenance] Random number ring buffer: Fix inconsistencies between & and % 000bac9190d14074156badd276d8edb6da7fa4e6
[Maintenance] Random number ring buffer: Remove `extern "C"` 2c52cc83b1f358580bb10f2b74f5f91c0bfda342
[Maintenance] Declare 8-bit pixel delta and length types 9aad9ad1145296000cdff5febcb8aac99b573c52
[Decompilation] [th04] Stage tiles: Setting single tiles / .STD: Load function 08352a5a81e51724fde15ac4709b3bcbcee027b9
[Decompilation] [th04/th05] .STD: Declare functions and data in C land 5f030461e7ddb58492fbad23cadbd58431ee2bac
[Position independence] [th04] False positives: Frame-based calculations 4ca024317df3838c4a629a9c1042e42a1ea1c649
[Position independence] [th03/th04] False positives: snd_delay_until_measure() 3862e989c7f8fed8bb93c2b800685c6883136aa8
[Position independence] [th04] False positives: Upward angles d84602d8104e2a5fae94696ff2724542899dc6cb
[Position independence] [th04] False positives: Q12.4 subpixel calculations a98ed32b10bffaa0a756f20869564aeca71ab7c8
[Reverse-engineering] [th04] Thick lasers: Structure 4eea7cdd8b6d2cb932f65257d44a855caebc1357
[Reverse-engineering] [th04] Stage 6 Yuuka: 16×16 background shape structure 61a90297c3e40cfef2376667fb18855535d4b08e
[Reverse-engineering] [th04] 1-plane blitting of regular 16×16 `super_` sprites 53292a1f7b8d4c9da3cd0782daf19890162e87f4
[Reverse-engineering] [th04] Gengetsu: Wave animation target 863794d1d602850a5bfc903c3c9a37f0d23c2bd8
[Reverse-engineering] [th04] Custom entity structure 6: Gengetsu's column lines d0d48b79dd1973fd7870b5d18437a35dfce20aa5
[Reverse-engineering] [th04] Custom entity structure 5: Stage 6 Yuuka's circle 8d44a773f2492afd98e9f12cb987a8837487c838
[Reverse-engineering] [th04] Custom entity structure 4: Stage 6 Yuuka's crosses 40c900ffdc7928bc7bc04a7be31bf29d8ac5d69d
[Reverse-engineering] [th04] Custom entity structure 3: Stage 4 Reimu's orbs 6b58ba359b8db2719abc2edf7be221c61bf9532c
[Reverse-engineering] [th04] Custom entity structure 2: Stage 4 Marisa's bits 6e93bb2a522467f9c0ea4bf281d7f890bf54150c
[Reverse-engineering] [th04] Custom entity structure 1: Kurumi's spawn rays 2d4d61f977df67370ccfdfe1ef7e46473bc67c8e
[Reverse-engineering] [th04] Custom entities: Structure 8f78fa497dabdb5f9a9e7147af3b31b34cef6f7f
[Decompilation] [th04] Scrolling checkerboard background 45df9ec0c688e7e463c690112ed61d3a734b1cc6
[Decompilation] [th04] Stages: Stage 5 background star rendering 9da909467c040e2ab001aa33bb8ac96688f93307
[Maintenance] [th04] Split segment #1 before the Stage 5 render function d93e3ab85b39d1a75f23765d34c05515792c5abb
[Maintenance] [th02/th04/th05] Stage tiles: Separate ID → VRAM offset function df539f13daabcd6af200820aa0860fac8c7ce11c
[Maintenance] Move the point structures into `pc98.h` 9a8e0fc0fd015fca66fd3f6a42cec2f97ff8e23a
[Maintenance] [th04/th05] Custom entities: Move declarations to TH04 5303c37de2672270d74f810caaf04b79f6b54247
[Research] [th01] Document the bug that causes `game s` to work be69ab62651b38b42dcceae2e2e221c0a928b7c4
[Maintenance] [th01] Endings: Reclassify the ドカーン image tearing issue as a bug 308b6bcd2cf6704134e7c7b836472ef7ecd410f5
[Maintenance] [th01] Add some missing detail to existing comments 0b13967de31b8d5a1e39e543b55c17999c81dee6
[Maintenance] Fix another bunch of accumulated typos and dead code 45c9e71533a218ed67d1420ef62899dd1a81ce8c
[Hooks] pre-commit: Preserve CRLF line endings ea8c4b85a481a30478506b40f0388424a3341f7d
[Maintenance] [th02] Properly declare lives and bombs, and their limits c5e51e6cb2273c64612a29d79f059fbc05318442
[Maintenance] [th02/th04/th05] Properly declare shot power-related variables 71c010855da387eb6b37744f6af7f98e72a4af2f
[Maintenance] Gaiji: Move variable-width bars to TH02 ea59e023d01c2ac3d7432eeb85e1bc9140a4ff42
[Maintenance] Gaiji: Inline the declaration of TH04/TH05's filled 128-pixel bar 1158e028ff254ce0ed612c902c032c43ae88c9c8
[Decompilation] [th02] Bombs: High-level update and render function 152bbd6a0f6d2325097c5ca33c7b6b0ec4c9a2ee
[Decompilation] [th02] Bombs: Rendering bytes from BOMBS.BFT fe93bc821830c7e5b9f60d5fde42d676f214c219
[Decompilation] [th02] Bombs: Smear column rendering 3afa60fbd0379b5acaf6ca7a2cb488e0a8b1899f
[Decompilation] [th02] Bombs: Particle rendering e56fb33f7128c361705e98a007bf812135d9481d
[Decompilation] [th02] Bombs: Circle point rendering 522976d6687603576278f1d925d9d8631748f1d2
[Reverse-engineering] [th02] Bombs: Particle sprites a6a3aaeb0a9735f061a4176fcac3df592c4c821e
[Decompilation] [th02] Point number popups: Update/render function 1766178a0a7328601f4d5ff452e02b9e92c06a24
[Decompilation] [th02] Point number popups: Rendering a single number 19d5ebf4f93c7bf16da62d31b6c672ef2aba760a
[Decompilation] [th02] Point number popups: Tile invalidation e708eadeab359d3723ff64cba2acf34f57021fc1
[Decompilation] [th02] Point number popups: Spawn function 71094af6a0220a161017980a67be6a7222c477d8
[Decompilation] [th02] Point number popups: Initialization/reset function eb52af752b73d8f1c728116d7ccee9907c3eec45
[Reverse-engineering] [th02] Point number popups: Structure cffa0a0ede04569fcee354c2272920b4a2255129
[Reverse-engineering] [th02] Sparks: Structure 3c0c6c7343e65eed9833b1aa99b08e508192a675
[Reverse-engineering] [th02] Slowdown factor 7fa9038a5f3bfb0548d93d08dcb3ed7b7f9cec9f
[Reverse-engineering] [th02] Reduced effect rendering flag ebc766bbce1b023d0d87cda40f3e203e4b0328c8
[Maintenance] Introduce a generic entity flag enum 1f962c865e43dfc6d2b51658fcff72b13d39a267
[Maintenance] Declare missing entity-specific flags in ASM land c6e2955e06881e0ca588784aabec5386ee090a9a
[Maintenance] Simplify two-state entity flags b9402be979b3fd081036e11af2e2ee420a56ba26
[Decompilation] [th02] Stage tiles: Resetting an incomplete bunch of state 679553fb4d0f9fd41ad539dbccfeec8b0c25136e
[Decompilation] [th02] Stage tiles: .MAP file loading caa4b6747b9cd31d98968fb2cff61dfb24f88b24
[Decompilation] [th02] Stage tiles: VRAM source area initialization 366cd1bf95cdb6cc3f40ab275ba224f3a691edd8
[Decompilation] [th02] Stage tiles: Low-level EGC-accelerated blitting 177800668495d018df685594a0d46823cec24903
[Decompilation] [th02] Stage tiles: Regular scroll and render function fdee90a4995059c0e48877e95d02d9ccb5b60a35
[Decompilation] [th02] Stage tiles: Initial screen of a stage 29cde9b5de338ce9fb1c8aa7449fb3a0bfaf9b95
[Decompilation] [th02] Stage tiles: Rectangular invalidation 6acb385a5abaeddf8f3ca05396d52f1c82b0e5b2
[Decompilation] [th02] Stage tiles: Regular rendering 62c4b7f1c2ca551d2135565c6699183b12d066d1
[Decompilation] [th02] Stage tiles: Re-rendering the entire playfield 59564b3ecf76ae439c96b4f8ebcd559868a43855
[Decompilation] [th02] Stage tiles: Setting and blitting single tiles 9c95ddace34e8f9dfa6330518d1b65606299f7b3
[Decompilation] [th02] Stage tiles: EGC-accelerated single-tile blitting e1ccf2d67de391d5037d45d7ad499d1d0416296d
[Naming] [th02] Stage tiles: Public .MPN functions a51910c544482f100be783752a3fb0dc6b3c5c21
[Naming] [th02] Stage tiles: Rendering helper functions ca0a076e927e24d4d7e494f7caacbe006994ac95
[Reverse-engineering] [th02] Stage tiles: Map sections and the .MAP format 8ed93431161145f36f9982f7bfd3c235ebbd03e8
[Reverse-engineering] [th02] Stage tiles: Public state 7cbaf4a1230c54f0dc828e9315421f8fae35a5df
[Reverse-engineering] [th02] Stage tiles: Internal state 54e72475c6c63d1f9f405e5e70682f0982fd8d33
[Reverse-engineering] [th02/th04/th05] Stage tiles: VRAM source area offsets 0a71be21882412ca38db3e6304fee8bc2a5cd75a
[Reverse-engineering] [th02] Scrolling: Speed and interval a5a19673677ccd4470300a669981a28b2d6fb4c9
[Maintenance] Add a macro for alternate-instruction VRAM offset calculations 172a6d2b2b759c65a7af03b9312c55ae3b4d024c
[Decompilation] Add a macro for faster VRAM offset calculation with bit shifts f062e4b84e9204bb1731a17b48227dbc95763975
[Maintenance] Add a VRAM offset roll macro 0e103c6f8833266d877f190f80e28772392fd32e
[Maintenance] [th02] Remove invalid Shift-JIS code point in `th02_main.asm` 6a92122432aede9a5e17c03008cb2d173da43c7a
[Contributing] Remove trailing commas from `public` in a pre-commit hook e7a9262f5008a922b5f5ddd5dca02b3f91514ec0
[Maintenance] [th03] Remove trailing comma from `public` directive 0685bd08855d3474669b228fafac16bc38028fb6
[Reverse-engineering] [th01] Pellets: Document missing resets for delay clouds 3afb73eadacd61ed5d7b1be2a7e9075c9f417e35
[Reverse-engineering] [th01] Pellets: Correctly document interlacing 6370f96d9a5850ea71e4c12d7cc3f1d45e8c9d73
[Maintenance] [th01] 16× TRAM letters: Fix macro copy-pasting accidents 6713b1bf9ce2ad32bc72a5ba637ca8a6e59861e1
[Research] BLITPERF: Allow the GRCG sprite color to be customized dbc5b511ba0e36832c1329ec085295c4844dd726
[Research] BLITPERF: Remove seed customization 12b8bd550d9962e2285936a586bf332792bd06f2
[Research] Benchmark various sprite blitting approaches 4837ec7ec9d165b2ae3bd637a81d48d6a982ff51
[Research] Set optimized code generation flags 6514a6b9a5fa36fd860cd0cae770da487c6e9bf8
[Research] Get HOLDKEY.EXE compiling again f8a774e1dc45b2b9e72c0fd5bc509422b544281d
[Platform] [PC-98] Generic byte-aligned sprite blitter aa0aad814163a62adb73f946da2269496141698e
[Platform] [PC-98] EGC rectangle copies abeaf851a4c8996fb1f596f1a406f661c819b37d
[Platform] [PC-98] GRCG tile and color wrappers afa6253683ed7547f5f33b4c6e70ad24e1c895ee
[Platform] [PC-98] Graphics GDC initialization d15bb0c4fa9a89576d8cacc544e713346535555f
[Platform] [PC-98] Font ROM glyph retrieval 03519d2af8cf294a9f100e502cc7c8adbba1806c
[Platform] [PC-98] Gaiji upload e5d7c9489c03a3c4aeb2d320af5d308adad83ae9
[Platform] [PC-98] Hardware palette setters d22c1e6db371d191fbf5edc2a2499535101f5925
[Platform] [PC-98] VSync: Retrigger the VSync interrupt after INT 18h f1108b5548e21a9c53e71a82a788a01ffb2143af
[Platform] [PC-98] VSync interrupt handler df0672762bbef3fa5dc472571929b4ab8ccaae45
[Platform] [PC-98] Page flipping 82f27f37719aec2d94601e3883c9d01d448ba929
[Platform] [PC-98] Font ROM glyph types 4548b874d6208600a72db92fb11e8aaae20267c6
[Maintenance] Move OUT for 8-bit port numbers to x86real.h 49a6834c4a0505ff687f985f4dfd878af5a1e52f
[Maintenance] Introduce EGC register bit count and mask constants e52052abf21526d74f770b396b0803b9edaa5338
[Maintenance] Introduce a VRAM byte bit constant bff375d99d4c847612f582e330003c48d827056e
[Platform] [x86 Real Mode] CPU flag macros 055cc20f79783874fc0e35b9c01b1da4c40b9152
[Naming] Rename peek() and poke() macros to look more intrinsic f16144a131306f98ba13bb619e85fce2795a1d0e
[Reverse-engineering] [th01] Packfiles: RLE decompression landmines f7ef7f8f300a0a1292818bbce092b81125a23ad9
[Contributing] Introduce a new "ZUN landmine" label for invisible bugs c22299e0c8b2c4d44b5ef060b187b2ac12f62137
[Contributing] Document the `ZUN bloat`, `ZUN bug`, and `ZUN quirk` labels 3ba44f08a4fe64fcdce2c61b9d702db81e8ad284
[Maintenance] [th01] Packfiles: Update to current coding standards 7191f62dde7a2158dc0c6fa781a4e47f50a8e0c9
[Platform] [x86 Real Mode] Implement Turbo C++ 4.0J exception handler removal 6b5102d2e75d260a1e9083c78fc34659527477ea
[Maintenance] [th01] Introduce a top/left coordinate type for other branches 4a0d2f3f2066cbc255002735f7a2bc669e56cbf4
[Maintenance] [th01] Fix temporary macros a503ba309573fd52f3014306ec40c497197b58b3
[Maintenance] [th01] Fix wrong type semantics 8ab99e2feb4415e10ead36cd4273119602a8e420
[Maintenance] [th01] Endings: Spell out the end_flag condition b326f1df11ec8935ce58ba44cd5b531719c17075
[Maintenance] [th01] REYHI*.DAT: Fix parameter type of scoredat_name_get() b1487295e8f04b972bbb84235756c4cda542466b
[Maintenance] [th01] Interpret redundant resident structure copies as such 010d6ae91873d957031dd24ecda73ce69c45a748
[Maintenance] Declare correct calling conventions for library code used in TH01 85c20d325e1bc0ed7afe17931090629e895b33fe
[Maintenance] [th01] High Score menu: Consistently use the ENDM_A.GRP constant 8e24c92bd902ca83b2d00358bc73ea1e1c00d4ed
[Maintenance] [th01] High Score menu: Change pixel macros to constants 6e9c4c7b9d16e25dc8401a318d1b0cc6e00feba5
[Naming] [th01] Extra bombs per life lost cb7b67bfe3ec041751ba00232b043bf5bdd1e2a9
[Naming] [th01] Use a consistent `rem_` prefix for current lives and bombs 357573eaf701976c9ee768373e23901a78af0464
[Naming] [th01] Use a consistent `credit_` prefix for starting lives e0e9741f926b58dea07aa40fc95ce30789d86a52
[Naming] [th01] .GRP: Palette fade delay frames per step d0dcb5309edccbe405054f76de8c7662ee9bd32b
[Maintenance] [th01] Declare types for signed and unsigned scores 4716948b5733c998cf27da022046818848fa9e1f
[Maintenance] [th01] Stage objects: Define X/Y counts without playfield metrics 841d8be376c6ad64654cab3e9c908da0f3ff4a4f
[Maintenance] [th01] Replace generic C types with more specific ones 24c07c72df440356268720bec2aa08da638c5698
[Maintenance] Remove the vsync_reset_*() macros cc42f949e159d97e28b8c4efe25301fbecf4f1b2
[Maintenance] [th01] Move TH01-exclusive VRAM text functions to a new header 9b46ff7d99097b233eb507a7b8c821a93c734438
[Maintenance] [th01] Avoid direct usage of VRAM plane pointers where possible a309e3f54901828201980dfb6b88a6e6028cf9e4
[Maintenance] [th01] .GRP: Describe the format 41156c0e7629acc10368906d62691aacf98471ae
[Maintenance] [th01] Remove unnecessary #includes fde7152cde5c7e07213b2665e65ce8af9246c434
[Maintenance] [th01] Bosses: Classify the end-of-boss scene load as ZUN bloat b68a61933fd618ae937547ebd6821c1131f750a1
[Maintenance] [th01] Palettes: Move specific-color flashing to `palette.h` 97c16daa0f9fa3985d9fd7f91d57186946ea7fcd
[Maintenance] [th01] Move the boss post-defeat palette to the palette header 02e12786d3d41836a99f69f7252586561a7c7634
[Readme] Recommend the new `debloated` branch for nontrivial work 7fa4a5979662823310454371975ed6f8b7840f4c
[Maintenance] Change Makefile line endings to LF 3ccaac9d9ec1fc149745e532f466ba3f973c25b7
[Decompilation] [th05] Lasers: High-level rendering 739e1d8ccdea628abc045604230a359952511a22
[Decompilation] [th05] Lasers: Update function 034a7db98cfa9ca0b547f5f9b662a6037db84d61
[Maintenance] [th05] Lasers: Prepare for two segments in one translation unit c8997cd5004faa0526342b86d8b3f9c17b21361b
[Decompilation] [th05] Lasers: Collision detection bb42f673e9d4b88584418368e23492cdcc46a419
[Decompilation] [th05] Lasers: Ray rendering 15a047fc74cd7858cc14d551e81de9dba33e067d
[Decompilation] [th05] Lasers: Line construction b989076579174c8e4075f128f4f50afab91785ba
[Decompilation] [th05] Lasers: 2D vector construction ee58546025606e89c96fd1a8e0e99e313ebeb76e
[Decompilation] [th04] Player: Input → movement velocity a31c5a4a4fbdcb36237974151fa743bf08ab4fa8
[Decompilation] Turn the FS/GS prefix workaround into a full-on code generator bfd24c6ae3703fe8dc12372dddf34dd62938f708
[Decompilation] [th05] Sara: Main function ed444c6b1c490ca646c562518097156e53a0dda7
[Decompilation] [th05] Sara: Pattern 9/9 89aeb600af2feddfb7b7125ef4c15328605f21cd
[Decompilation] [th05] Sara: Pattern 7/9 + 8/9 271554aad9ffddb5237c47d73543dd962a8a0986
[Decompilation] [th05] Sara: Pattern 6/9 7aeb5dddd5e0fef64075f392bdb3e464c0a2df04
[Decompilation] [th05] Sara: Pattern 5/9 662685a5d0f9d5c2b9905c513c224b107b10c24c
[Decompilation] [th01] Sara: Phase 3 (with externally selected pattern) b638e2d9653744753c9227b4297a2465a7e809ec
[Decompilation] [th05] Sara: Pattern 4/9 9a8f15a2ab8b5080b6ce395bfa143c27c140bfbf
[Decompilation] [th05] Sara: Pattern 3/9 478f8f262dfaf2dccdfe68cd961dab2725bce0a9
[Decompilation] [th05] Sara: Pattern 1/9 + 2/9 b535f334616c338c863f69eb8797b232b86a82ee
[Decompilation] [th05] Sara: Phase 2 (with externally selected pattern) 6dd29fe5ba37027e58fc0293a2b90bc24df6cd42
[Reverse-engineering] [th05] Sara: Sprite IDs a6ba9d88ff0cba10d2965928749abbe173afa1ff
[Reverse-engineering] [th05] Sara: State bcc2669afe684713df90d036dac8308498e2513e
[Maintenance] [th05] Bullets: Rearrange comments for circular group types 40b66c46ebf21606faa5e42e7848fd14287c70a5
[Maintenance] [th05] Bullets: Split off low-level stack/spread set optimization 539b3ec20b9e14d6ceb44ea309a6ad7dfcfb906b
[Research] Finally figure out relativity of near references 990588a4ead644d646cc133e4fdbbbfd61d319ff
[Naming] [th05] Bosses: Phase functions with externally selected patterns f070ee285891a309e816deaa1a7c03dbedd2d8b6
[Naming] Change the _HP suffix to a prefix eb8a4506dccda13fd8938db83a13bde32dec77d0
[Maintenance] [th02/th04/th05] Remove `extern "C"` from more areas of code d9427b076148b4da73ace082a4b09ae19cc5ef3a
[Decompilation] [th05] Stage 5 midboss: Rendering 4f853261faaaaf3e4d247f4e57d4412f6dfc6f14
[Naming] [th04/th05] Midbosses: Defeat animation rendering 4e648a66be23595f9d5835d7b36cf1aa32343dc4
[Maintenance] [th04/th05] Bosses: Single-file, multi-segment code structure 944a66cf77e482ac23eff1857848f3c4aca8ad26
[Decompilation] [th02/th04/th05] Text overlay: Fill functions 68aa32098262f0b9440df74938bf180c68da8c42
[Decompilation] [th02] Text overlay: Right-aligned 8-digit number display afbca78e6cf29848850ab29a0f5087a71b8bcfb5
[Reverse-engineering] snd_delay_until_measure(): Corner cases 7cae44a31fc12972ef39eea462c5a1e031163faa
[Reverse-engineering] graph_putsa_fx(): Weight function cutoffs and glitches 6a29e43b43d986930cef0847428d1752430c52c8
[Research] Document the master.lib graph_gaiji_*() carry flag bug 0f98341c3497a1c55c5167be8af3c1e82cd9d7f2
[Decompilation] [th03/th04/th05] Cutscenes: Main script parsing loop 6d977a9df711ddea1ee724fb69c0f148da2b817b
[Decompilation] [th03/th04/th05] Cutscenes: Script opcode interpreter 8118e61c77e4ce2ae99ed6714be556f6b4ebbad5
[Maintenance] [th04/th05] Cutscenes: Move box code to the main translation unit f01e46700d2a3ea526fafc366cbbcbcfadc4df41
[Decompilation] [th03/th04/th05] Cutscenes: Line and box feeds ac3fba3dced3d107fd8049a9b6eeb600acc7de81
[Decompilation] [th03/th04/th05] Cutscenes: 3-digit number parsing 0d852659313dd2adcdae74956b6b6bfa4da71514
[Decompilation] [th03/th04] Cutscenes: Box background blitting and unblitting 371292dab2cb24a3131d1df31557fce1002414f5
[Decompilation] [th03/th04/th05] Cutscenes: Masked blitting of new pictures 6f8b32ca4a2bcf9a4775a203871207c8c80d5762
[Decompilation] [th03/th04] Cutscenes: Copying pictures from VRAM page 0→1 684c149befe13b20a0442a5e61e76848ba67fc2d
[Decompilation] [th03/th04/th05] Cutscenes: EGC initialization fb9f18e967c4efad9234871f1e0152980451c804
[Decompilation] [th03/th04/th05] Cutscenes: Script loading and freeing 023cdacc3640c035d5e55afb5478e0f4bbcf9f3c
[Decompilation] [th05] Cutscenes: Return key wait animation 576f49129aeb372a423032b204b7450890375d4f
[Decompilation] [th03/th04/th05] Cutscenes: Input handling 815bcc830816c97382087e7e1a3de2eb88481481
[Decompilation] [th04/th05] Cutscenes: Text blending animation 7cda9e28b24e98edff30d5d4e9eb48888522af82
[Reverse-engineering] [th03/th04/th05] Cutscenes: State variables ee717c1d19048c74e514977a7f9021ceac7dfa02
[Maintenance] [th03/th04/th05] Cutscenes: Move into a separate subdirectory ccd5b70b9fa17e5702227fe2976baf14a9ae65d5
[Maintenance] [th02/th03/th04/th05] Define a constant for a white VRAM color 2458172c988d4909df964793874336e563cf6a63
[Maintenance] master.hpp: Pass element counts to the hmem_allocbyte() wrapper 55d98369d9d230f79b7c67c81cef2a2a22be44ff
[Maintenance] master.hpp: Centrally define packfile filename length 753f73f5f2911b2e3d70ba61bc7d31c15ab3de1f
[Maintenance] Turn TRAM width types into Shift-JIS width types e83d0772b2362a10df4810eabc6cddd1ccc30024
[Maintenance] Correctly declare egc_start_copy_*() d3abb3b3eca5b71b3cc182cd66965888686da02d
[Readme] We have fully decompiled a single game 139746cca9ad3dbb6aa370d06c616ee20ea98e30
[Readme] Fix the position independence explanation link a0f50a92ce877167d3eca6cca8f5c3a49577d34a
[Readme] Move all game-specific badges into the same column 1a0b9d4cc2f83ba2fe3c85ceca7b8ad09fdfc7e4
[Maintenance] [th01] OP.EXE: Move master.lib data back to the ASM husk a0ff3f13d29189264ced4fc735abbbbd79ac294e
[Decompilation] [th01] OP.EXE: Move the final pieces of data to C land ab7dbf046281629787b8b8ca6ffbc8d56308eded
[Naming] [th01] MDRV2: Rename the board check function e1b65b6eed92b5c5ad360fce1587524190aebc49
[Decompilation] [th01] OP.EXE: main() 77832e9e72df81511bc81e30fd028976b108f6f6
[Decompilation] [th01] Main menu: Music Test update/render function 2beb55d0c4558974e29ce075fe76df81e1a23e12
[Decompilation] [th01] Main menu: Playing the selected Music Test track f00093f7c4a89e816e400d973a1fdc58f98a57d1
[Decompilation] [th01] Main menu: Option menu update/render function 97a60b64fc6000af2ed0701c516e03da6c5ae98c
[Decompilation] [th01] Main menu: Top-level menu update/render function a4b72d448d3aa4ecdae9cd1d5d1b0d4c90971e94
[Decompilation] [th01] Main menu, part 1 (reviewed) c714c533101ccef16c42c2eee64f4ee6b5a28fd0
[Decompilation] [th01] Main menu, part 1 cc77dc0f19be00f347dd58660c14c8f15529ffbb
[Maintenance] Reclassify previously labeled ZUN bugs as quirks where applicable 47cd4130647de9e6485ea0167785863a2f7579a5
[Maintenance] Review any redundancies and label them as ZUN bloat 650c1e3364829669ee350baf9987817132a17461
[Maintenance] [th01] Finally add a BGM mode type 201722d25a34afd751293a9356b9a498af5e6286
[Maintenance] [th01] #include common.h from the resident structure header c4302b4ab7004b28688ace6931bcbee8ba4254c6
[Maintenance] Correctly define `nullptr` as `far` for far-data memory models ed3fbde7d72ca7b02fbaf01ae6b7b23c16a44ebd
[Maintenance] Make the locked condition handler macro publicly available 08fa2151caddb32c33c4872ec6df243d74921ea9
[Maintenance] Fix another bunch of accumulated typos and dead code 690b4df14ba4b657afd7d93bf3019bc3332a4112
[Maintenance] [th01] REIIDEN.EXE: Move master.lib data back to the ASM husk 3123c9d3fd1543ab421fbd64d2b007e1c5fd40d4
[Decompilation] [th01] REIIDEN.EXE: Move the final pieces of data to C land 65ce43443cf1ed56b65b05e2f67ed626b8926c11
[Decompilation] [th01] REIIDEN.EXE: main() 08e064fce0b3b4f5225e4c7173238d4af7bf86d6
[Maintenance] [th01] REIIDEN.EXE: Fix the last remaining type mismatches 6a3c1e0f8da06a4ec613969699f359fc2e7d5253
[Decompilation] [th01] Bosses: Freeing function switch 0fbc674973a0dff17fed418b8880a5df67738992
[Decompilation] [th01] Pellets: Committing the destroy score 7b79d185bd2cfe23baaca61d3d4cc8e8c7920963
[Decompilation] [th01] Error message for invalid resident state 36958c2c1fd51ad812822e998cd64f18ab7c9194
[Decompilation] [th01] Redundant and incomplete graphics freeing function 2174245229dc3721a2d676b6d739dc98c21ee666
[Decompilation] [th01] In-game debug variable display 07ea48442577d9ce02df880318125f45850cbeb3
[Decompilation] [th01] Memory info screen 414770c7177013d0b3088bae183b9fb692771667
[Decompilation] [th01] REIIDEN.EXE: Out-of-memory handler ea8e2a2f9f145f50d8364c2e084822c8ceb5753b
[Decompilation] [th01] Score-based extends 44dbae80620f35e5ba0611f4cae19987d34ad53a
[Decompilation] [th01] Player: Game Over animation 9814f769fbb8b6ef51623ea23c321bb9c30bc64a
[Decompilation] [th01] Continue menu a981007b7af7980f054388c771a79eed1c7a16b8
[Maintenance] [th01] REIIDEN.EXE: Merge the first two translation units again f075c0904e8e5aac6a0feb787ddfc22810581f9a
[Decompilation] [th01] Pause menu 191a3497d8d3469c0fb6e9069950fc09507f7848
[Decompilation] [th01] Orb/stage/pellet unblit/update/render/VSync function 402bb38324cfaa6c90b294be0e854ef24bef6fc8
[Maintenance] [th01] REIIDEN.EXE: Merge the first two translation units ff42470c8d305c6296774350642bc552db77f666
[Decompilation] [th01] REIIDEN.EXE: Move already referenced literals to C land d4140adb6e1198a93f645b86db1be69378bdafaf
[Naming] [th01] Rename `done` to `player_is_hit` b60a23e7374331f589a7e0f5dcc42a02d2294b54
[Naming] [th01] Fix stage ID vs. stage number confusion c26f885502632a50fdf93888ad7c3794d36ccae6
[Naming] [th01] Player: Clearly distinguish the reset subfunction 881094f9c61b9ad5bc2befce82fcfc6d98650dfa
[Maintenance] [th01] Add functions for blitting default player and Orb sprites 8877c66b243a56814d89dad3da7f300625648c6f
[Maintenance] [th01] Rename the `test_*()` functions to `debug_*()` 3f8c0f46857172e94a98be7c9199c8ec9d64243f
[Maintenance] [th01] Remove `extern "C"` from all remaining areas of code cf95cc8717b88b843104f78fb3644909cb5076cf
[Maintenance] [th01] Move remaining non-literal data into a new assembly unit 40051f5ae26b716e8594e820e7cc50fccdf4878e
[Maintenance] Keep Turbo C++'s <conio.h> from redefining I/O port intrinsics cc9b3235010ca60e67811997110ac445c45cfffe
[Maintenance] [th01] FUUIN.EXE: Move master.lib data back to the main ASM husk 158a91e3ce81954a265082dde6e725d90855b4ce
[Decompilation] [th01] FUUIN.EXE: Move the final pieces of data to C land 1fd32fad0fa70288e354d8506afc6ab74930448c
[Decompilation] [th01] FUUIN.EXE: main() 96e18b33be1fe013c55b2c32334373e41d863559
[Decompilation] [th01] Move FUUIN.EXE input and High Score data to C land 90077fdc790b22fd6342a6f43c516b85c8273f8b
[Decompilation] [th01] VSync interrupt handler: Move all data to C land 643f662815d7f618b5c6a06d512799205e75845d
[Decompilation] [th01] Text mode functions: Move all data to C land c5b7f8d771857a81dc8459fd72667cba247e8c58
[Decompilation] [th01] Game init and exit functions: Move all data to C land 6b3fc6c4d1038a83c8ccd494187c63d5a2a74210
[Decompilation] [th01] Core graphics/palette functions: Move all data to C land 443a334067e019b6b7285e57b8dd582fe678c395
[Decompilation] [th01] .GRP / .GRZ / .PTN: Move all data to C land e79f6c62bfabe4aebb3858c1943dd039caa348eb
[Maintenance] [th01] Move OP and REIIDEN master.lib data to new assembly units ce9f1ed0c02e0598dec03b5dac5434bd9ca4c3a7
[Decompilation] [th01] Pellet delay clouds: Move all data to C land 774c97e31dd365cf695743dac0fc2dc9fa3388bd
[Decompilation] [th01] Random resident structure stuff: Move all data to C land 738964a451df20175af1c611534543584682ca6b
[Decompilation] [th01] VRAM page transitions: Move all data to C land 1971682309eafd081f57c9e4d2eceef8cc097184
[Decompilation] [th01] Shootout lasers: Move all data to C land 1031815450e2a3f2442845d14491a579b3dfe1ee
[Decompilation] [th01] MDRV2: Move all data to C land a3bc614e68d772048b1bb9dd56b4a0d813dd0fe9
[Maintenance] [th01] Move FUUIN.EXE's master.lib data to a new assembly unit 04f5c27d13e0736b692d6d5b9af525baad1d38aa
[Decompilation] [th01] High score menu: Move BSS data in REIIDEN.EXE to C land bfb15c7afead35f145f898984939538ebf933767
[Decompilation] REYHI*.DAT: Loading only the high score 36930a2604100ae99dea851e444d618486f88e1c
[Decompilation] [th01] Boss defeat sequence: Move all data to C land 09d45778c0cd75ce2d41cb73c73c9b34215d5130
[Decompilation] [th01] Bonus screens: Move all data to C land d79f06b66a17e760e651212f51ddc1dd10a9b04b
[Decompilation] [th01] TOTLE screen: Main function 156c2455e77b042102178c72b3da735323cd92a1
[Decompilation] [th01] Stage bonus: Main function 363fd54e6a8d3e03150c7d151506b66010cd6317
[Decompilation] [th01] Stage bonus: 4-digit value → fullwidth string conversion 998721e6c1b36dc3c8090b45395108ab344bd32f
[Decompilation] [th01] Stage bonus: Digit → fullwidth numeral conversion d6e7dbe3871f4b59719aa6fcc3fb720d779e374f
[Decompilation] [th01] Stage bonus: Background box opening animation 06379be894f0b2980ca0f577c47876db1a8b0a06
[Decompilation] [th01] TOTLE screen: Transition animation 4dc26ecc8f3ed6dbd29b178faddaff1360f77d36
[Decompilation] [th01] Alternating left/right-shift VRAM row page transition bd8e9ffa2eadf8810b70fc4d9cb0da235625247a
[Decompilation] [th01] TOTLE screen: Metric digit animation 613f340b33dae82eab9c006c0b3f939de826968e
[Maintenance] Correctly declare unsigned VRAM byte amount types -.- b93f21698283520a828977757b4598ddb4922a1d
[Maintenance] Simplify EGC macros and hardcode the chip's register size 79e9ab77dc6a69d24473ac3d11c11b03fa0ffbe3
[Maintenance] Introduce proper Shift-JIS and JIS X 0208 types 60a7e44b53ce5b3e0a77485001a9d96008980607
[Maintenance] [th01] Move REYHI*.DAT declarations to the formats/ subdirectory e4124ca0047eeb34053a087654168bcad43922f7
[Maintenance] [th01] Pellets: Avoid the header's dependency on sprite sizes 3e3aded8076d15bde937b2b49e7238975279fd75
[Maintenance] [th01] Don't #include grppsafx.h inside graph.h 96510b3cbabba5bbee4d5d62b8cf45bb45ab785d
[Maintenance] [th01] Compile all remaining C code as C++ e97a869e90359af10493e8793d727749279f6fee
[Decompilation] High score menu: Move all data to C land d398a949fcb652e550181cbe9c4c0ad0e42102f2
[Decompilation] [th01] Verdict screen: Move all data to C land 6e36dfd93b2189fbc3f9415cba534013ca339155
[Decompilation] [th01] Endings: Common beginning 64fe9bbff9b9c1b9edea945ea8e029b816d2aa2b
[Decompilation] [th01] Boss entities and animations: Move all data to C land 54653a33c3c03efb49bbbf5e3bafd8c58019d85a
[Translation unit catch-up] [th01] Archive functions 00f3cacc5e201279392fd5e82ae38130e132cb60
[Decompilation] [th01] .GRC / 8×8 shapes: Move all data to C land 5fa0cd5a86a4613f0f733383915bca7cdd3147b5
[Decompilation] [th01] Items: Move all data to C land 624799bff26f13257c72523502e3df8d9e190a05
[Decompilation] [th01] HUD: Move all data to C land 459f3db4bd5db127828f0af3732fc36502423d5f
[Decompilation] [th01] Stage timer: Move all data to C land a2200fef28ea49dc6ac52bff57a8e60e75102d51
[Decompilation] [th01] Player / REIIDEN.EXE .PTN: Move most data to C land d29b128915be0d7f995eb264b902dfd11533b81b
[Decompilation] [th01] YuugenMagan: Move all data to C land 515b4c631503b12fbed88eb6cb5f7d501dd17d8e
[Decompilation] [th01] YuugenMagan: Eye open/close + 邪 recoloring function 149fbca7bd4bf15b4dba97bf64485d99850b2ba3
[Decompilation] [th01] YuugenMagan: Main function 5030867f75122b71d599788fe912cd1876a8e306
[Naming] [th01] YuugenMagan: Eye open/close + 邪 recoloring function 239a3ecd860dfcce5fc67a05a9232afdac8321bc
[Decompilation] [th01] YuugenMagan: Regular pentagram unblit/render function 3770b0c403ae63162a975ab97043814fd5ae8b08
[Decompilation] [th01] YuugenMagan: Spawning missiles from the southern eyes f186169e593177294daa43a52ffbd3727491051b
[Decompilation] [th01] YuugenMagan: Phase 1 pellet pattern 8ee20b19389f36cf8e93a74225efcf9926a5f8ba
[Decompilation] [th01] YuugenMagan: Downwards 1-pixel lasers during phase 0 68562bb006f7d9d8f89a027c0be5acd670ca9281
[Decompilation] [th01] YuugenMagan: Sprite freeing b3921f34a6e30118f178146f8bf8e2fd94939335
[Decompilation] [th01] YuugenMagan: Unused formula 37968b9c4bc85241387473eedf0c3796ed5e08cc
[Reverse-engineering] [th01] YuugenMagan: Eye distances 6f05a1bbf836abdab222e41b299818d5a1651701
[Reverse-engineering] [th01] YuugenMagan: Eye sprite IDs c26ef4bdebffd07a4dbf3313ab8fac0e94e940f2
[Decompilation] [th01] Line bullets 813d54fd0d59ba0a8e844a052c708a22ce61c69d
[Maintenance] [th01] Pellets: Clarify the bounce-from-top motion types abe7d4f1baa5998b759331f07f9158eb44bf1b46
[Maintenance] [th01] Define select_for_rank() as `static` 11dd60e67eae98cd3c1896f4ea091870633afe09
[Maintenance] [th01] Elis: Move pattern data section before the *_load() call 45a9463def3c54d41c3302cf82b787c96672152f
[Maintenance] [th01] Boss entities: Rewrite the entity array as 5 variables 2db58cb3d9464718fc85f8dc54651cfd4591b8ca
[Naming] [th01] Boss entities: Clarify that the lock also applies to rendering 55ced3badac2bac3b3458a9ded59ea50c4325773
[Maintenance] [th01] Boss entities: Move Orb hitbox setter to collision section fb72ea5be6b64971037d20fca8600f507c668daa
[Maintenance] [th01] Text mode functions: ZUN's proprietary attribute bits e5ca2928d22b41e845245120fec39913a2822a35
[Maintenance] [th01] Publicly define clock direction constants cfea4971eeac875f638615b60112b68baf75dd94
[Maintenance] [th01] Move BSS data of FUUIN.EXE segments ≥4 to the data unit 57835690e8041e74d054a58693396361f61ea4d1
[Maintenance] Introduce color component constants c99f824f97ca567e317cef3300e8cbf2f72235a7
[Maintenance] Fix comment↔code associations a10fe95b31ae22b4618180567db0f9f24745ff2d
[Contributing] Establish a more greppable convention for space-saving `union`s 386d9cd4cb8beae1de445c0d9a18c18deecde07a
[Contributing] Define `struct`, `class` and `template` naming conventions 456768a4ffaa86de4328337b4527318456a86e4b
[Research] [th01] Konngara: Discover the cause behind the green discoloration 454c105483fda9ccf04f98e8096b90107451145c
[Research] [th01] Mima: Explain the palette resets in the hop pattern f629b45ce7502041c136b2c3974d76f941feffb4
[Decompilation] [th01] Merge segment 32 into a single translation unit fa46d71f2e74d183e6b67a7bc7f855a7f491a9c4
[Decompilation] [th01] Mima: Move all data to C land f933b619b50fcde6b1f950e36b8afeb5f23787b0
[Decompilation] [th01] Mima: Main function 04d12e8d5f86ccec53cafbc29d3ac900faf433a5
[Decompilation] [th01] Mima: Pattern 8/8 6fb3f11c9889a73154d0b62db8101dceacb66b74
[Decompilation] [th01] Mima: Pattern 7/8 0d85cfa44d2e2ee2b9152d3456fa73f9ae0f12f1
[Decompilation] [th01] Mima: Pattern 6/8 33481c857e62c0237759d4eb6ec60bed85e55dfb
[Decompilation] [th01] Mima: Pattern 5/8 e2c82d8ebe304721466351f1e13499935a6599f9
[Decompilation] [th01] Mima: Flame pillar rendering 6b1329d6cf9cae8689e2be453348ec279a7b4528
[Decompilation] [th01] Mima: Pattern 4/8 327730fca5fd75df798cd190d7b079c577c5b672
[Decompilation] [th01] Mima: Pattern 3/8 1772a2907af48024299ec21f1fc720c5f9ab0953
[Decompilation] [th01] Mima: Pattern 2/8 12eb04cc9ce5c63a098cfce47babb7761a005b50
[Decompilation] [th01] Mima: Pattern 1/8 6a6b800882e14423e67083a52649dcb6cfd39fca
[Decompilation] [th01] Mima: Regular polygon construction 5896752e93cd400cc323a1359b256e475fab6522
[Naming] [th01] Mima: Generic pattern state variable 03b6288083dea1e7fa767b893652855354076bca
[Pipeline] bmp2arr: Emit 16- and 32-bit arrays in C++ mode a0096e19c182b648413620728b1a9278c81b7725
[Pipeline] bmp2arr: Emit trailing commas in C modes 3ea61a8fa7f9802d19127143000563459126eb67
[Pipeline] bmp2arr: Add a C++ output format 73670108ae04557b7b13c951dc75806d351c0d26
[Pipeline] bmp2arr: Move C type generation into a single function caf48cf3ef68f6a5e2aea33369a78433a368ea92
[Pipeline] bmp2arr: Support sprite widths of 32 pixels 47dc6a6285bfec37eaf500599cd6516ce60cbc98
[Maintenance] "Properly" work around playfield fraction inaccuracies 44f52c07f034099f584780ce419cbfcf07772bcb
[Maintenance] Implement constrained random numbers for playfield coordinates f8a8ea6ddaa2a7f58ec27262a0ec0969bd2e8942
[Maintenance] Return random playfield positions as screen-space coordinates 7070e5f1fa5a13a3b98a58580d4999073dc6ebb3
[Maintenance] [th01] Bosses: Rewrite shot hitboxes in a visually correct way 01fb8529efbc1463c63fb5eec68294b58d35ad74
[Maintenance] [th01] Bosses: Rewrite Orb hitboxes in a visually correct way cac520e4665e27b8bf3d4f58753c7890cbb5b882
[Maintenance] [th01] Boss entities: The hitbox method relates to the *orb* 853952b6107c5c2e1d54f983452c3c178bde58b9
[Maintenance] [th01] Clean up pellet headers c6e51f7545ec2fe184b5b3266679cedc4a5ab5ec
[Maintenance] Publicly declare decimal subpixels f6d264aa6e258533ba287f03f2f3dd7b9b667069
[Readme] Update branch overview 3259190530fae07023d866febece73426fd451c8
[Research] [th01] Document the inadequacy of bumper bar collision handling 0ae642056ce29452fffe0ce13f9ca8b6a76f586c
[Maintenance] Declare the optimization_barrier() a single time 0c682b5bc00584973ffdf56764262f58761e6ab3
[Contributing] Define function brace placement rules 3e79deeb3a0bdec6e6c000c7919a17668dfca42c
[Maintenance] [th01] Cards: Merge segment 30 code into a single source file 7b6090110fe537f9233959739f967e42229a52d5
[Maintenance] [th01] Move integer→string conversions to the `math/` directory 3a97e3f846b82b3e68057b69f6f26730f733862f
[Decompilation] [th01] Bomb animation 39da5da2eaddd56d7dad3f70f8a86f05c5dad863
[Decompilation] [th01] Stage objects: Move all data to C land 9cfb0a791da021893b55d1ae31ede85e42d174e5
[Decompilation] [th01] Stage objects: Portal update/render/reset function b539336ed39e5271724a4d9635b922b40e77fcb7
[Decompilation] [th01] Stage objects: Turret fire/reset function 86cdf5f655d10f1102fa797d25c0966364e26335
[Decompilation] [th01] Stage objects: Main obstacle update/render function f85587dda478d7eb4d589c193743ee4376209117
[Reverse-engineering] [th01] Stage objects: Per-type obstacle frame semantics 8a92de7b275ebc85c94727708c5d2bbb163fa2bf
[Naming] [th01] Stage objects: Rename the background+object blitting function e86a6ca88b8257a1ca83a1fe8472d998051615b6
[Maintenance] [th01] Orb: Don't make the Y velocity publically available 05b28f709b9ef28e640372a20501b81dc8b3118a
[Maintenance] [th01] Move STAGE?.DAT loading declaration to `stages.hpp` 711af96314ee80b1ec4a76d55296f0288c3da0db
[Maintenance] [th01] Declare z_text_vputsa() 2113031a277f01788e71a5a666080535fb0a5e99
[Maintenance] [th01] Remove `extern "C"` from more areas of code 001033d15a93880307fadfcd19277b164bae348a
[Maintenance] Consistently indent preprocessor macros 901eda4594583215b19f25c3b6cc7fb709359848
[Maintenance] Add a `nullptr` polyfill to platform.h bca1b7d38aa880985b4359780733ba04371f305e
[Decompilation] [th01] Particles / HUD HP / Missiles: Move data to C land 4568bf7383acd8848c910ea8463fbf348ad86271
[Decompilation] [th01] YuugenMagan: Sprite loading and initial variables 3f52d9a16f94cf301d894b3a74bf41b96d059b00
[Decompilation] [th01] Missiles: Spawn function + Sprite selection by angle 988cf64bf311ad41b7a538fb589e8d0c45fe7389
[Decompilation] [th01] SinGyoku: Move all data to C land 68ace9c1268795a3b8b2fb98bfd2ac5b171d5b25
[Decompilation] [th01] SinGyoku: Main function 50f58a6045d6b664fd26b64d6430366d42a27f2f
[Decompilation] [th01] SinGyoku: Transformations for patterns 5 and 6 40d9348c8695720ffff31f721f2aee997a571806
[Decompilation] [th01] SinGyoku: Pattern 6/6 a3364e8f60b652ec0a2594b59d653665548e9792
[Decompilation] [th01] SinGyoku: Pattern 5/6 1020bbba56124e6b018fa4abf47f6043bbb23717
[Decompilation] [th01] SinGyoku: Transformations for patterns 3 and 4 5447272a2b19fa367b0716385a29c94cc0f592a1
[Decompilation] [th01] SinGyoku: Pattern 4/6 6508d215bc34c75ebe61269e65fb9d103ef03191
[Decompilation] [th01] SinGyoku: Pattern 3/6 e0e8808530fe931174663d759db63224c6fd8ef7
[Decompilation] [th01] SinGyoku: Sphere→person→sphere transformation 20a8e665de6a978ee855546e49cf9cc7fba2b9c4
[Decompilation] [th01] SinGyoku: Pattern 2/6 ff49e9e32bff8c08a440c71ef6d97da5703486e8
[Decompilation] [th01] SinGyoku: Pattern 1/6 8edf287eb61676f0e00d24367d65cecf5d341d60
[Decompilation] [th01] SinGyoku: Rotating sphere movement and rendering 6c3dc34f9be840593d24fcd24cb2b3cac5f3311d
[Decompilation] [th01] SinGyoku: Accelerating sphere rotation 108714eb1d29a8bc7e6a8a60c8014211d9f6238a
[Decompilation] [th01] SinGyoku: Sprite loading and initial variables 3c7371c2def4149459e5ade4598a850f4fd72f8a
[Decompilation] [th01] SinGyoku: Sprite freeing 49248f458cc02b63172a388a2b217391004c45ba
[Decompilation] [th01] SinGyoku: Sphere rotation and rendering 4779a95c953e9d12e77d5f6f3662dfbc79f69b03
[Naming] [th01] SinGyoku: Generic pattern state variable b48c03f5cc3b9b03b166800408c60787fcb45d94
[Maintenance] Remove `extern "C"` from more areas of code 6f2881f0568e28ffc0cdcd74014317f95826d4fb
[Maintenance] Remove the intended type from the -Z -3 inhibition macro 54fe83513ba922750ee8ae88b5b78ee53a08ee84
[Maintenance] [th01] Boss entities: Declare dummy clamp parameters as defaults f4785a2577d887a29cf278c16fea042c265a5180
[Maintenance] [th01] Boss entities: Force `bos_image` through a getter method 124f68946a69994b8bf018111de892e3fe9b9c98
[Maintenance] [th01] Add select_for_rank() subpixel and laser speed wrappers 7cbe5337846947404736fa12931dd21f5ee91219
[Research] Revise the section about inlining 5f5b1a5132950fbcb0e68a4263a63e3971bbb4ab
[Readme] Update branch overview 9342665312ae9ed5fd332f6a7179ee5f9fc77147
[Research] [th01] Find out why the ドカーン ending image is even visible at all 67e46b5e336f9a19057c939d01e5047e90116ed4
[Decompilation] [th01] Endings: Bad bfdb1e33f4f8571c0db1221266e636674de0e104
[Decompilation] [th01] Endings: Good cfb0b5f21bb628f04ac39c8a8267b151c4bc67c9
[Decompilation] [th01] Endings: Boss slideshow f1dbf5f13fec7d1660194866cd76105706e9471d
[Decompilation] [th01] Kikuri: Move all data to C land 0724d972de7debcab971d94a2413d33a85842a41
[Decompilation] [th01] Kikuri: Main function dfd52513dea6ca65f6ea8b900af1b70e5c229fa4
[Decompilation] [th01] Kikuri: Pattern 10/10 5af2048057aa1b898734ef23a36ab5fae5cbfb6f
[Decompilation] [th01] Kikuri: Pattern 9/10 f047079139d86ddccb38737f1f16977fd937e5ca
[Decompilation] [th01] Kikuri: Pattern 8/10 a8191f029a68f3890517ce1b75a3d7f104f90c35
[Decompilation] [th01] Kikuri: Pattern 7/10 46bc4fbe64f757f437f95e3d5ec0ec6fb1706326
[Decompilation] [th01] Kikuri: Pattern 6/10 023d75f93b48d96b305f3f11e275d3de07a20a5d
[Decompilation] [th01] Kikuri: Pattern 5/10 9dc05082a78adb19ae5f18dc244b1c8b4413a5fa
[Decompilation] [th01] Kikuri: Pattern 4/10 b6d65cab76239425a9af70cca55a50b080265d72
[Decompilation] [th01] Kikuri: Pattern 3/10 662b53dd1f2cac8c5da5b1cd390bb9f53105aaf4
[Decompilation] [th01] Kikuri: Soul activation 6a710cd7a097ccf4362df340158aa1a0456d4e67
[Decompilation] [th01] Kikuri: Pattern 2/10 2cae284a05a01059be40ae70d25536694741b8be
[Decompilation] [th01] Kikuri: Pattern 1/10 985c4af2fff760dd1ae480035ec1dced8a41e257
[Decompilation] [th01] Kikuri: Masked line copies from VRAM page 1 to 0 440637ed8e14b1584c02113b8b3dd2ce559597e7
[Decompilation] [th01] Kikuri: Tear and ripple effect rendering a1895cc7b3aa1914d42795107f79dc900f753dbd
[Decompilation] [th01] Kikuri: Player↔ripple collision detection ca5aef394a04fa662722f72e0aaffba7db935dfc
[Decompilation] [th01] Kikuri: Tear spawning 38dd331734980c166655afbce6f0179955df908e
[Decompilation] [th01] Kikuri: Soul movement and rendering calls 53abecd7d49a69f8dd4ff005c8ce51b001558cee
[Decompilation] [th01] Kikuri: Orb hitbox d0d36b5840b9bad403e9457a1e784a4ee360777a
[Decompilation] [th01] Kikuri: Sprite freeing 0b3077a0c798e2db184f9dbe94e3ea084d5d4dab
[Decompilation] [th01] Kikuri: Sprite loading and initial variables 01b3b271f67a9a710a18e3d1a8e33463e5c20838
[Reverse-engineering] [th01] Kikuri: Tear animation frame 0e08db76c99657e03a1c3c5100fe7a6dc7909eac
[Naming] [th01] Kikuri: Generic pattern state variable 8199a877007980f31fe3185fe4a5c7576e11a173
[Maintenance] [th01] Boss entrance rings: Move main code into a macro dd8461e0bc954e39f19b4fada487f427697cf6f9
[Maintenance] [th01] Boss entities: Add a static sprite size wrapper template c3572c62a903c3dff4a1d0e4dbaf485e2fd23be1
[Maintenance] [th01] Remove `extern "C"` from more areas of code 7bdf35a22b01fbd712e403173aec56c0cb4e9aaf
[Maintenance] Define a VRAM byte mask constant 00d4b4ab30ea4baf075be4b974105039168c5cf7
[Maintenance] Add a static_assert() polyfill to platform.h 8fce97ea1cb3a4ba3c05e2b293a68039ce2a6ba7
[Readme] Update branch overview 16aba1bc9a02995de57a5899ee29c0289a23b351
[Decompilation] [th01] Verdict screen: Title calculation 48db0b7a72213cbe28b2e4273020ea10240dff7a
[Decompilation] [th01] Verdict screen: Main function 2863a69836e3ae312a9b7f23aee4777a851fd925
[Maintenance] [th01/th03] Don't declare an Extra rank cde11994859401ee758b54869d4e86e7d5428dbd
[Maintenance] [th01] High score menu: Publically declare text colors e98fa0b78e3040fddee6ff25ca528873a4c3b4ab
[Maintenance] [th01] Add string length calculation wrappers for VRAM typing e15942bb7c85d628fc412628a3520be126c31fed
[Maintenance] [th01] Move data of FUUIN.EXE segments ≥4 to a new assembly unit 94372d2e27ba238375b113f4cadd0473f6fc25ab
[Research] [th01] Find out why defeating bosses with lasers can crash the game 9cd1b048949b80c93ddaf7e4181e1857b7a56e06
[Maintenance] [th01] graph_r_line(): Make slope calculations more explicit b165871eceddafcc7d44d1216ed1cb51175d809e
[Research] [th01] Document potential HP bar heap corruption in debug mode b4033b5fe47518d00bab3d6f9af73432183a1082
[Decompilation] [th01] Elis: Move all data to C land 57c9ac5da7a6def32a7e030759c421f57ca2d855
[Decompilation] [th01] Elis: Main function e2f7a7afc4af2ed7cb749d952bb24c951a6538af
[Separating translation units] [th01] Additional hardware effect functions 006282632765330806e6d5183b2c9f422e57b1d0
[Decompilation] [th01] Elis: Phase 5 transformation / bat pattern selection e18c53d7ace90bbaec071e83a47852ded528bacc
[Decompilation] [th01] Elis: Phase 5 girl pattern selection 9299df2f53e66a29bf24c41512a8a451aa736c30
[Decompilation] [th01] Elis: Pattern 13/13 be7e88ceaf175c75bff8040e48a88cbe79442883
[Decompilation] [th01] Elis: Pattern 12/13 387431ed15547f2131213cd241f5f536bcab6f05
[Decompilation] [th01] Elis: Pattern 11/13 a25abad9c4b132d6f3e96bcf7423d771dbaba916
[Decompilation] [th01] Elis: Pattern 10/13 0c19af88645998b3c71e560446aaed1557b2720d
[Decompilation] [th01] Elis: Pattern 9/13 f6a1711883af213806e29c19adf90c4d1691fccf
[Decompilation] [th01] Elis: Pattern 8/13 4e9c39c9f7e97b165f095d23259e29dcf6518d7a
[Decompilation] [th01] Elis: Pattern 7/13 1ea836f4b77d85393b57f042dd7917bc44a54d79
[Decompilation] [th01] Elis: Random bat movement 5d93a5038b47909a4fb4e86214403dad4335ec66
[Decompilation] [th01] Elis: Bat→girl transformation dfb0c43b866bf76cf3e767c4180134cf755b897e
[Decompilation] [th01] Elis: Girl→bat transformation 520e488701352df7e1ffdec7999099167a408e41
[Decompilation] [th01] Elis: Phase 3 pattern selection 327237599165177dacfd740a677ed76e12131ee1
[Decompilation] [th01] Elis: Pattern 6/13 31aa78a2d1d9011d4a083b445bdf267b28dec507
[Decompilation] [th01] Elis: Pattern 5/13 603931baf1a868ba50cc64ad8642997df61de43a
[Decompilation] [th01] Elis: Pattern 4/13 b2006b50420ba0dc5ba9389e1a98c537c8197269
[Decompilation] [th01] Elis: Star of David rendering 23dbb7fd61f029affa390b7adda81965a4c9e23b
[Decompilation] [th01] Elis: Phase 1 pattern selection 8088f2fd3516ad3d4e441e267684bbd4153e651e
[Decompilation] [th01] Elis: Sprite-relative polar line blitting and unblitting 0a4a6adda5ec132d32454a850719dab8cb0d2830
[Decompilation] [th01] Elis: Pattern 3/13 183d7a2b577f576b26c7e82bb66a49dc925cbb9f
[Decompilation] [th01] Elis: Pattern 2/13 85a76f74a8f076a5e8ea2d9775f4804bbc77fba1
[Decompilation] [th01] Elis: Pattern 1/13 af7dd0862662f9f5f7893d29fe6fe5ad7f856523
[Reverse-engineering] [th01] Elis: Common bullet spawn area 19f754f770cf32d894da545d93371edf42927358
[Maintenance] [th01] Elis: Define constants for the individual entities d34e5b90fa4ff780bd5f896f9bc03a5313b5d70b
[Decompilation] [th01] Elis: Move compiler-generated data to C land 6beb197ec2588d7d260d69eefdf0269d0413dff2
[Naming] [th01] Elis: Generic pattern state variable 772c1730fd717e126403c03dd20ef42ee21ac8ef
[Naming] [th01] Missiles: Spawn function b26aaeaee58a187fdab113005feecbe95f7a4b5c
[Decompilation] [th01] Add a generic entity position template 2c09fa4fe3a140b6c884a76940efc8893fa03b77
[Maintenance] [th01] Remove `extern "C"` from more areas of code 91984de4b22bd27795d26d866af4a0e8a64796b1
[Maintenance] [th01] Use a common macro for sloppy unblitting of .GRC sprites 1173a58289e3c5dbc702b1537e745c296d819446
[Maintenance] [th01] Add a helper function for rain pellets 1371c855266876bbd8781fe9750aff753f9041ba
[Maintenance] [th01] Shootout lasers: Add a safe subscript wrapper 365d8ea3462ce7e010b16d8d45b552d8a2bf7b3d
[Decompilation] [th04/th05] Demo Play: Reading the replay file e1f3f9fe0b783e0bbbe1dd79625d6ec7469e34b7
[Naming] [th02/th03/th04/th05] Rename GameCore() to GameExecl() 0e26210d2bfd2ad56ff891114961025806fd1693
[Separate translation units] [th04/th05] vector2_near (undecompilable) 8e06497d4b93a4ae6c33b2f44978627d01b0bab8
[Separate translation units] [th04/th05] Spark sprite spawning (undecompilable) c41bfbaf3ecadca77e3515af7148ea198a8486e4
[Decompilation] [th05] Bullets: Sprite selection by angle 04de2fddd922676c91c2a136cd450ed86e49d642
[Maintenance] [th04/th05] Drop the `_seg1` suffix from the GRCG functions 852f2dd176dc42cdbdc4b7dc28e3d5e20b149840
[Decompilation] [th04/th05] GRCG mode/color setting functions in segment #3 b487e297c43b5d7927bd6b7c974ba0561d243533
[Decompilation] [th04/th05] Midbosses: Activation and reset functions 93ad67e60cd5b77a193acd6fd278f370d05dd57e
[Decompilation] [th04/th05] Midbosses: Sprite area invalidation 5edc4597499a18df5cd213ad92f59e6cd5e59534
[Decompilation] [th04/th05] Bosses: Backdrop rendering fb924f7f9a1e09f1bce104a3b2e5a7a0b9379dbf
[Maintenance] [th04/th05] Split segment #1 before the boss backdrop function 7af6be4aa5c18de054dc782b09f3ff39fed6fb1b
[Decompilation] [th04/th05] HUD: High-level HP bar rendering 88d12acfa23eb17af153324aceccaa5aebcc8216
[Decompilation] [th05] Stage 1 midboss: Main function bcf19490f0797a6089f11c40effcbb0c2aa070ca
[Decompilation] [th05] Stage 1 midboss: Bullet pattern b4c03ed89a144a414eea24b3ccc05c503b289095
[Decompilation] [th05] Stage 1 midboss: Circular movement 79f2a114a52a70a3476f1788c13230c737643dbc
[Decompilation] [th05] Shinki: Main function 71cb7b5e93e0262ae0e82fddd785b8162c7655be
[Reverse-engineering] [th04/th05] Bosses: Patterns seen / defeat bonus flag 1898ee4564bcc348d6f80a90e48e6f05abc24ad6
[Maintenance] Move `nearfunc_t_near* = farfunc_t_far;` workaround to decomp.hpp 70b30221da00232cae25a0f15f5e54a37c57a068
[Maintenance] [th05] Shinki: #include 32×32 ball code from the boss script 9ef178431a37c3dbd6b5168f510ce42ada16e8d9
[Decompilation] [th05] Shinki: Floating movement 2fa7cc1a4fce985808f9c8d1120c9c634f6be639
[Decompilation] [th05] Shinki: Pattern 11/11 7fc320882243e76d96235b9d935ce8460920ed01
[Decompilation] [th05] Shinki: Pattern 10/11 293e16a052c83deac268eb811c6d9b62bce7e524
[Decompilation] [th05] Shinki: Pattern 9/11 2027639c81f85b89e1893a4f70c126479b1c2ec7
[Decompilation] [th05] Shinki: Pattern 8/11 8b79dd537101664397ee747473d17eac84c8f093
[Decompilation] [th05] Shinki: Pattern 7/11 55cd74326c5928c9789933c7a297830f40fa791e
[Decompilation] [th05] Shinki: Pattern 6/11 4ea60d1155b6f9ff940c48d29a56ad8954415f67
[Maintenance] [th05] Custom entities: Introduce separate template structures 37fac9a2a0441acdae49228bc7fad124e3ce8760
[Decompilation] [th05] Shinki: Pattern 5/11 3b21a75cab34703cb0f49b3efaa23877e6471333
[Decompilation] [th05] Shinki: Pattern 4/11 d3819445ba4f7cc47ba691662009cad678a0f6c3
[Decompilation] [th05] Shinki: Pattern 3/11 390976c24d1871cc3627180f2e691b205ee12922
[Decompilation] [th05] Shinki: Gather circle intro for patterns in phases 2/3 4bd8e01c3dc333015ffa18bc7036791e74601120
[Decompilation] [th05] Shinki: Pattern 2/11 3fc58928ecdd7df7caca9903395aef7b2db2cc15
[Decompilation] [th05] Shinki: Pattern 1/11 4ca195b6cb1166c77135ffb69732a45c6f298d2e
[Maintenance] [th04/th05] Bullets: Move pellet rendering to its own header c963e2a1e465667b77d021d84af11a8e01ada398
[Maintenance] [th04/th05] Bosses: Merge BSS definitions into a single file da1558d9ff63f66fb00558759efc12a9fb6b69ac
[Reverse-engineering] [th05] Bosses: 16 shared state bytes b8907097fa91c6556f5d38bb640416a9e2ca00e4
[Maintenance] [th04/th05] Remove `extern "C"` from more areas of code 63091686e2c57cfa672eaa1e4043356888a11073
[Maintenance] Add min/max abstractions for constrained random numbers 270d376089d19120d4c30819e23135d42fd8c3c3
[Naming] [th05] Officially rename "curve bullets" to "cheetos" 306a504ef5c52662644259576063d2905f443702
[Readme] Give an overview over all branches 573481528282e00245f47eb8fc3d4f5c7e2d8e40
[Reverse-engineering] [th04] Stage 4 Marisa: Last frame with bits alive b4876b60c03dd6940405ce9a062f3e2639bb05d3
[Decompilation] [th04] Stage 4 Marisa: Point-reflected movement c90c7d52c4fd8111459ac7ce4e537bcb35b3293f
[Reverse-engineering] [th04] Discover the cause behind the Kurumi crash on Easy 9f4e5ae1ac4a48cdda9ea5f9d7f1da2241fa68a0
[Decompilation] [th04/th05] Gather circles: Update function 5bca6bed0f41f5c8e7f5360420c6b257b9ed5080
[Decompilation] [th05] Sara: Background rendering 0d703fb2e10c94b2676e34df2505ba631c5ba3e2
[Decompilation] [th05] Louise / Alice / Mai & Yuki / Yumeko: Background rendering 5655b53f10493e2714a2c24f6c069f9115cd83b6
[Reverse-engineering] [th04/th05] Bosses: Clarify background rendering details fe74b31bb6d20487adee7eb90aed9b537b3a3179
[Reverse-engineering] [th04/th05] .BB tile animation: Tile invalidation 2ceee1df02eaf74969f6531f61a6a6b5bb00d796
[Naming] [th04/th05] Bosses: HP fill and .BB tile animation phase constants 992cd7497014e2765c2d1e6b84bad043cbbe1786
[Maintenance] [th05] Bosses: Start a new header for implementation macros 71b6e66fec44c368b7a9ea71d5106763ffe3bb96
[Maintenance] [th05] Shinki: Move backdrop coordinates to `bosses.hpp` 3836a8d2624e98fe3f26b4f3cb467d0c28d47e36
[Naming] [th04/th05] Boss-specific names for backdrop colorfill functions 5dca74a77c1bff0c03852a3353763699ba640e20
[Maintenance] [th04/th05] Declare common (mid-)boss phases as proper constants 019405a2413efbd48fe6199ce23348da74e5a089
[Maintenance] [th04/th05] Define grcg_setmode_tdw() with the correct name facc3dbdc983233e9088332eaf6a83e77441e828
[Maintenance] [th04/th05] Remove `extern "C"` from boss functions 6db32b92fe4b2e229637aac66b688fabc93d61dd
[Maintenance] Remove `extern "C"` from `x86real.h` and `decomp.hpp` a2358bef47fa83a0e6d47cd6b6428a341efe8c90
[Readme] Windows 10 was the last edition to have a 32-bit version 22abdd133bc4e6ba89b72052c538c3fda91d74b1
[Readme] Mention that this project does not include original game asset data f45226f0c3b7850ecdc0a1c5406a586aec532ee5
[Decompilation] [th05] Shinki's 32×32 balls: Update function e881f95ce10b92d35d72cc5796e4535a2acd3eb2
[Decompilation] [th05] Shinki's 32×32 balls: Spawn function adffa1ccf9339622e96e17e7296c501d17aeb07e
[Decompilation] [th04/th05] Boss and midboss player shot collision handling ac7822ec71a6e8bdf1081a06b4df23319ce7d1f2
[Reverse-engineering] [th04/th05] Player shots: Boss collision detection flag f5533c700e99e6c57f663b3a33301651fe43f90a
[Decompilation] [th04/th05] Bosses: Item drops 38eb77c828fdf908764f3bc6b5bf803dafeb97bb
[Decompilation] [th04/th05] Bosses: Phase switching ac497e8bc4eabc77fca0103651f1fae176d69574
[Decompilation] [th04/th05] Bosses: Defeat sequence 354a4724f388a11ec6c72294341915ae5a68b4c8
[Maintenance] [th05] Split segment #3 before Shinki 0fb1a9f01e6e0daca123d461f055a4217e75fdb7
[Maintenance] [th03/th04/th05] Drop the `_lebcd` suffix from score variables 08488e259462dc4cae1678ad7308f8bc2abb63ce
[Maintenance] [th04/th05] Bullets: Move clear/zap declarations to new header 83ff3c9ec9e26d30fde3fc25dd6f421a33d5624a
[Naming] [th04/th05] Rename `bb_stage*` to "bb_boss*" 5206311da37b4c344681a97492f0e0a53fdeedec
[Reverse-engineering] [th04] Bosses: 16 shared state bytes 426a531882b78e8cdfce8b2f38685fd29c4b63ea
[Reverse-engineering] [th04] Stage 4 Reimu: Data segment variables a03e8a78b80c00a19d375238050db4f42c1fa9f9
[Reverse-engineering] [th04] Gengetsu: Wave teleport amplitude 5e4f1f0f1d3be03c31ae0e3bee739c9645879e20
[Naming] [th04] Bosses: Assign pattern functions to their respective fights 9e75a62ac995bb12d6ee23a159063f622a4a89b1
[Decompilation] [th04/th05] Dialog: Script freeing function bab5634ff12f529225a82f4fbdf3411a2fa26280
[Decompilation] [th04/th05] Dialog: Script loading functions 903d824c484c6a0fb57bcc402fb7c0475e0292f4
[Reverse-engineering] [th04/th05] Dialog: Buffer pointer b33631daf4f1af26d5a0ec5289c4c530fd40255e
[Reverse-engineering] [th04/th05] Game quit flag 6c5371da9e7bdfa38f7c05e1adbf3d3188de62cb
[Decompilation] [th05] Bosses: Player sprite collision 295d5a8c6c568ebda83c1ce37760b5d17fc03cae
[Decompilation] [th04/th05] Text overlay: Stage transitions 16254c62e3b2e1527eaac45ef4691d2fac84fb00
[Maintenance] [th04/th05] Text overlay: Use proper constants for coordinates 73e7667f4ffc23862ee1c3238915c4b016eb9537
[Maintenance] [th04/th05] Text overlay: Correctly sort global data 787ba656b05b03a046e5791af542ccddbcddba2e
[Maintenance] [th02/th04/th05] Text overlay: Adopt "playfield TRAM" code 39fd88d728f97b5d8e19e2f2232a306ba8c682fe
[Maintenance] [th04/th05] Text popups: Move to a new "text overlay" module 7d5b34d390a99397bd2ab0ed1d1ee004e329bd00
[Maintenance] [th04/th05] Text popups: Drop `popup_` from static declarations ea6cd342b711056236917e5cc0837f6481f8a7ec
[Decompilation] [th04/th05] Bosses / Midbosses: End-of-phase score bonus e9b2a983638cd972ea2bf7ac2d9e29cdca3d17e5
[Naming] [th02/th04/th05] Stage clear bonus calculation and rendering bb4a99dd052909b123aed30ce904dacc9eb835da
[Naming] [th04/th05] Dialog: Main function 719baa3a5eb675dce514134d42ff883b027a7c63
[Naming] [th04/th05] Bosses: Rename `*_phase_end` to `*_phase_next` 66bcd5627250a7687ca1df550336f5c8f849e716
[Maintenance] [th04/th05] Remove `extern "C"` from more areas of code 718590908f194c14a0f8b4936f304d23ab6ed64c
[Maintenance] [th04/th05] Boss explosions: Update to current coding standards 6400e6a6897ad5234c20b722a48819b51851c8a2
[Maintenance] Get rid of ReC98.h 2efd1fb29df033dffb0ae23993264fde84675cc4
[Maintenance] [th02] Get rid of th02.h 7211d4deeb3d95f58ef431e023b1678e4c3f8521
[Maintenance] Move the ring increment/decrement macros to clamp.hpp f4a73bba3f01153e257085ebedb2d65710249b25
[Maintenance] [th02] Put OP/MAINE globals into a single translation unit 1c468eef218bd8501d76173334b256c3a5c16d60
[Maintenance] Move the contents of `music/` subdirectories under `op/` 4242480b9ad3a910d595c7d05784eea8fb06e95b
[Maintenance] Macros: Update to current coding standards 9432e0d2bf81395c36c06d989dd365cb082cc6ae
[Maintenance] Macros: Avoid references to implicit local variables ea54e59f939a4602b43fade6d086c0720d5d02e4
[Decompilation] [th04/th05] Midbosses: Defeat animation update function a21ab3d2254fb9ef266f9885fb453c0bb594ef2e
[Decompilation] [th04/th05] Playfield shaking b3e61807a121e0858a69aad3d11f7e0060905284
[Maintenance] [th04/th05] Split segment #1 before the playfield shake function 6bf40d71cbb306d3fe6347ea9e3a15f75ebc8b48
[Decompilation] [th05] Lasers: Spawn and control functions a907feacf80ffff5f8cf330f40f4f76350f9ecb6
[Maintenance] Add a new typedef for unsigned Q4.4 values 360e07a413cf9390ea60710b37af346183e86f9a
[Maintenance] [th05] Declare laser symbols in C land, using current conventions 3850f8aafbd673a4d5007f23affc4d32067e7f57
[Maintenance] [th05] Move laser-related code to the `main/bullets` subdirectory 96ed07f31ed1a4883ad585277b50dfccc93df6d7
[Maintenance] master.hpp transition: EGC-accelerated VRAM shift functions 78dcbf4b75e5705d28edb705dd25061875b3b078
[Decompilation] [th05] Curved bullets: Spawn function c63e05ed2d6998651da7514c6307aa1831e5b834
[Decompilation] [th05] Curved bullets: Update function 944654596d5fe73ddca2a664d3b1d998219a3633
[Decompilation] [th04/th05] Items: Splash circle spawn/update functions f91829877083906a9353d4fb889c37f8c3891a80
[Maintenance] [th04] Split segment #3 before the item splash functions 9e0eda1d19361783af1e21428f35dcfbe917bd59
[Maintenance] [th04/th05] Move bullet code into dedicated segments 07b956b3ad690f81f1656459f46d5f9821189206
[Decompilation] [th05] Bullets: Sprite selection for angled bullets 9471e133e93d81fed21051e84bb88619c6907b87
[Decompilation] [th04/th05] Bullets: Symmetric turns 8ff719da915ea1c3616968b1420ec6a3305c8e54
[Decompilation] [th04/th05] Bullet: Special motion velocity calculations 142af8f3e4c47488534d6f6fd7a5aa2e227e528e
[Reverse-engineering] [th04/th05] Bullets: Special motion types 1b6012b1fc93a379116459ad94ce47e3e24c3f23
[Reverse-engineering] [th04/th05] Bullets: Parameters for special motion types 24219dc8975afa373369cabf1f30a35bc163ed6c
[Maintenance] [th01] Pellets: Rename PM_NORMAL to PM_REGULAR 5a8bbd2dbd2fb1115927ea016cd79811e928e7be
[Decompilation] [th03] Player: Collision detection f9d983e0c0bfb90026408d08287f66db9dab700f
[Maintenance] Highlight dependencies on pseudoregisters with the `asm` keyword ff3d2cafe4e5fd118a60ae0b0da7b2efe421ec61
[Maintenance] Consistently use { brackets } for inline assembly ba9fe94b4231dba48b800859e7e1f3edcd0863c5
[Maintenance] Change the inline assembly keyword to `_asm` 60583953722213859554e97731a0ed60c3f3a33f
[Maintenance] Replace unnecessary inline assembly with pseudo-registers 9ec31feef62df49cc547535efb80b6fd1a716d5d
[Maintenance] [th01] Update the MDRV2 functions to current coding standards fa998af4caaba137e76f9cf4005bedaef4160cf9
[Reverse-engineering] [th03] Player: Useless ID / attack sprite offset variable c1d8e210f68abc9ffd777be5c43fb72f7146bf58
[Maintenance] [th03] Add a separate type for SPRITE16 sprite area offsets 9b28791c7f0522301e2ed1c729e0351dda8a475d
[Reverse-engineering] [th03] Player: Pointer to currently updated instance 49b898b6fb0e79be734f46df96b6e4e390b9ba1a
[Reverse-engineering] [th03] Collision bitmap: Rectangles (undecompilable) 1e2c7ad37e37e2ae361a73e6663bbcc44a110ee9
[Reverse-engineering] [th03] Collision bitmap: Drawing vertical lines 07561f4824a7a4af3cf9e99fd8e23e9cdd6aae42
[Reverse-engineering] [th03] Collision bitmap: Drawing slopes (undecompilable) c04ca8da91c8072b272fc3275988698435592664
[Reverse-engineering] [th03] Collision bitmap: Variables and constants 3072208336b6e67fd7a6b5c34cfc93c50317f615
[Naming] [th03] Player: Rendering function 31b9338824cb987e80314c83bcc9947ff494544e
[Maintenance] Introduce factor and bit count constants for subpixels 1fd9b6a0c19ef4563b6f49f864f03ef43dbd357b
[Maintenance] [th03] Adopt the PlayfieldPoint subpixel type from TH02/TH04/TH05 70cbf4bbe17a4e30116f898047c8f6834c5c85e6
[Decompilation] [th01] Sariel: Move all data to C land 313450f00ad55bd8d192501bd696a2c8ffd0bc0c
[Decompilation] [th01] Sariel: Main function 8b24a07a095561f6232a0f9e1dda6bb2531ce80d
[Decompilation] [th01] Expanding 4-stack, 32-square boss entrance rings e0454a41bb56ffa7a361846ac1064deb86c8c522
[Decompilation] [th01] Shootout lasers: Broken reset function d9228e03204ea8444a7ae5bd6dfea10ef52a3904
[Decompilation] [th01] Sariel: Pattern 16/16 091f19f69b57b0cd77afbae7c2bb53607736a893
[Decompilation] [th01] Sariel: Pattern 15/16 77858c1337785caa010f0308331586cc245fa33b
[Decompilation] [th01] Sariel: Pattern 14/16 0393af6f0fac7e5e46aad8817d1f434aa0c2c488
[Decompilation] [th01] Sariel: Pattern 13/16 9e5b344af17f280dbdf6540d532c44ac1149742a
[Decompilation] [th01] Sariel: 2×2 particle system (horizontal) 28e278005070eed351739c8fc3a04b0ebd83f21e
[Decompilation] [th01] Sariel: Dotted circle unblit/update/render function 43a18beafef9802b2db8a90af662a8846a9e3b24
[Decompilation] [th01] Sariel: Pattern 12/16 cceb09fc3ea05da4668a5636e2fdacb8a3546315
[Decompilation] [th01] Sariel: Pattern 11/16 60621f8aa85378a1269d26e8689190e0d9c2ddbe
[Decompilation] [th01] Sariel: Pattern 10/16 d2170cff519fbe53c6a8f85909b876c52b3d0487
[Decompilation] [th01] Sariel: Pattern 9/16 5f0cabcc787647264c60be0ea88a38535e36ace0
[Decompilation] [th01] Sariel: Pattern 8/16 c557757e7977c0923e109ff833e8f01800a7d9c9
[Decompilation] [th01] Sariel: 50-frame screen shake 7250fe6e0f0b23448f55d3348d44de05123076c2
[Decompilation] [th01] Sariel: Pattern 7/16 e4a304febe90abc90840ccb6d0dc86709045a2c6
[Decompilation] [th01] Sariel: 2×2 particle system (wavy) 3a751d59d4bb9710dbd60be5a4a07a913b5b2ba2
[Decompilation] [th01] Sariel: Pattern 6/16 abda8fbda51c865075fd317ab53e475410712054
[Decompilation] [th01] Sariel: Pattern 5/16 630e8a9017355ed660a50169c524583636cad8e6
[Decompilation] [th01] Sariel: Pattern 4/16 5d557a243759122c09a31b6205ec8a8a84f91091
[Decompilation] [th01] Sariel: 2×2 particle system (vertical) c5dc45b1c495c69688d76d0963b87a745c8a9013
[Decompilation] [th01] Sariel: Background transition animation a78c4ff0f36ea7dc1db579cf58e06a82a5918b63
[Naming] [th01] Rename grcg_setcolor_tdw() to grcg_setcolor_tcr() 244136c42bf05b11bc3b4ba9ec2832e7b8e9bda2
[Decompilation] [th01] Sariel: Pattern 3/16 40ac9a7aa196ec4e00afd7b543334f19200495d3
[Decompilation] [th01] Sariel: Pattern 1/16 d1627c6f563dd05e735b975df2e36ef11b4e3619
[Decompilation] [th01] Sariel: Pattern 2/16 0054b10480a9add55e689d24811aadbb89fe176f
[Decompilation] [th01] Sariel: Dress animation 97e7a2ff6dbc699aa1029cd15d040b726aa7d760
[Decompilation] [th01] Sariel: Lowered / initial wand sprite blitting af76839067e52f111e1807fbfe7e83e488dad5f4
[Decompilation] [th01] Sariel: Wand raise animation cfa5428dfff4b8ed45c34fdbb3ea9774a2b94993
[Decompilation] [th01] Sariel: Shield animation 5db5df4da3b160c599197e722835997d7a22cb8f
[Decompilation] [th01] Sariel: Bird reset/fire/spawn/unblit/update/blit function a0fe812216d5bd2733dec6928003d993117ac476
[Decompilation] [th01] Sariel: Move already referenced literals to C land 76ea88c0bc6aae4d2fae6c81f662d9df025b9c8b
[Decompilation] [th01] Sariel: Move compiler-generated data to C land 8b01702aa5f8bed7712ec2ddfdd856aea50fbf40
[Decompilation] [th01] Sariel: Spawn ray rendering b1ec7fce284b6bdf37b91fc40e96d218186c4dba
[Decompilation] [th01] Sariel: Sprite freeing c8636aed9b5b2bf9d96d75f0cd6d38abc87fc88f
[Reverse-engineering] [th01] Sariel: .GRC slots 55fe56544ba0f2779ed7d352abf2227a881046c9
[Naming] [th01] Sariel: Generic pattern state variable 9979a0fe83de091d084da400f5c3b5b7785e1cf1
[Maintenance] [th01] Move boss entity loading calls next to their freeing calls 4f63210c8a7102138eb3c1a5ee46cd232efc8ef9
[Maintenance] [th01] Better distinguish boss "entities" from "other sprites" e4343b2c95f1982ea6973f9496b603f08cf4b6fb
[Maintenance] [th01] Move one-off GRCG macros to planar.h e1de05288b9c0d17646e1c393a2641da39d4d175
[Maintenance] [th01] Start a new header file for direction types 210476f34d447292c9ad670a4a9c964b6f12c5ca
[Maintenance] [th01] Set PM_NORMAL as the default pellet motion type parameter 07fa6cb4d34bbf7040995d91369382b4ad8f1f1e
[Decompilation] [th03] High score menu: Name entering loop 27f901c48d8f72f431f0d19bd9dd6064ea052537
[Decompilation] [th03] High score menu: High-level row rendering functions 1465731780075f935888c95ac591b7ca517493f5
[Decompilation] [th03] High score menu: Rendering a single row d452fc0f3d277741470f3ba49fa78f74df23c838
[Decompilation] [th03] High score menu: REGI*.BFT glyph blitting a823bec80107470dafe090e13cd0742d739fc72f
[Decompilation] [th03] High score menu: REGI*.BFT glyph unblitting ace067fd0736ef33481e2414168c7ab936b27e87
[Decompilation] [th03] High score menu: Alphabet ID → screen space transform bb4a9d730131baaf1377c012547b099d39366afc
[Decompilation] [th03] High score menu: Initial alphabet rendering 1658c0acd3307ebad14fcd2f060781adb141d5d5
[Decompilation] [th03] High score menu: Making room for a new high score 8750e9e079ac169570b925af44b6cf5f29152872
[Decompilation] [th03] High score menu: Loading and background blitting da3617a219cb36f3fa6d8e3d197d4bb021e9a9e5
[Decompilation] [th03] YUME.NEM: Loading 2d5491e4a9ceaa7bf91a1a59c15b69a976312956
[Decompilation] [th03] YUME.NEM: Checksum verification 4b7028c9d34cc20447cb6f1ddaaea3e0c5d932a2
[Decompilation] [th03] YUME.NEM: Default data b20bf944be39ef08c064a73fb23ec141839ecd85
[Decompilation] [th03] YUME.NEM: Encryption and saving 6d5918881f8c1adf311e250b5776fec970bff794
[Decompilation] [th03] YUME.NEM: Decryption 79aeb8dccc9478975c56be43fbf97e05e1d592a3
[Reverse-engineering] [th03] YUME.NEM: Structure 3361cd69912f212f085a85124335c63d0495a468
[Reverse-engineering] [th03] YUME.NEM: File name 53ccdca29a024dd82362717ccadb03fd4fdd7f7f
[Reverse-engineering] [th03] REGI1.BFT / REGI2.BFT sprite IDs e3d611fa429c05879d9b34f02067680e3227271c
[Maintenance] [th03] Assign segment #1 in OP and MAINL to a common group name 38f9db0592364075ee4d6358b40290dc3b429a41
[Maintenance] Change line endings in old C/C++ files to LF efff8d61bb805f400cede9a730378b5e4c6dda6c
[Maintenance] Remove the .ALPHA segment ordering workaround b95450b0266b41c4791eba363327dd0ce89fb7bf
[Maintenance] [th03/th04/th05] Rename `playchars_t` to `playchar_t` 4d8392ce9ce01c8a971572492f8c07417c124cc9
[Maintenance] Consistently use "score" instead of "points" 5fac2006ff7a3e884ed2a12b6800e243f31d6a36
[Maintenance] [th01] Remove no longer used score declarations in ASM land e95ff108e3c73c92b924a9e4a6fbe3b0607ed4d5
[Badges] Add the new set of finalization badges 49e67893cf12de282a2db5d4c75c91efcfa08476
[Decompilation] [th05] EMS / Dialog: Exit function 479b76609a4b39daf9b3eeb7dc6270e30e66c89a
[Decompilation] [th05] EMS / Dialog: Face loading and rendering 9ae4f7726e4a4ba9532cbb1eb862d590526ed3fd
[Decompilation] [th04] EMS / Dialog: Exit function 90a2e367bcbda5f44f4b99d9cd17ff3f416473bf
[Decompilation] [th04] EMS / Dialog: Loading the remaining images 7673456ab3838af88c9ba1b1ac3f88ad3280e475
[Reverse-engineering] [th04/th05] Dialog: Face unblitting d48479ce1b739c85ef6bf7b580212631aa45ac1c
[Reverse-engineering] [th04/th05] Dialog: Currently speaking side a1ebba2faef528a02f6170b2428e33cad82ddf0e
[Maintenance] [th04/th05] Dialog: Move UI code to a subdirectory under main/ 1b3755c592c497821fe07ac3b36b6c380d420233
[Decompilation] [th04/th05] EMS: Rendering the eyecatch image 8b046dad0fbc44d0ed9f852d6e6e79fa23ec9443
[Decompilation] [th05] EMS: Preloading boss facesets bd77463f5909c17e56ef327cc5f7360e1b1f919d
[Decompilation] [th04/th05] EMS: Preloading player character .CDG images 3e99a30c17443bcad0d9c806f4812b918325f935
[Decompilation] [th04/th05] EMS: Allocation + Preloading the eyecatch image fe33d49e0a4e2e0f349de10d587387aa7d392a1f
[Reverse-engineering] [th04/th05] EMS: Cache area layout ccca7bf6ee9607bc31f2e1226399b578c6e2d571
[Contributing] Don't enforce preservation of symbol names from leaked ZUN code 9c99bc0eb11651c6e557a40ef636391999c64203
[Maintenance] master.hpp transition: EMS functions 488115513c87435e42b0b398b44b3d87f128c275
[Maintenance] [th04/th05] Split segment #1 before the EMS functions dbd9e23bf99a81614183c2424108d2a7812dc166
[Maintenance] Consistently use singular for entity structure and file names 99aee2bdbeaa0f00f679a073eda7847776b42891
[Maintenance] Remove inconsistent newlines before `extern "C"` braces 15b4011ff29fb5cfde33b15f1bfbad5b2df22706
[Decompilation] [th01] Boss defeat sequence: Generic version c2de6ab23bdc03080938f01f8af3ba5983693014
[Decompilation] [th01] Boss defeat sequence: SinGyoku version + route selection 021cbc8e9d8b52f6a095861e9edad21ae7a94cf8
[Decompilation] [th01] Boss defeat sequence: Drawing white lines d5ec2220ec5346af9ed79dfc973bebd700565104
[Decompilation] [th01] Stage opening animation 61091c31ccdc2bc87601653517592277b6c1857b
[Naming] [th01] Remove "back/front" terminology from inter-page copy functions 692e8d1c4254255d68c74fe9e9323508d1828a43
[Maintenance] [th01] Stage objects: Fix inconsistent function declarations e612d9a653443d8734e3d7370d51b71c84811205
[Maintenance] [th01] Start a new header file for text layer functions 5ed7f7150a79ed38982a6e058041480c44a2fba8
[Decompilation] [th01] Loading and initializing common data used in all stages 6e7ab076591453f6d77a6d9dc83a65911800845e
[Decompilation] [th01] Sariel: Wand sprite unblitting and background snapping 6e0f9e568af28e80f7c9381372a87ab16dbed7c6
[Decompilation] [th01] Mima: Sprite loading 920274f3d6d28b707142cc3b997ec49a0e02de21
[Decompilation] [th01] Mima: Sprite blitting 61005a6debeefdeb187a93c1a30df8136444a197
[Decompilation] [th01] Elis: Girl sprite unblitting and background snapping e6979070ce8149a45be9f67c2f16e5b7507e07de
[Decompilation] [th01] Elis: Sprite loading aeb7fb48aa15b4322e51e5c37376838e468e2c3d
[Decompilation] [th01] Elis: Initial variables e0ecc6bdc00d4bae1cb7bd06ea212d775b068cd0
[Naming] [th01] Bosses: Post-defeat-flash palette 1b1e926cc71eabe4b60591c889b18a0577cbdb47
[Decompilation] [th01] Elis: Sprite freeing e9af8c91db8ab3016ee34493ec1a422edff92cff
[Decompilation] [th01] Elis: Wavy teleport animation 6217e51efb9b69ef124c0aa04eae831bfef3c14a
[Naming] [th01] Elis: Girl sprite unblitting and background snapping 5e8ed65c045b9868b993eb2d37ea30fb5a175984
[Decompilation] [th01] Mima: Boss sprite unblitting and background snapping 256d699b82f109d6f731c15375fb041e21f70ab9
[Decompilation] [th01] .PTN: Rectangular access macros 57de750f6b285122e84d44af64bef87792d1cf6b
[Decompilation] [th01] Mima: Spread-in animation f2bca016e2feddd41becfebf6daf2ef036765f5e
[Decompilation] [th01] Mima: Broken vertical sprite transition f2d55e78bf283a64014076ef6cd5e655f806fbea
[Decompilation] [th01] Mima: Initial variables 0aaa021c95a7aa28b5e09455dcda393614b7fd55
[Decompilation] [th01] Mima: Sprite freeing b517bd3502ec6416046293b868b9f9241ab25fdf
[Maintenance] [th01] Konngara: Move entity freeing closer to the alias macros 9cf3006d4a2f527255fcfd5260c45b5953d30df1
[Decompilation] [th01] Missiles: Reset function aaa0ebec9263b8bc9d526237b438eed6e307a7db
[Decompilation] [th01] Missiles: Unput/update/render function b4a64324fe25355dce0eac19ee5a0fb27d8d3b2a
[Reverse-engineering] [th01] Missiles: Structure bce77062c994574564936a30d7b1da6dda177c12
[Reverse-engineering] [th01] Bosses: .PTN slot IDs 7bf183621c4b737e49fb574d9671c0e7b54be464
[Maintenance] [th01] .GRC: Define the slot count in terms of used slot IDs 5fa2a4da0998ae2acd8736573574cd436c46a25c
[Maintenance] [th01] .PTN: Define the slot count in terms of used slot IDs b28585efa0bdfa13e0bd6bc45a1d5d9a5950641f
[Decompilation] [th01] Bombs: Damage condition e39e5cd73ecde88b56b91f909642b02534be6e12
[Decompilation] Move palette loops to common macros 7cc0189439e447f54cfa85aebdcedfb567100bad
[Naming] [th01] Drop the redundant `_all()` suffix on manager class methods 629bf7b08e49968777e1e64ef4af9fd42769c768
[Decompilation] [th01] Player: Miss animation 7a0e5d8d850921a8626203e2ac3a6b768660dbf2
[Decompilation] [th01] Move shot combo start code into an inline function f1fdc3e3fd55c4de95cc954b2a0cb88034b1be6d
[Decompilation] [th01] Player: Orb collision and repulsion handling ec4e541ee7ffcd488f981972e090e288d3872127
[Decompilation] [th01] Player: Main control and rendering function 6d572b33cf16aa1584fa08e5c67f9c77981d5d59
[Reverse-engineering] [th01] Player: Orb collision and repulsion constants fa77fcfa36ef641b9b4b5ce595bb9a49b85a9dfb
[Reverse-engineering] [th01] Player: Movement and attack modes and submodes 326128dbdedfd94c9f2e4f9d5990ee0130f532c0
[Reverse-engineering] [th01] Player: MIKO_AC.BOS and MIKO_AC2.BOS sprite IDs 24b3a0d37d4341a0283839dc73f20aa89a730561
[Reverse-engineering] [th01] Player: MIKO.PTN sprite IDs 1dde208a92a25ecff2020f0ebd96fd0f8ba511f0
[Naming] [th01] Reduce CPlayerAnim instances to their width and height 8d6ab7535361efda4012d4b6f5e715102e050c89
[Maintenance] [th01] Rename the resident debug flags be2985088725d35ffba8ca6c51e7ff97b8932e5c
[Maintenance] [th01] Change the left/right input flags to an enum c4a0eb6aff194a17728ee4942638e53c46d0f373
[Build] Don't compile any ZUN code directly to `bin/` 8db3dd2919819cc34e15fee04efb665b99e08d98
[Research] Discover how `SCOPY@` disables Turbo C++ stack cleanup optimization 81dd96e4f429b349b81ae98cee02f9289fb908b1
[Research] Discover how producing line numbers (`-y`) slightly optimizes jumps 44d13898350ac1f7f34b35251e15395d7529358a
[Maintenance] Fix another bunch of accumulated typos a317cb49fc6ff417440337cc80bbb009765765b0
[Maintenance] [th01] Remove the last traces of `#pragma option -b` b9f1fefb84c255bef332d07b09861decbae62fa9
[Decompilation] [th01] Particle system 42ba4a5725b225113ee003a1eaef64e5a9b2242f
[Decompilation] [th01] HUD: Background snapping and initial rendering b6e07e301a027c1231bc00d85240c0d516ff1efe
[Decompilation] [th01] Stage timer: Initial values c1ae914b99d02f0ba4738d84e6bbff9eec669385
[Decompilation] [th01] Stage timer: Background snapping and initial rendering 6c98e473ccc5bf2d5de7744e839441009b33db55
[Decompilation] [th01] Stage timer: Tick, extend, and render functions afd570756179092f268d6b5be3cfd642c77e28e3
[Maintenance] [th01] HUD: Rename *_initial() to *_bg_snap_and_put() a2c06fbd2b7e8f166d7f66a200a80e6357d89353
[Decompilation] [th01] Pellet speed modification ea0997ab389a2128de0f7b5b3d2e37cf6651e5e5
[Maintenance] [th01] Split segment #1 before the pellet speed modification code 2f9304781faf11ddf3aa9e2409def6aa980d0a45
[Decompilation] [th01] Stage objects: Card update and rendering e491cd7b0396453ebfc0561e23fc94c1747d8bd3
[Decompilation] [th01] Stage objects: Card score popup rendering 36068acb026f80fc64b0d91a27136c7ea0778501
[Decompilation] [th01] Stage objects: Card/Orb collision handling 4c500599a936eb7e0549879051ee4184dee426a9
[Reverse-engineering] [th01] Stage clear flag 4b0b092a26d17b83000b93a4defbb029760f04a7
[Reverse-engineering] [th01] Bombs: Animation frame e3c36d0151c585c73cbb100254d8283ba31efe58
[Maintenance] [th01] Add an enum for the cels in the card flip animation 53c5c5b3aac0ea586e9df8a6eb083ff360f683f1
[Maintenance] [th01] Use a single header file for bomb declarations 0d497452ef91c587ec84b8e74f90b9600b128ee9
[Maintenance] Force the difficulty level enum to `int` 31d7f166b9d885eaa58c52066c4f083465d77b8c
[Decompilation] [th01] Point items: Unblit/update/render function 990b5982923c1de6d52778a129e3c32fbd1ec711
[Decompilation] [th01] Point items: Collection and drop callbacks ef5225448cbe12ea503828509e78ec0d37bd2d85
[Decompilation] [th01] Point items: Reset function e9950e2399e7c307aa856fc6ba411b88044a91c3
[Decompilation] [th01] Point items: Blitting and sloppy unblitting loops 655d366166b5cd17a19174effe76df4c6cb50c97
[Decompilation] [th01] Point items: Collision handling 6160a9c93f4675f89cfe06a2c08af82222f29636
[Decompilation] [th01] Point items: Spawn function d7430f2bcc78d1f2c0a934ed99d4dd311f4b7744
[Decompilation] [th01] Bomb items: Unblit/update/render function a82725862a1b14d0104ba7964e1ba648be76fff3
[Decompilation] [th01] Bomb items: Collection and drop callbacks c0c0ebc3cd6e54a5f52deaef6918d5c859d995b8
[Decompilation] [th01] Items: Generic unblit/update/render function c8f05b8675e167a33ab53d0d8936fc83da79de36
[Decompilation] [th01] Bomb items: Reset function e993e20da6ee8534a348e30eb694c939a0e97d72
[Decompilation] [th01] Bomb items: Blitting and sloppy unblitting loops 54fc657902e26bf347065074a4e428c7ce9c9ff6
[Decompilation] [th01] Bomb items: Collision handling 318130ab9c7519093946639b5a7bc5bac276bcd8
[Decompilation] [th01] Bomb items: Spawn function b9bc6ac04d9e40a8529171bfbed54b32e630a42c
[Reverse-engineering] [th01] Items: Structure b75ee8c208dbd924dd09ac5ba51432eeba4a7c9c
[Maintenance] [th01] Wrap EGC rectangle copies with 16-bit-aligned widths fc40bdaa09e000d12ef16d604326d55dd68c41b0
[Maintenance] Remove `extern "C"` from more areas of decompiled code 403fbcc37f6a79ab92ac1c4f5bc4a0adee1ab855
[Maintenance] Remove all unused externs in ASM land f005eb023b1bb245ac2e084bbe6bb80c40930c74
[Maintenance] [th01] Start a new header for commonly used VRAM color indices cf356bbf5ef1db37739f904d35a1df6573548aca
[Maintenance] [th01] Start a new header for clamping macros e07624a7be7bd5b64ce9332c13a782cef43ef9d5
[Maintenance] [th01] Use a common macro for sloppy unblitting of .PTN sprites c2fa1f3d3bfd10aca9ba9d89de38e21657b6a9f0
[Decompilation] [th01] 16× TRAM letters: HARRY UP bf7bb7ed738f0a3784d2ae690500401de08e45f1
[Decompilation] [th01] 16× TRAM letters: STAGE + number d0275f7ba66b4fc08c39e5b1992392d440de631f
[Decompilation] [th01] 16× TRAM letters: INT 18h, AH=14h wrapper 6119c7122d91bfc0543b34194279fbb1dc2673c5
[Decompilation] [th01] 16× TRAM letters: Single transparent centered kanji 84a3d465dc50d4fd9fafffe480c483048f9c39f6
[Decompilation] [th01] 16× TRAM letters: Printing fullwidth JIS characters b7a10e1a0a60c00ffb5ecabc9fed1f9f230a622b
[Maintenance] Add a template for stupid bytewise access to logical structures ab4c1a9bad94d9319ebbe3323785a9e1c802ed60
[Maintenance] Adopt the peek() and poke() inline functions from <dos.h> af2c0e14a455c9d1df05518e523372ce66456181
[Decompilation] [th01] HARRY UP pellet pattern 4bc64055436ab02f4039c183600be06b90db0263
[Reverse-engineering] [th01] Stage timer c30304c71ea83409b8c927908b1eea848e21c0d7
[Decompilation] [th01] Sariel: Loading and initial variables 33c9ef6582b156f430ee1420fb26955fb02a1415
[Decompilation] [th01] Sariel: Entrance animation 0b18c7b99ab74db0755e3fd31bd4a428e1a73557
[Decompilation] [th01] Konngara: Move all data to C land e1fcd75cb455bb168eade12ae5ae365c34ce0db7
[Decompilation] [th01] Konngara: Main function 6ffe87f35b59707d159b7b6d583ce8d535e0c20b
[Maintenance] [th01] Fix boss_hit_update_and_render() declarations 8aa2b6a4059a33ac33753d84119770ce53e625c0
[Reverse-engineering] [th01] Game clear flag 9ad578ea939c90f6de7817d29a6e6617e738d21c
[Decompilation] [th01] Konngara: Pattern 12/12 40846cab45aebff2b0bb8fb6161f2fd4efc52d64
[Decompilation] [th01] Konngara: Pattern 11/12 26f019385f893ddcfaeb1019a5849eef42ceb138
[Decompilation] [th01] Konngara: Pattern 10/12 9c7981fc5951af6a26caf69782e33f4b82a2de14
[Maintenance] [th01] Fix the type of CShootoutLaser::spawn()'s `col` parameter 27c7ffaaa323bc223b8753f6354841b17b06fe4a
[Decompilation] [th01] Konngara: Pattern 9/12 4fe260f7d511f8372a08b8edd652ec04d9368400
[Decompilation] [th01] Konngara: Pattern 8/12 031b52642174e6918945c81fc2ca9fb8de203a0f
[Decompilation] [th01] Konngara: Sword slash animation 6647e3ed5f6f94e89d93726ba193e56969e93f1e
[Decompilation] [th01] Konngara: Pattern 7/12 2b84f81b537bf88edcb78b0e5e9314dfd89329f1
[Decompilation] [th01] Konngara: Pattern 6/12 eb3d214ecab1c51e4e7205dd5f28c2b802e6926c
[Decompilation] [th01] Konngara: Pattern 5/12 f023655599acfd12a2cb76e81de9e3579733d2c2
[Decompilation] [th01] Konngara: Pattern 4/12 d05c9ba6883dcb54301d17a2e6119a8675f300e6
[Decompilation] [th01] Konngara: Pattern 3/12 f67957438954a8955c0ed72b2de0355dc037e78f
[Decompilation] [th01] Konngara: Pattern 2/12 e5a76f873b7842abf9fb17ede2ab1b1b667b07ee
[Decompilation] [th01] select_for_rank: Don't redeclare the rank variable a99eb4ed44312bb8098ac46f7f6d5db5fc62ad1f
[Decompilation] [th01] Add inline functions for the player's center position 945f7991a11a451df237e328c70eeb967a102c56
[Maintenance] [th01] Use a common macro for sloppy unblitting of 8×8 sprites 18757c33f9ae30914d5296c6f3dd1d5d5a10754b
[Maintenance] [th01] Merge invincibility sprites into the regular 8×8 shapes 308b73524d491b5339d2d3c0c03080915585be35
[Decompilation] [th01] Add width and height getters for DotRect cd969d543bcbfc695b02d8717cd994d6f9e4b0f9
[Readme] Add a workaround for `Error: Unable to execute command 'tlink.exe'` 624e0cbff6f2756310e5364be524a6adb2ec6d48
[Readme] Move the TLINK `Loader error` fix to a new Troubleshooting section a54fef59d66458232e6d67b57168193b39d85441
[Decompilation] [th05] Aiming to the player 81fc86150d499de5eaaf8cc9d2eb2a58aa55838b
[Separate translation units] [th05] Rank-based speed tuning 101684c235f804d3cd5e6b7fab2ad91bf323ef84
[Reverse-engineering] [th05] Bullets: Spawn wrappers 18d4aa43f8a818f878d393f999e5af1d53f99d6d
[Reverse-engineering] [th05] Bullets: Velocity and angle calculation (undecompilable) 6127ca0ec167289f8ed740c240576e104e8d0e8a
[Decompilation] [th05] Bullets: Clipping and pre-spawn hit test 4d3a1eace80cafbecd4d6118680fcc322a3680e3
[Maintenance] [th05] Correctly declare the rank-based speed tuning function e9788d8519cf58e7407608bf9760c268f6a9a3f9
[Reverse-engineering] [th05] Bullets: Spawn function (undecompilable) b0a2621296f81aa854406d9a9f6b67482a2fcea2
[Reverse-engineering] [th05] Bullets: Far wrapper for regular bullet spawning 9ff0033a0c5c49baefb50f10dbf7301d614e8692
[Maintenance] [th04/th05] Move ASM land gather declarations to their own file 217ee589eae0ccdebd925a23ccc180205aa64c2e
[Reverse-engineering] [th05] Bullets: Fix wrongly RE'd slowdown logic ddc6c1aa3fa29f2e3de0c0c89b0b06a3d8fd3d31
[Decompilation] [th04/th05] Bullets: Update function 4d24ca53bdebe46d8043477f2c452cb65d06223c
[Decompilation] [th04/th05] Turbo/Slow Mode slowdown 0d7fc5af77adc11b46e49bc5f375a0096239a028
[Reverse-engineering] [th05] Bullets: Slowdown cause flag 6eecba1beafa58fa04b3b8558ee3b185b8725e5e
[Maintenance] [th04/th05] Declare all public spark functions in C land 4ae5e471f0a48c869caf7841fa3be6b84643c6e9
[Reverse-engineering] [th04/th05] Per-difficulty graze score 3f2077e9c52047f5c0c99d7a43acfce8921c7ff8
[Decompilation] [th04] Bullets: Special spawn function 768251d268f34fad75cc32e1d072ef8cd98ca6ac
[Decompilation] [th04] Bullets: Regular spawn function 18e755d99bb69f7c88da430d38db624085029615
[Decompilation] [th04] Bullets: Clipping and pre-spawn hit test d876eeb7bd98859c6eb78ea61346bd612d6c08c0
[Reverse-engineering] [th04] *Actual* player hit flag -.- a49c854adcc7eb3757d6406d479d3334fa2fc663
[Decompilation] [th04] Bullets: Sprite selection by angle 4cbeadde9673b02801582d5de9fdfced8cde0cbb
[Decompilation] [th04] Bullets: Rank-based speed tuning 81c3de00572a34e335b1bbb4d34f425f357f883e
[Reverse-engineering] Clarify the effect of invalid pellet groups in TH01 bdf21f0f07cba305493cbb159410c203caba81af
[Decompilation] [th04] Bullets: Velocity and angle calculation 2c52bb5ef35e28895cc4ef81f98e660272c43497
[Decompilation] [th04] Bullets: Bypassing rank-based speed tuning f99aa1ae29fce871b33bd76cfd271b46238b4ecb
[Decompilation] [th04] Bullets: Pointless per-difficulty spawn wrappers 4d7c8bb21f6634c1333eee8e8f789a6dab2c0889
[Naming] [th04/th05] Bullets: Mid-level regular/special spawn wrappers 05e4c4a80c0de40562e733ec712eef0ad6cd2e99
[Naming] [th04/th05] Bullets: Low-level spawn functions 0eb7e3854331036033ff81d64461dc135b706243
[Maintenance] [th05] Split segment #3 before the bullet update function c4cc31ee6f8da497ca97ef63513db68ae6b8ce89
[Decompilation] [th04/th05] Common transformations from playfield space to VRAM 48c67d5e1464c7ab6be00dc75341b2e053465410
[Maintenance] Turn motion_t into a template db05bffca348fcf4435fc16e98fe0285f238801a
[Maintenance] [th04/th05] Get rid of th04/shared.hpp 69a3ecf8f1e64baf9c1bb91ecee9499d3444b39a
[Maintenance] [th04/th05] Move MAIN-specific score declarations to a new header 7f19c72550ad92519325b86c11876ba022cd5503
[Maintenance] Point out that player_invincible_via_bomb is exclusive to TH02 a99cda80fd7d3a3152dccdeaa2e7f2f2d892bde3
[Research] Assigning near functions from other groups to near function pointers 6233a3c3e3f6b826922622a2330bed6d80b580d1
[Naming] Improve overlap macros 3e658b590de1bf35dd5721add1fecded0828c1cb
[Maintenance] [th04] Bullets: Rename the unused "spread + random angle" group 3019c293e4a96f88e48b920fb5018e391261f312
[Maintenance] [th04/th05] Bullets: Document the random speed range b855592c0a03fb1b13c71063872cac8e99c48817
[Reverse-engineering] [th04/th05] Bullets: Turn zap_trigger into a union af5d9c421ac74e383c1c0ef5d97ad23428d210e5
[Reverse-engineering] [th04/th05] Bullets: Distinguish clear and zap mechanics 75c4f2d3cc3080df4fbc3cbcb81ce7104ce67195
[Decompilation] [th04/th05] Player position clamping e1a26bb9b1de79e4c6592ab794a7b58d16dd63b6
[Decompilation] [th05] snd_kaja_interrupt() 53920309a1650fa48734c2c4134dfeddee8ba173
[Separate translation units] [th04/th05] motion_update_seg3() (undecompilable) ab8af795493e30881978a6770eb5952b9a8d8e87
[Maintenance] Assign segment-specific names to the motion_update() variants 751481b658bcff76fa78125bdc6a7c9c97da516a
[Decompilation] [th04/th05] Applying VRAM scrolling to Y coordinates (segment 3) f3d59bc324adc5b93c8d5647099445689c1fd7cc
[Decompilation] [th04/th05] Gather circle rendering 86713404817a50847d342fedb13f7b96021b6e2a
[Decompilation] [th03/th04/th05] cfg_load_resident_ptr() 63336432227ebcc79a645c339728262d4324b3e5
[Naming] [th03/th04/th05] Clarify that cfg_load_resident() only loads a pointer 06dbb6335cb6c669db39f3b5a91e86e2fdbcdcb0
[Decompilation] [th04] Bonus popup point display a6ace813e4f15cf22334924e517b11a0fbc19861
[Decompilation] [th04/th05] Text popups 3a41604314b08f61dab23ae40a29ac33da5c7a67
[Maintenance] [th04/th05] Merge shared popup data into one file e6e3c97eb3376fd16d9eb058a752fda4ebbba198
[Decompilation] [th05] Shinki + EX-Alice: Background rendering c9400590376d53474fb8c22f55f8106b2f2abd55
[Reverse-engineering] [th04/th05] .CDG slot IDs for MAIN.EXE a157739665bd2bf3381538fcb1100ed1f865f01c
[Maintenance] [th04/th05] Declare playfield fill functions in playfld.hpp 4eb11b55fc4ff05ade60037633b16cf6b27629a6
[Maintenance] [th04] Get rid of th04.hpp 7fc13c24acf06d504429e37ec9fb28e6cdf91ea8
[Maintenance] [th05] Get rid of th05.hpp 23c46c66541790e2e74a99c0e55ce2203c13d7d9
[Reverse-engineering] [th04/th05] Background rendering function pointers b265134541a6a13ade5668ef34da9fbaac2f5f24
[Reverse-engineering] [th04/th05] .BB tile animation: Bomb cel rendering 57499cea1c34cce414119c35ba110e6a67662d55
[Reverse-engineering] [th04/th05] .BB tile animation: Cel rendering 8691b237166c8a897b06b06355b29090e7a2417b
[Reverse-engineering] [th04/th05] .BB tile animation: Filling a single tile f3afd37e8f965675738f306ec9310caa4192c5f5
[Maintenance] Move tile-related files to their own subdirectory ebbb5b82559e63f502716efb267ceaebae79a18a
[Maintenance] [th04/th05] Move midboss declarations to their own header file 11b5febc5ab5e0410ad32aa0cc48882be84b9280
[Decompilation] [th05] Shinki: Background types B, C, and D 456b621c3a1745c53f6715b66afbb6235c1ca753
[Decompilation] [th05] Shinki: Background type B initialization and gravity f5702a599b81ad7fcbc842472909923a64cf7827
[Decompilation] [th05] Shinki: Background type A rendering a9496fa10f8e12c3939776ee3e0c15f37a0df9ff
[Decompilation] [th05] Shinki: Background particle rendering 4672f226bb3e378748e020af6cdacf40c33911a8
[Decompilation] [th05] Shinki: Background type A initialization and rotation b66400b3d2b469e38a01b0232191741ff756ef5c
[Decompilation] Find out how to bypass TCC's optimization of 0 immediates aae96aec45460b084f97189512213acd54891362
[Maintenance] Make the playfield fraction functions available to ≥TH02 8426f3e13f8b8d742de28a5524294bd3a5bfb102
[Decompilation] [th01] Konngara: Pattern 1/12 08bc188e7dae7da9598f389d0bd8fa9da84db02d
[Decompilation] Add inline functions to calculate playfield fractions 06c4694501b93dfeff066649d6f8ef8b22728b77
[Naming] [th01] Konngara: Generic pattern state variable a2bc97c413fe477bf5b32843dd966d3447849e41
[Decompilation] [th01] Konngara: Sword slash rendering 09231dc23f1d8bf1a0a59aeaf4c730517ce6d216
[Decompilation] [th01] Konngara: Face rendering 499472e8e4e2eae7b4a5701e65bda3c61f968667
[Decompilation] [th01] Konngara: Sprite freeing 94c1796869f044c4b73a6d8ad9f17ceaca37b440
[Decompilation] [th01] Konngara: Initial variables 4fe93d369918d463b300eda28c636d2c4de67543
[Maintenance] Rename pellet/bullet "patterns" to "groups" 8a5a9accd6385794ffccfaae2b16acd115182f8d
[Maintenance] [th01] Fix the type of CPellets::add_single()'s `angle` parameter cb6367a54ba98a3b71f3038d98d454c421e2ab59
[Reverse-engineering] [th01] Bosses: Current phase 76a1d8d65e5b70a43c626985e25c87b687444bb0
[Decompilation] [th01] Konngara: Loading and entrance animation 5afee78f33a55d938e466b24c27f402d9a71255c
[Decompilation] [th01] Konngara: Pellet spawn ray rendering 6c21ba15dcb66f24a9451d62b656e105a6f1ad20
[Decompilation] [th01] Boss entities: Outer loading function eba61444ce2569b039dee8251088afd523cac586
[Contributing] Officially decide on UTF-8 as the default encoding 24065337139c3b0e2e7a2ba17cbe3730f54e325c
[Maintenance] [th02] Move the packfile name constant to th02/shiftjis/ 3e2104a164ae771f956e2d3f707cfc7fd03b6aa4
[Maintenance] Distinguish between Shift-JIS and gaiji strings 241b61e808d3fdacc82ae3f78dcad9051ef68e60
[Maintenance] [th02] Remove ranks_center[data].asm 68d9419e8e265cd23535ccc5f2c8c4a9fbd83062
[Reverse-engineering] [th01] Escape sequences d856f7df16abb39959a905c7ced9861db57129db
[Decompilation] [th01] Unused, player shot/pellet-related boss stage flag 8fe3338587456edb243cec10e44c135fae23a136
[Maintenance] Add a COMPONENT_COUNT constant for RGB colors 00ca4ccc1fac011ed19f71e93323fd57fb43e282
[Maintenance] [th01] Move frame_delay() to consistently named files e5dffdd9b60d88b37c0026c54db892ccfca144df
[Decompilation] [th04] snd_load() d9858113d8135d265b88e0325d40fc237e6b9763
[Maintenance] Use a dedicated enum for snd_load()'s function parameter cd96b039fad285a0b24d5c8a61dc5e30bd683741
[Reverse-engineering] [th02/th03/th04/th05] snd_load() buffer size 46a1674250d5a8cce7f89c3cb55ea51a60641852
[Separate translation units] [th04] cdg_put_plane() (undecompilable) ca4bf5002aa9514a7a65b556b10804a9e39214be
[Translation unit catch-up] [th03/th04/th05] snd_delay_until_measure(), game_exit_to_dos() 62e0167e2043fdce9e99145dd3b1e41304503bb1
[Decompilation] [th04/th05] snd_determine_modes() 78df46af1f6ba6d0353603bd38361419b9c6edfc
[Maintenance] Document relevant return values of PMD's AH=09h function 14cb1d36651e4e3c9f79e5da4476caddb42dd4e0
[Separate translation units] [th04] cdg_put_nocolors_8() (undecompilable) d8ece227fd6d58cb1e8ed40550dd5ca7708fe3f3
[Decompilation] [th04] snd_kaja_interrupt() 7761f4e804979123f8f6223c5078c921e9ecbf4d
[Decompilation] [th04/th05] snd_mmd_resident() 4c0e76ab89922c1b1e4f53123a9a4f08032a3796
[Decompilation] [th04/th05] snd_pmd_resident() 4c8a3cb3535ed6000c950ce0fcfda36c53e386fc
[Decompilation] KAJA driver ISR magic check acd29854c7749e4f4900b6affa677692b1e3158a
[Translation unit catch-up] [th04] vector1_at(), vector2_at() 8e16481e27afcfa57607eb241607e688e22fed3c
[Maintenance] Fix another bunch of accumulated typos 794c6ab55c598835f3e6efd13f74f7088901546c
[Decompilation] [th04] .MPN: Load function 864e8643ab5db411935eeb997fa02c7fba5271c6
[Decompilation] [th04] input_wait_for_change(), .MPN: Freeing / palette setting aaa37c70816ed4972e19de180e88de88a1f1fd80
[Reverse-engineering] [th04] .MPN: Slot structure cfaa20694a253fb9ed1b7cb495ccde1462e1a637
[Maintenance] [th02] .MPN: Update existing decompilations to current standards b1cf7ee021540732ab96b421124ecfa0d46b47e5
[Naming] .MPN: Rename mptn_* to mpn_* f6359484809826620ae2e4984fe3e309ef9b203c
[Maintenance] Add a 1bpp rectangle template, for custom per-row types 9739f69729305ee5dbfab152bc9423060c224836
[Maintenance] master.hpp: Type-safe hmem_allocbyte() and hmem_free() wrappers e1d5bdafed35a7065256c8b83401f1bf39d0ffda
[Separate translation units] [th02] key_delay() 78b958f1110cc0258b4b77930d3a9d4622892ad9
[Translation unit catch-up] [th04] hflip_lut_generate() aea5a20de961ba252cf1a87978dfef9c8361d88a
[Translation unit catch-up] [th04] frame_delay() / .PI display and loading 04038449c19a698d699df4e9c1c8b81c6d8530aa
[Separate translation units] [th01/th02/th03/th04] vram_planes_set() 531b044cb9f1dfff8beeffa5ffa08a3580ffbf33
[Separate translation units] [th01] ptn_copy_8_0_to_1() 7b3b6fd4e7a7a2827e69277e0318838a4dbc4d40
[Translation unit catch-up] [th03] snd_determine_mode() 9d2cce16a267b14e8bff8beb2d31bfdb482ea8cc
[Translation unit catch-up] [th03] snd_pmd_resident() e43e3a3fbb4ee0d61acc475e29a7db183bf905e3
[Translation unit catch-up] [th03] snd_delay_until_volume() 1e5c677ae9a54d81cd61c2119e909455ec3c005c
[Translation unit catch-up] [th03] snd_load() 0e11d33520ee7af8138b68f09290d7de856c3e3d
[Translation unit catch-up] [th04] cdg_put_8() c2f6abd0916fbe243ab07d49b7646805ca3999ff
[Decompilation] [th03/th04/th05] 2D direction vector construction 8d953dc42e1b31eee572299475c6012e68490992
[Maintenance] Move the polar coordinate conversion functions to their own file bda7b167586eda783dd16f0471a60a841c069f0b
[Translation unit catch-up] [th03/th04] game_exit() 6264ca743cc82c7cac608535ad4596dc5d04b5ed
[Decompilation] [th03] 1D vector construction 731990b0aab89f902399481b0c51ab72e651e07f
[Separate translation units] [th03] .CDG display (undecompilable) f7da96a5040ad0a4d134c89a55dd0bcbbbd4ddc0
[Maintenance] [th03/th04/th05] .CDG: Mirror implementation macros in ASM land 1d056428668b2289ce5c1f9534540af7890d7d78
[Translation unit catch-up] [th03] frame_delay() 2527e6ee7cf45188c866a4d034d7f78d932398ba
[Decompilation] [th02/th03] Sound effect playback c85f444b07debfdf02d842ad51d7b4d918198f94
[Decompilation] [th02] snd_mmd_resident() 8de326792c6a8606b0d74c6aa81ccb5341c067b5
[Decompilation] [th03] Low-level input f1a8d98dbcca73122dfe0306113dc4af6b4de624
[Research] Discover a workaround to word-align code segments from Turbo C++ 0f75a77dee6c777d1740cceb260e3a44c39c49c5
[Maintenance] Prefer the -zC and -zP options over `#pragma codeseg` 1244bd74e74d532e7d0010a9e84299bb418a3d39
[Regression] Explicitly request 16-bit default segments when using .MODEL 8bcf5d7b84d8283903b014d901c98bfcb5f50991
[Regression] Add th04/bgimager.asm to Tupfile.bat -.- 7b9194a391460155643917e1cde750092805b17a
[Separate translation units] [th02] input_sense() 07bfcf284162c6c6bec4c086eb535fbacc8c4423
[Translation unit catch-up] [th03] .PI blitting af137204863bf74659ff3b9cd7a90bdd4ae24918
[Translation unit catch-up] [th04] game_init_op(), game_init_main() 0d82f113e9ebf854d19725f1689b0ac073928c96
[Decompilation] [th04/th05] cdg_put_noalpha_8() 25caa85ef88bfd4e4349a41a8b91663463170326
[Separate translation units] [th04] cdg_put_plane_roll_8() (undecompilable) 547a9d95d8b782a70a3d6a2b1b73a6acf9625e6e
[Translation unit catch-up] [th04] Low-level input a2e515534c32fae594adb6d81ef6d5fb3c62eac4
[Decompilation] [th04/th05] Sound effect playback 16899204dfaca4ba8a1bced93c5bff88941d8345
[Translation unit catch-up] [th04] egc_copy_rect_1_to_0_16() a935a8b1bd2235f9c53ff7ebc943f7905b3764d8
[Decompilation] [th04/th05] bgimage_snap(), bgimage_put(), bgimage_free() 8164c71d22c40c1554eee41b6c396ff4f407e8b9
[Separate translation units] [th04/th05] cdg_put_8() (undecompilable) 85019517e2b06bb6dc4c1bbb005984f08c507c48
[Translation unit catch-up] [th05] game_exit() 46359e643ede888f9765d394f5a97eaab45d381a
[Maintenance] Make decomp.h exclusive to C++ 29abdd5b6a12f55247d13d30cf54d9c58bb89e16
[Decompilation] [th03] pi_put_interlace_8() c6c724ac211eb45f9941739e2204473695929421
[Translation unit catch-up] [th03] Sound effect playback 1ad64dc51410ebc1124dfd77edd3708604d8e322
[Translation unit catch-up] [th03] snd_kaja_interrupt() 0929d91e50d5dfedba51c76bdef022fa3e2e414b
[Decompilation] [th04/th05] vector1_at(), vector2_at() 0263439fac28be04f5fbb29cbcb2978ec1df9809
[Decompilation] [th05] Music Room piano (decompilable functions) 252c13d3831b898ae4a4120ac30999418985039c
[Separate translation units] [th05] Music Room piano (undecompilable functions) 152ecaa496aa61fb743739da10716ed24aaf9b42
[Separate translation units] [th04/th05] bgimage_put_rect() (undecompilable) f35b051edd77c310156bf966f968abd669d7f288
[Maintenance] Move the bgimage_*() functions to the hardware/ directory 88c019eb912322c00bba17e30aa23f77b0395328
[Maintenance] Move the number of VRAM planes to pc98.h d25daf7075030f816555459689a6a41c0aa640ef
[Decompilation] [th05] snd_load() 01c92da1aca7c551fdbef7092272628237523fb0
[Separate translation units] [th05] snd_kaja_interrupt() (undecompilable) 903f5b55dee6ee8ae4b80d4cb73c9893198c62d2
[Decompilation] [th05] pi_put_masked_8(), pi_put_quarter_masked_8() a6eed5525871b361b40bbf3a7c33aa476d27cd8a
[Separate translation units] .PI: Row loop for masked blitting (undecompilable) 69111bd86275a110f6c5e2d26e99ee53c69fe832
[Build] Use Borland's extended .OBJ dictionaries to speed up linking a064267a0b4f84b0a04027d085fe0ad229ca0ada
[Decompilation] [th05] .PI: EGC setup for masked blitting 0dfe3bc3c9d04f2bcc058c107386022ab2e39455
[Decompilation] [th05] pi_load() 76cefb1e37fc228a4b7adbd69190fd9da58d924c
[Decompilation] [th05] pi_put_8(), pi_put_quarter_8() ffcc46d32fd2f1969d0ae8a29a937740e7f45a02
[Separate translation units] [th05] pi_palette_apply() (undecompilable) 25d26824a1b8fc5c2fba4ececfa39e6de6038225
[Separate translation units] [th05] pi_free() (undecompilable) 2777bae55b3849c1b36c6624e39e2bd5d4cace13
[Maintenance] Replace wrong `cPtrSize` usage with the ARG directive 0d66e748d137d602ffd8350451f140298c03f8b3
[Maintenance] Reimplement TASM's ARG directive for `MOV BX, SP` functions 0dcd0b81361176134fdcb429d5bf8be6976df6ee
[Maintenance] Declare PiHeader at a common place in ASM land 8cfe8834662ecf4eac397fb89b4d30c485dd9ee2
[Maintenance] Mirror recent pc98.h and master.hpp declarations in ASM land f158e393e82aa2f81bb39d2ae4c5f684402742c9
[Maintenance] Copy <dos.h>'s 16-bit x86 Real Mode declarations to a new file 1c5ed4b06efa6a3498a56e311e2d01e544e50334
[Maintenance] Define `(u)int16_t` as `int` rather than `short` a42b6c5cebb2985fc8a72eeba9dda044605d7bb0
[Maintenance] Only use the `far` keyword to declare intent 59fb8753bcfc3ddcf7670a2ebc7d5ae69e3110fd
[Maintenance] Avoid MK_FP() where possible 604b2c83ac3f8475b7693dfd49ceee591c1abf4b
[Maintenance] Use the C++ resdata_*() wrappers in all ZUN.COM sub-binaries 7a44adf8d03abf002bf7944fb112fae6e1d3d564
[Separate translation units] [th02/th03/th05] game_init_op() 1d5db7155aa31467c9256f58112420f079078f81
[Separate translation units] [th02] game_exit() e8588b1b0a84581ad7b5dec283a99da1681f2115
[Separate translation units] [th02] snd_mmd_resident() (undecompilable) 84d4914a3b124b6cb1ecaa638d71226f1671c753
[Separate translation units] [th02] snd_determine_mode() cdbd621f9144c226927d67da2125c696936e0550
[Separate translation units] [th02] snd_pmd_resident() 5bbc08c3ef0e18916e7463ce9429c118ff85633c
[Separate translation units] [th02] snd_delay_until_volume() c77a5fd8edcab102ab6c3703d14d97353a705ef5
[Separate translation units] [th02] snd_load() d8bf578ad119c4d53bdc1e239bacb259aadf43d3
[Separate translation units] [th02] .MPTN: Inner load functions 3428739f80a4495a309a822d92edec851dfd11c1
[Separate translation units] [th02/th03/th05] game_init_main() ce25a6e57953554bcb046021652b923f8362b272
[Maintenance] [th02] Move packfile declarations to their own header 665f7d30bc74b17df4af9478ffe06a36b6b60666
[Maintenance] Remove master.lib's original master.h 🎉 c876216c1da32287fdb191a6197a5da2d207103e
[Maintenance] Complete the master.hpp transition 0ce869c30a59b91fd9f3181a5ade07633840ef68
[Maintenance] [th01/th02/th03] Compile the ZUN Soft logo animation as C++ eeb4e7ebfa13f466c43e859262e19279cac22e21
[Maintenance] [th02] Move HUUHI.DAT declarations to their own file 9d23f264458891595c13694d5a245e01a22721e0
[Maintenance] [th02] Compile more C translation units as C++ 72c32c8c9c7af6ae904e64d3e6ce07098827f7ee
[Separate translation units] [th01] .PTN, .GRP, and .GRZ formats a186074af35ce84171b3b4029474dc550e3d35cc
[Maintenance] Declare the input bitflags in a consistent way 21d82fab04cac49ded6dfc813e51232f31387a97
[Maintenance] Move the vram_planes_set() declaration to its own header file 0d137ee526ff3aa59b77298d249fc3c9a4825369
[Separate translation units] [th04/th05] Low-level input (undecompilable) e4eed85c44283c8b48ac9a00cf152cfd5b9210d6
[Maintenance] [th02] Move the resident structure declaration to its own file 53d3a6fb73bc8b8048723a47381d972af58921e8
[Maintenance] master.hpp transition: Resident palette functions d3a1335e35e1fec7695723bf12013edd1dd95006
[Maintenance] master.hpp transition: Machine identification e8ac905d25cbe8020a3f40fcfa7b68a44baf06df
[Maintenance] master.hpp transition: Gaiji functions 952a1e47f7f4e46b81b039fb7014fcfd9005aa72
[Maintenance] master.hpp transition: Keyboard functions 27bf06751a60f5493504f7da323d1e94e4b45570
[Maintenance] master.hpp transition: Superimpose sprite functions c27e7a1b0168093278b546a732c795f716fbc6d2
[Maintenance] Move twobyte_t into its own header file d1f1b7d4052deffa96d8cac1bc8b4244d78ace8b
[Maintenance] Add address constants for the PC-98 BIOS key press bitmap 7b409a086a0f69eb8b85bbf7613c9c047288cd34
[Maintenance] Move PC-98 keyboard declarations to their own header file ec8be31cd30b8dba0506159f4b4beace86d34455
[Decompilation] [th05] input_reset_sense_held(), input_wait_for_change() 6e91c4f99aa7e883d3099702b3fbf3133b9455e3
[Decompilation] [th05] snd_bgm_measure(), snd_delay_until_measure() 4229054137da560a6ac2782adc46307abb7212eb
[Decompilation] [th05] .CDG: Non-color blitting c8160b9f946d3ea6729fb3264207e8ee4edcf97a
[Decompilation] [th03] .CDG: Loading and freeing 045450c788c67fa11ace7bfa1b6e214f6b15be81
[Decompilation] [th03] game_exit_from_mainl_to_main() c12f9ea5f69e80ad773b31132d7adf42bd05c9e7
[Maintenance] master.hpp transition: Packfile data and functions 120dda99e45472fe11dc22bd8c634784d59c8555
[Maintenance] master.hpp transition: Joystick data and functions 55fb6f2e56f560fcb3150822d646033f32428177
[Decompilation] [th03] graph_putsa_fx() 3f61342898eda60da61705f1a55916a99d2d07ab
[Decompilation] [th03/th04] snd_delay_until_measure() f539cca15dd7e5643da8b0f0c313762c1534dd24
[Decompilation] [th03] input_wait_for_ok_or_measure() cd4f94736ad52b4890f4873cb28e0556262b6bbb
[Maintenance] Add a PMD/MMD-independent wrapper for KAJA_GET_SONG_MEASURE 8ef8f78cc986ec73decb89e6199aecdf69fdb45e
[Separate translation units] [th02/th03/th04] pi_load() 3bf078b68cf8798c9fdb46a17ffaca3f8bac9817
[Separate translation units] [th02] Unaccelerated page 1→0 rectangle blitting c8fa3311b18819faf2ae71788ee804315d21872b
[Separate translation units] [th02] 2D vector functions a1653146da9206e7c380918e22e76f8bfd942aaa
[Decompilation] [th03/th04] pi_put_quarter_8() 39aa257a5d18a909220936ca95cb22742531ffa8
[Maintenance] Move .PI row pointer arithmetic to its own macros d70db0e3dce3e26a0302c202b6977d81812efeea
[Separate translation units] [th02] .PI blitting dd7e200f3bbcac9b215c96ee7f07bed232db3c65
[Separate translation units] [th02] snd_kaja_interrupt() 8580251c06e7fc8ea51e4c348b82bc8828bd220d
[Separate translation units] [th02] snd_delay_until_measure() b9c24cf93149b2aacd35c5732a1ee5e6812a7ccd
[Separate translation units] [th02] Sound effect playback (undecompilable) aac0108c637aaa35f863b5377216dc3c1c641375
[Separate translation units] [th02] frame_delay() 52fdb33d1d31662ba171579f328780c31778280d
[Decompilation] [th01] Bosses: Collision handling dc9e3ee47599dc02d737602c22a5bfa75eeaae34
[Reverse-engineering] [th01] Frame-based random number bcdc0734038320e01666405a0cece674f0b1052a
[Reverse-engineering] [th01] Bomb damage flag 21da5a330dcbda948680e971f893d4cd4a6b6030
[Reverse-engineering] [th01] Test mode damage flag 89fbec0a79bcb8b60abca37243c6535d48dd6a1b
[Reverse-engineering] [th01] Bosses: Current HP f80001d34b37a69c4e012fe976780c84683f503c
[Decompilation] [th01] HUD: HP rendering d5fd70c4583f4f21fc28c4c6cf62df85d5d45d15
[Decompilation] [th01] HUD: Blitting individual hit points 576def5293cd2146a2517df6b0b0496dce0e9adb
[Decompilation] [th01] Bosses: Generic no-op callback b4d500b2ded700d8d42022499694a3322774645e
[Maintenance] Move the generic function pointer types to `platform.h` 8b4fb566f31f11296da9193bfae1b4475b159138
[Decompilation] [th01] Difficulty-based value selection 64f872e5c54254f21490ee443e27221affc626eb
[Reverse-engineering] [th01] Bosses: Current phase frame 2c180c3825d02fee8191da784b17200abbe51177
[Decompilation] [th01] Retrieving and setting the default boss palette aaea18aa8fce3e91c7a5a8efd44a1cb0b15299ab
[Maintenance] Define `bool` as unsigned 0bfff60a0ac213128bdab81b66d95e82b8a8e21c
[Maintenance] Decide on `_masked` instead of `_mask` for blitting functions 6d69ea8152a76c4da5fce62e27448e614be86014
[Decompilation] [th01] Stage objects: Initialization f4c2e45671df20ae578a3498386e631f7108a47c
[Reverse-engineering] [th01] Stage objects: Sprite IDs dd74e8a3cd142f6a43e3b4ccb3ae5d78576a81e1
[Decompilation] [th01] Stage objects: VRAM page 0 → 1 copies 35b4461b22798abe35004861ebbed2d54a553d15
[Decompilation] [th01] Stage objects: Obstacle initialization 4b24c13d3d12577309f132fa165a2d7b6eadd5e4
[Decompilation] [th01] Stage objects: STAGE?.DAT loading 9f9d27554bfe294dded74fe1b747068d1ab5afda
[Decompilation] [th01] Stage objects: Background snapping dde36f7f8941b5e3224d3110dc4ea2b0b8bdbb87
[Decompilation] [th01] Stage objects: Background allocation and blitting 73f62a5ba21e4139df4dd96f06411c105bfdac6b
[Reverse-engineering] [th01] Stage objects: Card flip scores 27b3f29a0a899ad1d792eb171d6ba8a5bd0203d3
[Reverse-engineering] [th01] Stage objects: Obstacle class 7df4e0517b92158c79f9b95e61c9d272ff7f8b5d
[Reverse-engineering] [th01] Stage objects: Card class 8e43f48b6931fbbd3b5f9d2eed13ad3e1ad7258b
[Reverse-engineering] [th01] Stage objects: Obstacle types 0ea53cf8419467c0f3a8d4df9e35d9f59cdc6590
[Maintenance] [th01] Start a new header file for stage objects 3fc43a3dba76311ee6be74f299d2dba5bbfad37a
[Decompilation] [th05] frame_delay() dc65b59dccbc918158f726e8c0e06e18002aee42
[Separate translation units] [th04/th05] .CDG: Loading and freeing 7897bf166f4764b53859f9476a197702dc27e45e
[Maintenance] [th03] Remove the input mode and delay function disassembly 00f177e196504afc27824a1ef7ce6468a2b1dd8c
[Build] [th03] Keep hflip_lut_generate() in ASM due to alignment issues 8835d59eda450d8dffdfe1858aea898bd19a9bc1
[Decompilation] [th03] .MRS: Slot loading function f7931167fc8a0e211c0c83382cb7ce9851d556e7
[Decompilation] [th03] .MRS: Slot freeing function 1fe9863e4791b031f7f4d164cc62212701dcc327
[Decompilation] [th03] .MRS: Alpha-tested byte-aligned blitting 00e65f4c6b33eebed6c2c2232dc06f47578e4a36
[Decompilation] [th03] .MRS: Byte-aligned, opaque blitting 8b0165738a1fd66f4083b0e9818ff50869fa61f4
[Decompilation] [th03] .MRS: Persistent horizontal flipping 5965930bd0f76261d5916c7019c08eb8f21e1b1b
[Reverse-engineering] [th03] .MRS: Bitplane pointers 08a09aabb2520ef4e8225f075a89f7d5e3451f3e
[Decompilation] [th04/th05] EGC-powered page 1→0 rectangle blitting baac3f76823f18cee2c8f5987beed73b0169f49a
[Maintenance] Move decomp.h out of th01/hardware/egc.h b504d723019ca1e5fab4ba0141d20d7811079fdd
[Maintenance] master.hpp transition: Resident data 74a11d667d5222f9f0d9de7e4cd84d3ecb31ba36
[Maintenance] [th01] Get rid of th01.h 9c36df72e5b93f1cfcbfd7f148842f76c356e8b1
[Maintenance] master.hpp transition: DOS functions aea27d22216afaa438869c5fe382d0f63aef9882
[Maintenance] master.hpp transition: Math declarations 199f73eba4ee4ba9aa4dbae8c82e4291ae30b327
[Maintenance] master.hpp transition: Optionally buffered single-file I/O d515d67c9ff94941a6f224abda7d122801ec9905
[Maintenance] master.hpp transition: Text RAM declarations 90f1c2ca932b3c4d22a253976443878a00644c0b
[Maintenance] Consistently use Borland's I/O port intrinsics b104b3316b2e08ad16d6d34660d930536e1d7276
[Build] [th01] Only compile shared single-file translation units a single time 6c22af7e83c5b6a9b851d555ae54f1f6d88d5a62
[Build] [th01] Merge vsync_callback_clear() into vsync.c 7d83739eb83e3675fd02256b2e4024076b0f8b25
[Maintenance] Rename "seg2" to "SHARED" 4850d6d457226d7c080d2863f199704895548b08
[Reverse-engineering] Enabling and disabling the EGC f6a32460714820bdd04876d481cc23fb13889abe
[Maintenance] master.hpp transition: EGC declarations 6a8de71720335285636d18f5035c3f895eccdc4f
[Maintenance] Remove the old `planar(8|16|32)_t` types e8ae29ca4e474868bb2c27062db2947215379763
[Position independence] [th02] graph_putsa_fx() calls in MAINE.EXE deecfeb0d137e0aeb08d41389bc389780b27f85f
[Decompilation] [th04] Character selection: Raised top/left edge background 8eb0d33e803b5cedfa9f94f33127a694da5e6bea
[Decompilation] [th04] Player character and shot type selection menu 056b1c77c1a71a338410e1cf81e0875944350196
[Reverse-engineering] Assign names to all graph_putsa_fx() effects f1c63ab3a170128fc5d727096b5003f81d82522f
[Maintenance] Only define pi_load_put_8_free() a single time 774b1720282461f3630bbd4f5bba401097665a96
[Maintenance] [th05] Use master.hpp for the character selection menu 3ee848f4560b4813ccacc7216a504d649572b6e2
[Maintenance] Indicate byte alignment for all .PI blitting functions 30462cc64ff5c150da7a715c06e81ada3ffa6992
[Maintenance] master.hpp transition: Heap functions b674adff187d22377447aac9d61f5c0b28b38628
[Maintenance] Fix the names for DEFCONV functions in ASM land -.- 327f68a8d290d03e0d028aadd58d4a69ee85b0ab
[Maintenance] master.hpp transition: .PI declarations 65a12d13a8822f630c9c85e33a76954ebd70bc0c
[Maintenance] master.hpp transition: GRCG declarations c8fa62d0c27483e0888c5eaea349a8da17121464
[Maintenance] master.hpp transition: Graphics declarations e78f73d779847fd66b185e2b260db7e7cf7d1409
[Maintenance] master.hpp transition: Palette declarations 02cd7f4accc757efa866c2542ea265079ee9d092
[Maintenance] master.hpp transition: VSync declarations 7306a4b1854a965ca0703100fb54ca8921a75f55
[Maintenance] Remove the RES_ID_LEN macro 0a25a0ac0132ac23ef0e024186cdbfc04f8aec48
[Maintenance] Start a C++ master.lib header file 8266bbd83e841191488155469b27d56a058412e3
[Decompilation] [th01] Setting the default stage palette 72dfa096d18a69f5e37f8e12433a6d0ba56695da
[Decompilation] [th01] Reimu's animations: .BOS freeing function 7b2653fcab6b8e89f7444de9e07c7d0e42d8bc43
[Decompilation] [th01] Reimu's animations: Byte-aligned overlapped blitting d2ba0c7b3b26be3ea891b0e7c100e067698fddf4
[Decompilation] [th01] Reimu's animations: Byte-aligned blitting 0be79aa641bf01b9a545ef22186e9fc4c93b13c0
[Decompilation] [th01] Reimu's animations: Byte-aligned unblitting d391dd4a3bfb037faa6e53421b6fa3ca65f95fb4
[Maintenance] [th01] Reorder shared .BOS code b75556c06ec8e017b8c04a5b602f3a054048b3ec
[Decompilation] [th01] Reimu's animations: .BOS load function 10666131ec00dc198e6cac7ac5873fa3e49ecdec
[Decompilation] [th01] Skipping past the palette when loading .BOS files cacb9361c7378974bd52146d51e12fc736e67d27
[Reverse-engineering] [th01] Reimu's animations: Structure 11f65e4afba8dacda9477d26496b6a669496cf0c
[Decompilation] [th01] Shootout lasers: Broken reset function 4406c3d81592c6b31a44eb13d152bffa0a39a535
[Decompilation] [th01] Shootout lasers: Update/collision/render function 60c1031d3192efbe0b5442e2f7e91093f03582fb
[Decompilation] [th01] Shootout lasers: Rendering and collision detection 243dbf8d0d6000af280d500b2aec341d8cd52054
[Decompilation] [th01] Shootout lasers: Spawn function 61559859e32f03e26cfb2e7004c2d082c5c10dc8
[Reverse-engineering] [th01] Shootout lasers: Structure 800d7173aa5ca72f2f9a93541f2b1751dbc7953c
[Reverse-engineering] [th01] Shootout lasers: Hardcoded sprites 50c498a549b3c19c534a2d1f6cbdbf1c35aee8c6
[Build] [th01] Move the -Z and -3 options onto the command line eb89330f648317aecbde23b502bae38a5f8d1260
[Maintenance] Consistently express angle literals in signed hex format 164591f9fe7e5e39f053733974eff1a051772775
[Maintenance] Decide on a consistent place for file-wide `#pragma`s 1610d7b63d46691a21a323dea2037ecda484d2f6
[Maintenance] [th05] Yumeko's blades are actually swords, as stated in OMAKE.TXT ec5b75daab3213997ad57cf42ea03e99c28386e8
[Maintenance] Locate the BSS segment of master.lib's `clip.asm` 8c1d4bf41bb408a15195b72714732cc8556d0ddd
[Decompilation] [th01] VRAM page transition via interleaving 8×8 squares 5c42fcd918685f52409d0376bd8f2122b62fa2dd
[Decompilation] [th01] Interleaving both VRAM pages in an 8×8 square 1184f6c671205d276b606d17df650682bd870102
[Decompilation] [th01] EGC-accelerated VRAM page 1➜0 row blitting 92725007a84df0a01baef10f4deac29fe5231ba7
[Maintenance] Rename the EGC implementation files a bit 1801e29cb37cbc64607bcde22a6c6d48b09019a1
[Maintenance] Mirror the egc_setup_copy() macro in C land 0de07a489f8dba61327d8cadc865330137bda5bf
[Decompilation] [th01] 32×32 square inversion on a single bitplane 60ee6e94fcdce3abc0cddf5ae2e5a0522f3a02cd
[Decompilation] [th01] Player invincibility sprite rendering 37d191d903f94cee1d29ff703a8dc2b977097067
[Decompilation] [th01] Line loop unblitting 668b9033ab6a22418ad7c251aa0c41517fdf7b9a
[Decompilation] [th01] Line loop blitting 60389473aa83147445c6314f59d76142eeaca7f2
[Decompilation] [th01] Invincibility sprite blitting 3c008b6a4fd7a0025cf8258d75c88ac62fcb4726
[Maintenance] Add separate macros for GRCG/EGC-accelerated reads and writes b974c1a9151e3864b7ee58dda2301fc15c23838b
[Decompilation] [th01] Sloppy ellipse arc unblitting c12cddfe47d9bb62be2b170feff6b4977d38ad44
[Decompilation] [th01] Ellipse arc blitting 23f5645be55e9f3dacc2216e3caf677e07e73195
[Maintenance] Don't declare the 8×8 shape blitting functions as `extern "C"` a80343aac1ec44a14123ec5244219ecee3e76b44
[Maintenance] [th01] Add separate functions for polar coordinate calculation fe4c92a0665255dc3f59b65fb0106e485871a1a3
[Decompilation] [th01] Non-entity boss animations: .BOS slot freeing function 95c6936d993d98e4068df294ecc9409ff594a6e1
[Decompilation] [th01] Non-entity boss animations: Byte-aligned blitting 8d3927673290f47edbf982da5d75fef1ed612b81
[Decompilation] [th01] Non-entity boss animations: .BOS load function 719668d51eb9e488bf05e2d101cf7f645a2b07e1
[Reverse-engineering] [th01] Non-entity boss animation classes 1efa34ce05c89608626543a88ffae8ff59ca99f3
[Decompilation] [th01] Boss entities: .BOS slot freeing function 9738ba921a8069e8543453e51300c220d96fc598
[Maintenance] [th01] Move shared .BOS loading snippets to separate functions d48e553d9e150b180af6713592e21d9f5db70446
[Maintenance] [th01] Clearly distinguish entity and animation .BOS slots 0fe23cb8a06886774601ac545371895ffed5e6f7
[Decompilation] [th01] Boss entities: Orb collision detection 4bf2e41faf3525d0136f8b11e459d8eee46a3026
[Decompilation] [th05] Starting the game 453dd3ca7e16d3cbc8f92bc9e22695fa5d09bb8c
[Maintenance] [th04/th05] Declare all public OP.EXE functions in C land 6b06be2b3ed39aa23defd57c850e06e3331df722
[Decompilation] [th05] Game clear/extra unlock variable initialization 3dd741ce9809153b9eccca35b8ca6eb0d1dfb1f1
[Reverse-engineering] [th04/th05] GENSOU.SCR loading 799b801720c1faf0b8e8d27b148ef368ddf7f530
[Decompilation] [th05] Player character selection menu 3c27fbc3bd3bda310bf5491e2d6a819de118dd11
[Maintenance] Declare CDG blitting functions in C land 5990ccd3b968994c6ea247f6833977f8384f1aa4
[Maintenance] Move the SE reset/play/update sequence into its own function 2fde03406c89e22c865cbfce5b2203f627874de7
[Maintenance] [th04/th05] Declare snd_se_update() as __cdecl 485477bd567969f1dcb7ff387ace973a51f08aa8
[Position independence] [th02/th04/th05] Final false positives in TH05's MAIN.EXE cbf14ebbe36f66d1744e5e117bcce24c578524ec
[Position independence] [th05] Final false positives in MAINE.EXE 23a7658672ca79b7366bc4e38a2527b6cba2353e
[Reverse-engineering] [th05] Extra staff roll: Background selection ed197308d7543ed719ee1d34846aa1df2b200bee
[Position independence] False positives: Divisions 6e61b07055833283a33a0bd54965c35199ccc320
[Position independence] [th04/th05] False positives: Verdict constants 7ff0950da85046de77ebdf7081ab320e1ed003f3
[Reverse-engineering] [th04/th05] X/Y turning for bouncing bullets 1535aa7dd2120855f55292fe43e87e4d6ce8fe1a
[Reverse-engineering] [th04] Player shots: Option laser blitting a417b01634233b4e1acddb9dbabc465ca2b890af
[Position independence] [th01/th02/th04/th05] False positives: Score values c790f5fba12e7d654736f87ac1c32804b1b23fd6
[Reverse-engineering] [th04/th05] HUD: HP bar rendering a3723364d612851ba309a083984af5450672ab51
[Readme] Incorporate some build-related suggestions from Spaztron64 and -Tom- fd66af1474288744ce13b915da5af786c2864596
[Position independence] False positives: Palette color arithmetic 0bb5bc39d9f2b0fae6629d4ada4578f290874541
[Position independence] False positives: 0xFF / 255 / -1 6212a4c21ba7c0acb8652f676ca2c31ac565a916
[Position independence] False positives: I/O port accesses 65c72929af3efb881f6aabe02a54e0a0795ad694
[Build] [th04/th05] 16-bit: Rebuild ZUN.COM by default 791d6d6085fed52fc09a989f69745407412a5894
[Build] [th05] gjinit: Include the gaiji compiled from th05/sprites/gaiji.bmp 79e8e41d02e12d7e063fbf6ec6172711547fc9d4
[th05/gjinit] Initial state c5852610f6c73a0d5801f7f99c9a999e5daf66d1
[th05/memchk] Initial state 9695c8d2776fdf647b37a06a0d50505327d8b7ee
[th04/memchk] Initial state 90b7ace180c23bfb9b5b23e61ef8a1cb431a18da
[th05/zuninit] Initial state 197202d8ee405a95ba5fec8ebe4524fa53afc357
[th04/zuninit] Initial state f54cd0fe95d393b793d521b0df08f16dd725b1d5
[Decompilation] [th04/th05] Cutscenes: Text blending 03048c318d724366f89245c4966b05caa12cf613
[Maintenance] Rename the `_FORCE_INT` enum members to indicate signedness 84baa1d477208b743dcf8856c2f325aeadb583cf
[Maintenance] Move the value-first outw() variant to decomp.h 461d83e9e4e404b6f67a8e80c3bab7ccf348d275
[Reverse-engineering] [th05] Cutscenes: Shift-JIS codepoint ➜ text color map 650d8639424d2300199b04309a12c618760cb261
[Reverse-engineering] [th03/th04/th05] Cutscene script buffer 0b7d541e308c0674e30c6d137d9822c6fed14467
[Reverse-engineering] [th05] High score menu: Floating glyph ball structure e38602c1085f587810648065dfdd177711fe6515
[Position independence] [th04/th05] Remaining references to the name alphabet 041b3a4f2867b2a07a7a0f9b60e51b4b32527445
[Maintenance] [th03/th04/th05] Declare the symbol gaiji inherited from TH02 10b60b382497c357529634b5d98559cc365e42ef
[Reverse-engineering] [th03/th04/th05] High score menu: Entered place d973380a9c573a6258f39ac3dc9c1f30c4b9970b
[Reverse-engineering] [th05] Staff roll: Verdict bitmap e5328a32fc094dd36221221d39fe95579a7c1698
[Reverse-engineering] [th05] Staff roll: Star positions 827aee427c8c4adfa06fb22484b73855b743cbf5
[Reverse-engineering] [th05] Staff roll: Orb trail positions d54fe1b04127771db24d5961793c3386fd40885a
[Reverse-engineering] [th05] Staff roll: Orb particle structure ba1f9e230e8c6ac8ddbeca0856695078574373ca
[Reduction] #713: super_put_tiny_small 498fa0c7fc26a9212e78bc0f83a33a89b517b461
[Decompilation] [th05] Staff roll: Space window coordinates 4e6bedf20ddcca67f1dc3bd443e518e6f817b2b5
[Reverse-engineering] [th05] Staff roll: Space camera velocity c59283969e7b551812803e73269dc79d927ce857
[Decompilation] [th03] Input mode and delay functions 967bb8b6334cd9fe0b5c8da436211e04093bc91e
[Separate translation units] [th02] game_exit_to_dos(), zun_error(), graph_putsa_fx() aee8a1395873955a22e4268392e2a248571ceb58
[Maintenance] Declare game_exit() and game_exit_to_dos() as __cdecl f467b6818f114fd4d13bce0f49c1fdc7fef190db
[Decompilation] [th03] YUME.CFG loading and saving 716a925636ff394c3bd7cd2505ce852066a2aeaa
[Maintenance] Fix DEFCONV declarations, and remove them where possible f6757fe76a7e7ebf6b0d44337527ec1b38741c1d
[Maintenance] Drop the `slot` infix for PI-related identifiers d40547e6016d57a1bf7548419ee69e6ce50f03ed
[Reverse-engineering] [th03] SPRITE16 setup for double-buffered blitting 50b17d640b4c859ba4c354a19b6f000a5f606188
[Separate translation units] [th03] CDG: Non-alpha display (undecompilable) 5a6ac29f504c2f9a3240cf6c2d2d95272a2f6c3e
[Reverse-engineering] [th03] CDG: VRAM plane iteration 97ce07bfc9eb230390dc7332e0fc91923ad572d8
[Decompilation] [th03] Lookup table for horizontally flipping planar pixels ecc1372842ad2872f38ce7f0f134dfff6580ae15
[Separate translation units] [th02/th03/th04] frame_delay_2() 6204fdd45084835faf71dd86963184e3258c1f34
[Maintenance] [th02/th03/th04/th05] Establish a common name for code segment 2 f0511221b7a26bcf9d36267f081c76723213d5cf
[Maintenance] Start a new file for x86 FLAGS comparison macros 687752160cfdfc5c2598afc1015c609b54bf2a5a
[Maintenance] [th03/th04/th05] Declare CDG loading/freeing functions in C land be22a72b25aca668c5ac4b9b98efe180bfd68ae5
[Maintenance] [th03/th04/th05] Declare the CDG slot structure in C land d1ba6306ccd10322036ca7386aa6a227bd764a2a
[Pipeline] bmp2arr: Fail if any non-#000/#FFF pixels are found ec8668264c3cc40c230f1c099599b75dca81a3f2
[Pipeline] bmp2arr: Extend debug output to cover *all* relevant fields fea00067d7d563955ac9fa3279539449d26f80a9
[Pipeline] bmp2arr: Add -q for silencing debug output on stderr 23bf61b7738fe600a08c8125e9d917c45fb40ea2
[Pipeline] bmp2arr: Require the output type to be provided explicitly ea8d2466fe601035523d3aa0934e9651f89f7e45
[Pipeline] bmp2arr: Introduce error codes, and a separate reporting function 24699942e695455a9bc4eb766593a53fd749e74a
[Pipeline] bmp2arr: Use bitflags for the preshift/upside-down/debug BMP options 66b72477d2cdde771a22a984ba125c6e09390729
[Build] Assemble all .ASM files in the 32-bit build part 1f1847de48b770dc07be92af17a7a99c2d97d7d5
[Readme] Document the fix for TLINK's `Loader error (0000)` on 32-bit Windows 150d2c66d8524e53a19bd44633b8d630ce1bc294
[Build] 32-bit: Fall back on a dumb full .bat rebuild if Tup can't run b18866232be79d4a625e199e92b7854a470725ee
[Build] 32-bit: Fix bin/th0? directory creation for Windows 9x a39a76bf99d2adb364661927ff7bb3afb8da4c3d
[Build] 32-bit: Fix tool checks and remove stderr redirection for Windows 9x 953e957f00a0ead943658e6ae7ad88f84ab53e08
[Build] 32-bit: Use Tup as a proper build system for the 32-bit part e31d2325849bcc9abb1b994109665e12a48c1409
[Build] 16-bit: Don't explictly specify the .OBJ extension in TASM rules 51b775bd415272385872863d910b89a4de7af90a
[Build] 16-bit: Unconditionally rebuild everything by default 61358c1082b52d72477e6118b1f63ed6e3143704
[Build] 32-bit: Actually create `bin/Pipeline` during the 32-bit part -.- e5f28204a540637e91d8570594deb221bfc76aba
[Build] 32-bit: Sanely reorder the initialization steps e9cba933bba4818df60b4b0957e656aae97b668d
[Position independence] [th04/th05] Final data references in TH05's MAIN.EXE e447a2d6879fdc9010848de5594acbaf17cb0c16
[Reverse-engineering] [th02/th04/th05] HUD: Bar colors db206f9d416ebb5877d6feae3b2c24b1fd181ea4
[Reverse-engineering] [th05] Bullets: Pellet delay cloud render list 6cd11b0a442204791590b475c78b3bb2f0dad1cc
[Maintenance] [th02/th04/th05] Rename `HUD_TRAM_W` to `HUD_KANJI_W` db0adbc58fca9fd574fbab360260a6c30ca409f6
[Reverse-engineering] [th04/th05] Stage tiles: Initial ring buffer filling ed113d9c30ef91439924865d8136a2dd00676597
[Decompilation] [th05] Bombs: Reimu's blue star animation a89836c18e6e6bd9ee326f6181996609f71e822b
[Reverse-engineering] [th05] Bombs: Character-specific animation structures a7a053fb52c5cf1bfde4c44b7c93af9717017e2d
[Maintenance] Rename all old *_X and *_Y constants to *_LEFT and *_TOP fb67d4d05417e18f6dbedb32b722ee7a1968f7dd
[Maintenance] [th04/th05] Declare circles in C land 8e686dd564b2f496c600ed38fb5ae02e107c6815
[Maintenance] Subpixels: Differentiate between pixel and subpixel types b034e606bcc59f423b4a7053e0e30279e501cc78
[Maintenance] Subpixels: Rename to_screen() to to_pixel() 5a1e16de60ba3304e606d85e995d40f74b40ec9e
[Maintenance] [th05] Split segment #1 before Reimu's bomb star animation 4ef4c9eeb0f2f8807af67b3dbd6f60f8e6198fa5
[Reverse-engineering] [th04] Bombs: Star animation structure 5d76fd6f64d5e87349328cbdecc4fe7432bad2c2
[Reverse-engineering] General bomb-related globals c5b5dc02018064d2b7bb1b9781cdc7fd27ebd4e4
[Reverse-engineering] [th04/th05] Remaining item-related globals 199f4de1d32117b482a96daf7984dd0d28fb0299
[Decompilation] [th05] EX-Alice: Fire wave management 1c3e9097cced1f9340913b3f552db5da6fb6deb5
[Maintenance] Declare a distinct type for VRAM offsets ba29539fc7410a1cfb4b22cdb06da7e5cefed72e
[Maintenance] Declare distinct types for pixel and VRAM sizes d6f634631f0cafe009f5ae5950426b46bbe85f96
[Maintenance] Declare distinct types for screen, VRAM, and TRAM coordinates 368f15175979a6f137703e6912bc6eac5f176a41
[Position independence] [th02/th03/th04/th05] References to known gaiji 8b5c1463f6a75feb1f075fe95238bf1ca4225afd
[Decompilation] [th05] Line sets: Copying lines up by 1 element 9e06c4565671a76fbbd750f29b4c52570fb8377f
[Maintenance] Remove the `operator =` overloads for Subpixels 2ef3db30522acc888515e477b6d333007c7fa2fd
[Decompilation] [th05] Line sets: Rendering 7c4d31c02bc5825ca58fe409f2c8bd7831fe390e
[Maintenance] [th05] Split segment #1 before the line set render function 8cf1e74565f9b9e659ee806f2f62b8b53b956a73
[Reverse-engineering] [th05] Line sets: Structure 808a5b94d3bf03c5c1235b34b43b499c168a7f2b
[Reverse-engineering] [th05] Bosses: Background particle structure 3821333a7f853e07a33c9ebd660f6fb821dea4fc
[Maintenance] [th05] Declare the particle sprite size in a single place 40aea2d17158babca0f11ba97b783cd48a5c8fcc
[Maintenance] Declare the "no valid point" constant (-999) in a single place 60a700eeda9e7ee8627ef5af5c6dd3a27fa7fccc
[Maintenance] [th04] Bullet pattern tuning: Actually specify angles in hex -.- 61c29ba7387d255a672c625090a950823efec23e
[Decompilation] [th05] Mai & Yuki: Smooth random movement 2c7d86bc5b4a8f6424234b37fc9c178f9414dfe4
[Decompilation] [th05] Bosses: Smooth random movement 18a8eccd2f99ae69ecd67323d259cdedebeab5c3
[Maintenance] Move boss declarations to boss.hpp 023417a1b432bbabfbb79f39cfe1a26e215a3587
[Maintenance] Turn the left/right/top/bottom area structure into a template 2fbde576319e23fe066e6b4774477bea9e078f7c
[Maintenance] [th04/th05] Put global and stage-specific patnums into one enum 88cc266a24e13cbaec4940825bf82d58e56f1a0f
[Reverse-engineering] [th04/th05] Player shot hitboxes 8af732a6a5502c4e9243a0874ec3e58c04858938
[Reverse-engineering] [th05] Difficulty- and rank-based bullet pattern tuning 4f7a3a28c3f50573ead947fbb8b54e361f2c1f5f
[Maintenance] [th04/th05] Mirror bullet.hpp structures and enums in ASM land 401d3793b5688bd460f447500a117f88cd6989a7
[Decompilation] [th04] Difficulty- and rank-based bullet pattern tuning 829946a29eef01140739014f356d69b0a6ac710a
[Decompilation] [th05] Bosses: Smoothly flying towards a point 0644857fcb0a15dc75e789d4ded2c4bb61f67d32
[Decompilation] [th01] Boss entities: Clamped movement + blitting dcf4e2cadd6f53baf4588e94bbc426c2f4479669
[Decompilation] [th01] Boss entities: Clamped movement + unblitting + blitting 52def53fd3177b37bd7b2cc665a87fd3212efc11
[Decompilation] [th01] Boss entities: Sloppy unblitting function 2a091eed3b6bfda56579742eaa3e301535702490
[Decompilation] [th01] Boss entities: Position and movement clamp area setter d9bc75d28e8ad6f049f73c9c597971506a4f6fcb
[Decompilation] [th01] Boss entities: 16×8 section unblitting + blitting 9ce003493484ed71eacd7e49e00dac42f66b3b51
[Decompilation] [th01] Boss entities: Broken wavy unblitting of two sprites a2c4aadda9574217800f5bf905d5d14edb165a72
[Decompilation] [th01] Boss entities: Wavy blitting bc9b7cdfcd14a9eb7a0070ac8e02ec65656143c4
[Decompilation] [th01] Boss entities: Byte-aligned unblitting 1650241f070c1ca729e841d7884de969cca5af1e
[Decompilation] [th01] Boss entities: Byte-aligned unblitting + blitting de688ddc20eb4eb81af74776dd366e6176ea98c2
[Decompilation] [th01] Boss entities: Unaligned 1-line unblitting + blitting 96f3b1057c9de010048786f812065db02676cc06
[Decompilation] [th01] Background + foreground VRAM blit functions 816ba8342c54a8aa03a9c8d908cc03bf1737a21f
[Decompilation] [th01] Boss entities: Unaligned 1-line blitting 34a5f4d1838daaed13e0f3e1c71d70650991a479
[Decompilation] [th01] Boss entities: Regular, byte-aligned blitting 32c57c32e78d11582a4f94259c45cb5297a57ce7
[Decompilation] [th01] Boss entities: Copying .BOS metadata 1f1829d2d82259e5bdf139ac3f7dc52427166007
[Decompilation] [th01] Boss entities: .BOS load function 342e6450bcf4e0ef1dd6f1feef0dfba3855d91a0
[Decompilation] [th01] .BOS: Unused and broken plane pointer reset function 5f5eb8aa4e2ae25fdd3b786682243702a0f69474
[Reverse-engineering] [th01] Boss entity classes 1a595cf60c2aac60bd9cf7feb10da690eee18228
[Decompilation] [th01] 8×8 diamond, star, and snowflake sprite blitting 11b776b32e9b184788638316c78667fac1b314cc
[Decompilation] [th01] Unaligned monochrome 8×8 sprite blitting 757f00e063719014218bf2060b42c06cbb17b687
[Decompilation] [th01] .GRC: Freeing images in a single slot 96e06fc746ab862553c09bf40cd9081c7cf77031
[Decompilation] [th01] .GRC: Byte-aligned blitting 7ca525ba5cc50088f9a6eb7413009d7ddc1460c0
[Decompilation] [th01] .GRC: Load function 72538610bafd66f72619430a7838a035a23c2ba1
[Reverse-engineering] [th01] .GRC: Slot structure b22bc80e989726d2835f1e5490cfcbede8906331
[Maintenance] #define the number of dots in a byte bd1c2ee7de0ec2cd541c1a02adb0937de71949ff
[Maintenance] Use inline functions for all VRAM offset calculations 67d35115e6ca32cc1285a9edfd585b2549de150a
[Maintenance] Compile all VRAM-accessing translation units as C++ a75e0f8f53d08993029efbacf2feada333b50ec4
[Decompilation] Declare a trivially constructible Point type 22b019db0565664cec19bf6af96c5b47a968a2c8
[Maintenance] Use a distinct name for arc_file_get()'s sizeof() macro 74b834fd7f9f671f81f536fe43e363d6f6f3cb24
[Decompilation] [th01] HUD: Stage number rendering 3622eb62985f6d8f47c76a276a0211c5eb1efcaa
[Maintenance] Decide on *_id for 0-based, and *_num for 1-based IDs 8367a41d46f50bac537b572798e9e7a36565ac95
[Decompilation] [th01] 16-bit integer to string conversion afd74fb8aa05479a567dc06eee74133c4636df3b
[Decompilation] [th01] HUD: Life and bomb count rendering a0215ea85c0f0d1f689ff22bff847179616b6ff3
[Maintenance] [th01] Declare proper IDs for all .PTN sprites seen so far e0bcdafb0035662c5401862b0647e7479077a853
[Decompilation] [th01] HUD: Inter-page row-sized rectangle blitting f3093a802ca75c69caefacdb7fe5084466cf5d6f
[Decompilation] [th01] HUD: Background (MASK.GRF) loading and rendering edd9a142737d82a177d7e440264a7c64d38992ab
[Decompilation] [th01] HUD: Initial score and card combo rendering 05c00287e938c06e88108550ea505593b991a589
[Decompilation] [th01] HUD: Current score and card combo rendering b9038be04d0e7c4dbb27684e6fee7517c8f44f59
[Decompilation] [th01] HUD: Maximum card combo rendering b73762ba1238b33b27bee8e4c2b41063685498f9
[Decompilation] [th01] HUD: High score update/render function f92c2a637c6843e02e83db1959ec0c0155da6e66
[Maintenance] Add a Planar<> template for any type of 4-plane value 57a2294f7a84aff78b91aad7869a93225273f7ef
[Maintenance] Define the number of score digits in a consistent place 91ff0081401e5acc7c44f969e52a9c71fe8a6796
[Position independence] master.lib Sin8() and Cos8() macros 287687b9f44da606264243e75c0516744563d320
[Decompilation] [th01] Pellets: Delay cloud unblit/update/render function b60f38d42d0b01bd8f540eb95df2caad092cbbd1
[Decompilation] [th01] Pellets: Player collision dbc8da99d59bd506afc296bf5265833d969bfa9d
[Decompilation] [th01] Pellets: Reset and decay functions 5735c1622eee90d84dfe11d562324523553dd14f
[Decompilation] [th01] Pellets: Unblit/update/render function 63dafdb9c735f531f8d225fb117b3ceede766614
[Naming] Rename egc_copy_rect_1_to_0() to emphasize its 16-dot alignment d840841a2ba0c5cd4e5f3b878e3bf39129742e61
[Decompilation] [th01] Pellets: Manager class constructor edb70162e0d300e647869a29f187b6615e721a97
[Decompilation] [th01] Pellets: Shot/Orb/deflecting player collision c11a95666bc25769d195a065e38a1c1977b0e346
[Position independence] [th01] Pellets: Spawn function calls b422618ca7ea3fd0a094839901326776038b8e2c
[Decompilation] [th01] Pellets: Multi-pellet patterns 8328905f46f93a4b11a4429bf0895d8d4b10b841
[Decompilation] [th01] Pellets: Spawn functions ceb81db49cb2a86d2e915d8485707683f40d9759
[Decompilation] [th01] Pellets: Motion types 8f33b9717c11000de24bc4c9c49bee80b8f21e13
[Reverse-engineering] [th01] Pellets: Manager class 2fdaa355353c34686b0f1eac5602f9d305589421
[Reverse-engineering] [th01] Pellets: Single pellet structure 1b258307866a5961818bb4b7b7de25b4f23c669e
[Maintenance] Add generic overlap test macros for collision detection 2d0b4a5b06ec5702e5500cf5ca38e86022dcce1b
[Decompilation] Add screen-space assignment overloads for Subpixels a207d6a4941a6807db8fe2f192b019bebc5e52e0
[Reverse-engineering] [th01] REIIDEN.CFG variables in REIIDEN.EXE f0baf27c04ca9828723d08f50f7b544133cae897
[Maintenance] Fix vector creation function declarations and calls e3a78bd19b4229839406d3651377b5060e903f83
[Maintenance] Move the Subpixel class to TH01 8f8940801d166b9cdbbbc3928ae3e9dba995478b
[Decompilation] [th01] Pellet delay cloud blitting and unblitting 3e3129567c6079e07eb944d5fc0c8a058ba9cef4
[Maintenance] Move generic VRAM macros from REIIDEN.EXE's PTN code to planar.h f612c40dce67c7c5553a0093d8cd7201db941f4a
[Build] Convert all known hardcoded sprites during the 32-bit build part 1799d6778267b6677e6dee196325e3566d41afe0
[Maintenance] Fix inconsistencies in sprite declarations c9eef4572452e05a08c4698b3bd889990331ff6d
[Build] Compile bmp2arr as a 32-bit binary 42c66117b59c2231a6e5e0726a1e802fc99b95ec
[Build] Add a dependency on Borland C++ 5.5 for the 32-bit build part 8cbaaf0b457837130058cc0ca36d8ff4fea3e752
[Readme] Explain the rationale behind all required build tools 6529cc970eac6cc54ac547ad9dcf64c26f683946
[Readme] Fix the mzdiff link cda4c618aac598c003649fb93b415fe1fb3686a3
[Pipeline] Merge Jonathan Campbell's sprite converter dfc153ccaa0717e4b3a33692b0c07c9f64e9784e
[Pipeline] bmp2arr: use malloc/free in a way that would make C++ compilers and their type checking happy 3e0f8286df65be98dbce3ce1c608f51bc56afa16
[Pipeline] bmp2arr: __BORLANDC__ and __TURBOC__ case 86c4d541a89064e52e61d4b79de4ffaa4f0c52cd
[Pipeline] bmp2arr: write_sprite inner function should be private 44b0313b389066cf103f379022b01727052dc658
[Pipeline] bmp2arr: conversion to lib finish 2e4d0b3b8fdb76f967391d3e5cc64b3ece5a8561
[Pipeline] bmp2arr: begin moving to lib feba961470c33091607398b891a22d145e956c48
[Pipeline] bmp2arr: Follow MSVC 1.5 warnings 7afb28dc06f43b2b78d45d4ae223c47612a5347a
[Pipeline] bmp2arr: Complete changes. I can now compile bmp2arr.c using Microsoft Visual C++ 1.5 (the 16-bit compiler) bd7e0286097a7bb618086693443389a82a23bdf9
[Pipeline] bmp2arr: Try to work for Borland C and Microsoft C++ e1e8be3d0dc62dba1900668819cf67c566cba9bb
[Pipeline] bmp2arr: Remove OMF 80a1c99318339fce96886c42b6e04b1dc3b35d46
[Pipeline] bmp2arr: preshift grouping 2ac9e7c9701e1a74e03c846205be4a81ad75f4ba
[Pipeline] bmp2arr: Fix C commas c3b46f6e5d1cc95e8f0f02681fe0de3115b42f13
[Pipeline] bmp2arr: preshift for sparks, begin 00da4aa42236085839b0901f3626588b5c426292
[Pipeline] bmp2arr: Fix preshift, do not use data from sprite following the current 6485b8c88d5ed3c479815f18b320d9cc540e3a70
[Pipeline] bmp2arr: preshift BMP 54288cfe6052f73f9755d4f0daf27914ba1932a3
[Pipeline] bmp2arr: more preshift 1ff658c307e3b5a5fe2495067a04fc1c7f1934aa
[Pipeline] bmp2arr: Begin preshift d857f579e21eed189f294cd742ad5462b1b0852a
[Pipeline] bmp2arr: more cc466c46541416031dd07778aa962cd458042119
[Pipeline] bmp2arr: more f90fe92f6ce0cfb9f5a01e144cd7a8335fa0612c
[Pipeline] bmp2arr: row marker d55ebe0358190de30518d1078dec2139a6a9348d
[Pipeline] bmp2arr: asm more c45c6f860edb50fc44ee9bc163e7317e5504a437
[Pipeline] bmp2arr: ASM out 776629ac0cb8d6cc92657a7182e061e767699509
[Pipeline] bmp2arr: Bitmap output, stride correct 129b98cf4d483ea3d16641367a28bc5920608c8d
[Pipeline] bmp2arr: more c36719f5fc4f28c6aa9ef0ee4dd698bc00f2d5fe
[Pipeline] bmp2arr: scan, emit 1cc15151e840b75053a689dddc9f66d922bccd54
[Pipeline] bmp2arr: more 9c62e009911424101552d1757c2894e9de357ebd
[Pipeline] bmp2arr: Break out e583a1c8ee5a10451c0807f5c5f48aee44308a1c
[Pipeline] bmp2arr: Make functions 1c673900f849c49b66fbd5c6dd00a782fc6cbaf0
[Pipeline] bmp2arr: Begin save output 06700a75b1bd985ed082475cc797f6d7915029aa
[Pipeline] bmp2arr: Binary output 74c0ab7d42baf568968d4ce0bfe1e5180acd6745
[Pipeline] bmp2arr: output symname deffa4d87c0a8edb600cf97f729f265dbd7a2847
[Pipeline] bmp2arr: Sprite width/height validation 847205b79c2009df0302265a0a7b35fb01aa3d93
[Pipeline] bmp2arr: No output needed 51e335935af58e2bd3f6a086b5c3c23694077b9c
[Pipeline] bmp2arr: Argh, fine, GIMP likes BI_RGB for 32bpp 0bff07eaced26ad2952487c037b910ea51ef97c7
[Pipeline] bmp2arr: Oh great, the GIMP emits the larger V5 BITMAPINFOHEADER 58f0e08f3c121faf8359febf5620abb514fcab23
[Pipeline] bmp2arr: more a8946c98137f7ab8e3f2ce9b9b25845150d309b2
[Pipeline] bmp2arr: more a286e1634e2d33c7e55700a2da8c9528f074805d
[Pipeline] bmp2arr: more 667feb32c40061483882937ed0e8bc9eb7ae5e30
[Pipeline] bmp2arr: needs palette, or ImageMagick is not happy a925e50d232379bb3b0966eadfc37e1ef8607cec
[Pipeline] bmp2arr: more 8ea8eba4cbe564f00f2f14b8bf2c430e4606290e
[Pipeline] bmp2arr: Revert "bmp" cd4832357a5fd26a3a22da8e84708faae52fb85b
[Pipeline] bmp2arr: bmp 96eb9e22ea6a5c8d07985cbc62a9ec020490f9dd
[Pipeline] bmp2arr: more 26495ecab31bb8f7b57d5d9cccde38e019dd5eb6
[Pipeline] bmp2arr: more 28569891767f80fc2ba9c1a5cad93964d31593ca
[Pipeline] bmp2arr: initial code b5f31c8aaf58bb6bafcf7216757b198e47361a1a
[Regression] Fix conditional branches in CShots::hittest_pellet() f03f43db3a463dba352e0c85881a3f947f944a57
[Pipeline] Add .BMP versions of all hardcoded 1bpp sprites found so far ed4d7282a04aa3208ee8affd40f9976941f1e0e2
[Maintenance] Decide on __asm as the keyword for inline assembly 43c97ccaa1522f6891346ff40effeabe388ee024
[Maintenance] Proofread all comments in C land 97dce7544644dd9b8883caf04eef0084e38e8f39
[Maintenance] [th01] Rename z_col_at() to z_graph_readdot() f54e05492e0883a85082c6f1911e2099e82f255f
[Decompilation] [th01] Player shots: Pellet and boss collision ad067486ca03770182c6c784f29d2720ccec9ee5
[Decompilation] [th01] Player shots: Unblit/update/render function 60805cea7c0914929ce58b34dcb1306838589014
[Decompilation] [th01] Player shots: Reset function d158d186e2bf0e5f13b7c90e2bc9412af4f1e22e
[Maintenance] Move the declarations for planar graphics to their own file f453625e3070eaa84b9c8471f1673f1ff3f5176c
[Decompilation] [th01] Player shots: Spawn function 442a92d32b203ca38ed0c0009a14a93caf6eb714
[Maintenance] [th01] Move MDRV2 files to a separate `snd/` directory 40b8325cc3f14bfca5cf65616ec0e04454a47305
[Reverse-engineering] [th01] Player shot class 9ef56ad5ca79f3e2e728010c1efbc6cfa975202c
[Reverse-engineering] [th01] Portal-related orb flags and variables 600f036c04470a941283f42849840473e228b7df
[Decompilation] [th01] Orb physics 51de73bcc93d2ff9d5413d28e4369df65d3241c4
[Reverse-engineering] [th01] Orb position f364dc0182b8b7d6d361a5056be1ece3ae48e003
[Decompilation] [th01] .PTN: Unaligned 16×16 blitting 8283c5eec8ba5f8b3b619de98871509048ee28ab
[Maintenance] [th01] .PTN: Define the transparent color in a single place 979f401515b56d2e40a0da8c53480a6f17653229
[Decompilation] [th01] .PTN: Byte-aligned 16×16 blitting 9cd54f1b137bdbc674211c037cb59d33ffe2a508
[Decompilation] [th01] .PTN: Byte-aligned 16×16 unblitting f6c668dafc315715e9c8ed5c5063cf6023f73952
[Decompilation] [th01] .PTN: Byte-aligned 32×32 blitting 71970f57c6b31e2568328f1b80461c34e0c5a02f
[Decompilation] [th01] .PTN: Byte-aligned 32×32 unblitting a55c5ced818b10640c7e513dd82e4cdc141f7e07
[Maintenance] [th01] Decide on `unput` for VRAM page 1 pixel restoration 6a5fa3aee97ffc7995c6b26c5e22c73cfe896deb
[Reverse-engineering] [th01] Reimu's X position 52b8414993ee1ec771e585be87868b7fe90be184
[Decompilation] [th01] Pellet rendering dd89843faeb128c654cb6b0d8a2b881d0dfd7f99
[Maintenance] Move the pellet sprite to TH01 94dc9ef251b8ddb3da3f158e040ce8a6333f43e5
[Decompilation] [th01] GDC-powered graphics layer scrolling 8ddb77801dc75283f69929ce2e062b6fde517bb2
[Position independence] [th01] graph_2xscale_byterect_1_to_0_slow() calls ec478666de90bd1ae8704b92aa79e50da5f03ad1
[Reverse-engineering] [th01] .BOS bitplane pointers 416aa4cceffa8bccc17d211da4b14bee29ad557b
[Position independence] [th01] Final false positives in OP.EXE and FUUIN.EXE 6b2a54d8d26f463704a9942b721eff59fb4df172
[Decompilation] [th01] Main menu: White line animation 55b3cb033009894c62b6c25493ac7ca37c3ceec7
[Position independence] [th01] Remaining graph_printf_fx() calls e1a728f9e3db9a9ef4e3bc5dcef28468c1448cb1
[Decompilation] [th01] FUUIN.EXE resident structure data retrieval 57a8487084d21de1b60a236269e6fc35a7fc472e
[Decompilation] [th01] Ending picture loading and display 026fff63a5c70edf8a545989c9f378595aa9e551
[Maintenance] Move the EGC copy setup function to a separate file a7230ba26a1f2faac3f6064855accc37d9df1094
[Decompilation] [th01] High score registration 5c77db08ca99d7203c1261f51e05be5e277eec10
[Decompilation] Change graph_move_byterect_interpage() page parameters to int 753e1b670aab7e3e14cda41bc84790490ce2b494
[Maintenance] [th01] Add a header for the slow 2× rectangle scale function 3bd824b5beeb835a05d622b61eec1f7709bcc11f
[Decompilation] [th01] High score menu: Name entering loop 0e73029276ddf436d9aecf20bc656fe4538fd946
[Decompilation] [th01] REYHI*.DAT saving bbef9b0bdb2f3e0d19f48c918b991abd1eef6eb9
[Decompilation] [th01] High score menu: Input handling 6e0c33a8bf3a595f24cd60eb0a6bb20c216866dc
[Decompilation] [th01] High score menu: Shot key handling 440330857a3cc8815441128bede8e4ed3fff8e1c
[Decompilation] [th01] High score menu: Re-rendering individual characters 7a1332e1f51fa6ce3be8fb2c54e22c3170c509d3
[Decompilation] [th01] High score menu: Initial table rendering 57be510056c5c40cb7276ceb8c904a76057cda9a
[Maintenance] [th01] Rethink high score menu constants 8473dc2048e8e9ce0043245b71fa9cea70e32c2f
[Build] Assemble piloadc as a separate translation unit 29c5a7365f1c4cbb400753bfa304bdcaca09b5d7
[Decompilation] [th01] High score menu: Initial alphabet rendering 16ac6b4206e511a270e93f10199e22c916fd98d3
[Decompilation] [th01] Blitting full-width numbers onto VRAM 4f87ec8152e4cdd1f5057b858af8a18a4a80766c
[Decompilation] [th01] Keyboard input in FUUIN.EXE 651d09f5bd6781b3cf3643dc767412dd3001b872
[Decompilation] [th01] Keyboard input in REIIDEN.EXE f2543c83364a15853e911bbcb811536efcda1ee3
[Decompilation] [th01] Input declarations shared between REIIDEN and FUUIN 07dab293adaedb826435f0fc9c622f0280c45aea
[Decompilation] [th01] Keyboard input in OP.EXE 389b9a1056e998c22c8fd0279a202d244b481ab3
[Decompilation] [th01] REIIDEN.CFG loading and saving 7ad14db394df71e48fc7e718bdc37b6f01342f6e
[Decompilation] [th01] Unused function to snap all dots with hardware color #4 05a0e9b1c8ebc7c50489f16f4f9e5be3e1befc15
[Decompilation] [th04/th05] Stage and BGM title popups 90252cc59afa9ba7d6ca272795e6a3ad8589e90c
[Maintenance] [th04/th05] Declare null callbacks in a single place in C land e1f3af547fd81bde4a71dd18256c7ea460ffc0bb
[Maintenance] Reorganize gaiji definitions 8b58e193bd1c0078937d073bde26b5dd2f62a151
[Maintenance] [th04/th05] Declare scrolling variables and functions in C land 5531ed9b8b69077a46bb2d3d1097f2d5bc17aef7
[Maintenance] [th02/th04/th05] Declare more stage and player symbols in C land 708d9fc8ac2ff2de641fa54e26aed0c08c9e0d59
[Maintenance] [th04/th05] Assemble 16-bit .ASM files case-sensitively 70b4134af4253ed9355c633043331c387f5d250e
[Decompilation] [th04/th05] Declare stage tile data and functions in C land 17434fe8481b65687a2ee9527800372945e4059d
[Maintenance] [th04/th05] Declare GRCG register setting functions in C land bf40b4e37503000ace0fd332390fa988f52a5300
[Maintenance] [th04/th05] Declare public text popup symbols in C land 7db8821c41eada71f1ff86ad9e9e938cf8ed77e9
[Maintenance] Don't modify master.h to #undef grcg_off() for TH02 021280b25c2c2e5106219fb48317b40338e0d953
[Maintenance] [th04/th05] Add a segment split before the title popup functions 624b66f3cac3c069e59129da0fe06ef8da085078
[Reverse-engineering] [th02/th04/th05] Stage and BGM popup variables dffab7ae919e441f37777ed6cf2d7b47800174c2
[Reverse-engineering] [th04/th05] Clearing the playfield's text RAM area 5f047fdab1532e8e9ac5037fa0024561c04e9975
[Reverse-engineering] [th04/th05] Text dissolve circle sprites 98be2f19a590d8a8de8aeeb3f20d04ea3acabb1c
[Reverse-engineering] [th04/th05] Stage enemy structure da6b856dc58fd921427f98bcf12e3cc8e7036ab3
[Reverse-engineering] [th04/th05] Currently alive player shots ba66fcc8013b947fb8c397cab20d15951f793673
[Maintenance] [th04/th05] Rename `pellets_alive` to `pellets_render_count` 86c7ce540c5f5987560ea18f86f2dafe21068f04
[Maintenance] Consistently use forward slashes in #include paths 97ce7b78cd86b25246e42b07d9bb758253ff0415
[Reverse-engineering] [th04/th05] Point number popup add functions c6b17b0c24a347b761a3d965bf42c5f03ff0659d
[Reverse-engineering] [th04/th05] Point number popup update/render functions ff56f162ea9761b31a1e5e101e2fd3057048816a
[Reverse-engineering] [th04/th05] Point number popup rendering array b91d82f037ed11dd8d292f9fdaf247d44fc1f532
[Reverse-engineering] [th04/th05] Point number popup structure 1a8da72ba0a2a0214ee8693143e10a5690067933
[Reverse-engineering] [th02/th04/th05] Rendering of individual point numerals 4e58dadc745a0e25e63837656370a25cf296c53b
[Maintenance] Start a separate file for recurring sprite blitting algorithms b6fdcb0013df33f028e29facf7a4dd424b4b7cf0
[Reverse-engineering] [th02/th04/th05] Point numeral sprites 8f824c42976f62edb6f2be9fc2bf6822e1243632
[Position independence] Remaining references to _ctype c0b44ecaec597dc6f8ad3e651a1aea970a17857f
[Reverse-engineering] [th05] Curve bullet rendering 24b96cd9dae5da24820e937a461ad89b49ebbd4b
[Reverse-engineering] [th05] Aiming to the player 8098b622858b079382ce819157f8a1e71b511c64
[Reverse-engineering] [th04/th05] Boss phase end functions cf68f49803d73b28f8c00d1161d72d18cc6902a4
[Reverse-engineering] [th04] Stage 6 Yuuka's parasol and vanishing animations 117fa02525549bd1a2e9b2ca38373937851208ee
[Maintenance] [th04/th05] Declare boss explosions in C land 4bab289d8a59c69c22d00088e6412ef6942b73f4
[Reverse-engineering] [th04/th05] Boss item drops cb8da961c9b4cbaf2a6d9ff1e5d85daa8821fb5f
[Maintenance] Move all features exclusive to MAIN.EXE to a main/ subdirectory d1f3dcd620d354b1d646255504980791e87d8034
[Reverse-engineering] [th04/th05] 3-stack gather circles 54ee99b7114ff03adb6d8a5b904ae5ffa4df2ff4
[Reverse-engineering] [th04/th05] Gather circle structure 48203add0a6b5177192ce699a554679248f20f3f
[Build] Don't word-align everything by default 02f0a0afcc4a3adb59885f4808da0ee9014e0091
[Build] Use the minimum possible size for enums by default ffad8cc8971f37633e38acfed64c5ab69dbc2d9b
[Reverse-engineering] [th04/th05] Gather point rendering bedba4e070bd09a12b6022519fcbe6f713ad2ffc
[Reverse-engineering] [th02/th04/th05] Pellet rendering 65816a43dbb3f64b4a28c5d901b52d632aabb4cc
[Reverse-engineering] [th02/th04/th05] Hardcoded 8×8 pellet sprites 4843d17aaebd427315ece790b4d55661bee67aaf
[Maintenance] Decide how to handle pre-shifted sprites in C land bc9a88d3b9de7aa8d3d300097f6c2f876054caa8
[Decompilation] [th02] Random number ring buffer reads, instance #2 580fa8301af465c9d873f100dc2b9c5550f29316
[Maintenance] Merge th01_reiiden_2.inc into th01_reiiden.asm 110d6dd9d1dc5479b252f1e8d995dbcf1a730766
[Maintenance] Compress unknown BSS regions using byte arrays 7698f5da6d1b5d56550980a223994308b3f12ff2
[Decompilation] REYHI*.DAT loading and recreation c338305a610074f3aeefffbd52962a03b56ed206
[Maintenance] [th01] Split the REYHI*.DAT function segment into two e5af7a9ff560982374f2b49c8a4a9b296766a316
[Reverse-engineering] [th01] REYHI*.DAT structure ee9168b7ebcfe67f53d6f011f3d22fd3c6ccb504
[Decompilation] [th01] PTN-sized page 0→1 copies 1cc9cefa26e1e064f25839419fbfca952b3ad098
[Position independence] [th01] EGC-powered page 1→0 region copy calls dfac2f2fd485a626b0cdafe109b892f937b84093
[Decompilation] [th01] .PTN snap functions 9e676ce3ef8e9a101961b4fd2fc43dbac3433f5d
[Decompilation] [th01] .PTN file loading and non-transparent display a184413f2763fcf59727619066c19d157998895e
[Maintenance] [th01] Correctly declare the packfile functions in C land d79f4c11713910e776dddc5a7e164bc375d6d4f3
[Decompilation] Add an inline function for VRAM offset calculation df6b636053cd1a6f8eb3ac101363b509776b9a56
[Reverse-engineering] [th01] .PTN slot structure 2546c5dfcbffd3406ea0eabd2503f04df227c85b
[Maintenance] Add macros for abstracting dot types based on width macros 40bb265b522cddbc67dc44776f622d61fa268ab1
[Decompilation] [th01] .GRP file loading and display f6cbff0bf910252d5f8a9e248b74e648ce0466ad
[Maintenance] Add include guards to ReC98.h 70176537e656604b24ccd6b8c3b0c846e412709f
[Reverse-engineering] [th01] Global .GRP and .PTN variables 76634342f1a6a3dda4aa931e50182d71275cbdf4
[Decompilation] [th01] .GRP palette fades 8adbeb76b645569ac1bd0cb14c6827280f4e52f7
[Reverse-engineering] [th01] .GRP palette 63ed22ba679b4b371294dfc71b1664fa015ff260
[Decompilation] [th01] VRAM text typing 00050d0e5ef00a0ae97b1c474d695db883c6aeb8
[Reverse-engineering] [th01] FUUIN.EXE frame delay 74269c38347767091535c0f719ff59f95ddda798
[Asset pipeline] Add a .GRZ viewer 5ac9b301f1873e941882dcc2f429604b57ccdbf6
[Reverse-engineering] [th01] Identify the end of grx_header_t as a palette ac0cbb6dc9e0a5ddb7cb2f8371ff2ee790b87d53
[Decompilation] [th01] .GRZ file loading and display fd6a8bae81aaef8736ce4b4a6e898a0dca99d1bb
[Maintenance] Use `dots` for 1bpp lines, and `planar` for B/R/G/E dot structs 54e5bf39fccf406b8f1ca877fb9fcdd91c4cf67a
[Decompilation] [th01] Game init and exit functions 0252da2a71fa58cb4734c0ba61c013e4294e7c0f
[Maintenance] [th01] Move ztext.c to the hardware/ directory f56725f3d0e7aae6c2b9f23112a5b1dd3ae95632
[Decompilation] [th01] Graphics BIOS initialization and activation functions de3f9ec31b8a4d857a0956b8b82cfe435ec91e1b
[Decompilation] [th01] Page flipping ee682ce2e1964b5e16a8b25fb03253dedf51ae9e
[Decompilation] [th01] Basic hardware palette and GRCG functions 14f9bc3bbe64ec8dbd0901fc5535e1b26ba41e44
[Decompilation] [th01] Whole-page color fills and copies 0e852feee8a9c70b46a17b37358686b427baa63b
[Decompilation] [th01] Palette fades from and to white and black 7d77338e29e9078f56547edb8afb95f3b4a6b3a0
[Decompilation] Encode the per-component range in the RGB color template 3229b2285d300756ce4070850606ea6429b76cc5
[Decompilation] Overload operator[] for palettes f2b454dfc61ed5359b4246e6562da0966eedf58d
[Position independence] [th02/th04/th05] False positives in input constants cd48aa351e5aa8174b95b7a0736e1672efa8fe7c
[Reverse-engineering] [th05] Custom entity 6: Shinki's 32×32 balls 8a9cb158b61a7380e036ba339137f24b7643a60f
[Reverse-engineering] [th05] Custom entity 5: Yumeko's knives 176470072977ae41aeff5eaee1bf6eee95035fd6
[Position independence] [th05] Custom entity 4: Mai's and Yuki's 32×32 balls 3bcc62ecbc5a8e514bc5341c207010a21e669e06
[Reverse-engineering] [th05] Custom entity 3: Curve bullet head structure 9e52cb15cf77b052a6547f42cf88850285524343
[Position independence] [th05] Custom entity 2: Alice's puppets dba8f15dc7e974915978bdfff6385b05275ee02c
[Position independence] [th05] Custom entity 1: Stage 2 star particle structure 42f2dd790b23bf64de113d331060c9fe03e3a183
[Reverse-engineering] [th05] Custom entity structure 5000bc07d7a9330bc050376204ca3443b213fcb3
[Reverse-engineering] [th05] Curve bullet trail structure 012a84de1f876c4003915c4ab555670eeb7fe8b5
[Maintenance] Throw out the Borland C++ run-time slices 🎉 f4eb7a84459780544b1d538cc4e0e36eaa3a7db4
[Maintenance] Remove all dependencies on Borland C++ run-time source headers f99d7a571cd1d2becd52c8246cc8d4120b8e526a
[Decompilation] [th05] RES_KSO.COM ebd214bbb2506d5a10f6f5f073d03f81de265467
[Decompilation] [th04] RES_HUMA.COM 4e53b975524ddf33a01b6d73f0ef427002e9823a
[Maintenance] [th04/th05] Declare BGM and SE modes in C land a1c3acd9f169a073bf7b913072c19026eeac6bef
[Decompilation] [th03] RES_YUME.COM 803c079a5dbc0ca931628cec7753fcad3ceba583
[Reverse-engineering] [th04/th05] Dialog box background rendering 381db0a14daa394f8fda1fe3abcbadce7ee98799
[Reverse-engineering] [th03/th04/th05] Configuration file a2961b02da8170f168c4c6f6d34a490dbcd97a91
[Naming] [th02/th04/th05] Maximum and default starting lives and bombs c5a18ecfa0f65dd51ca6aff1e1e657a59150518e
[Maintenance] [th05] Fix local variable names in op_animate() -.- e4816a0bafdbac38afbcd3767bbab82605552d7d
[Maintenance] [th04/th05] Correctly declare player variables ee2e385d57c819a4b56cd03d026dd21dc2ec3d72
[Maintenance] [th02] Move .CFG/resident initialization to separate files 9ae9754fb35459e74ed220a4a33ee919d86c4805
[Maintenance] [th03] Move cfg.h to the formats/ directory f8d83eefa33d70a1e08b210d8e86b4e8dbdc3eae
[Decompilation] [th02] Get zun_res1.c right b8ca607c385d0ddc2a776cfca910b263ebb069cb
[Maintenance] [th02] Split ZUN_RES.COM into three translation units 942373e640496542a17e12edad03826d0c42f71d
[Reverse-engineering] [th03] Demo initialization a1f36ffa04c84bb2627f0410c6b837d86652fe5f
[Reverse-engineering] [th03] Resident structure, reviewed 484730e31969e55eb590dea6051641532dffb7c5
[Reverse-engineering] [th03] Resident structure 93c580065a752d8405af478efaf57c3c9c122a9f
[Maintenance] [th03] Move character speed declarations to a separate header f288ba4c8cb4c6d2859ae465c60f3cb407850dc8
[Maintenance] [th03/th04/th05] Start a new "essential macros" file b7ea95836d60cf9e1c74b6540e87b11b37aa4852
[Decompilation] [th03] Add a type for the paletted playchar IDs ff777a099e2c9b36bb8ca2479403b0d7ce72c044
[Maintenance] Move TH02's sound functions to a separate header 6363a37d7a9ea6aec032644363bb38beeea3b3fa
[Reverse-engineering] [th04/th05] Bullet spawn types 222fc993d00a3e73ab1c23a2c70979c60eaf155a
[Reverse-engineering] [th04/th05] Bullet template structure f21269f373f406c68b48ffe55539692c849447a3
[Reverse-engineering] [th04/th05] Bullet pattern types 3292af086bf0ebadbc5b3d1757fccbe79b7067b7
[Reverse-engineering] [th04/th05] Sprite selection for angled bullets 18079064005c5870e30f1f14220dc4283c104684
[Reverse-engineering] [th04/th05] Bullet-related sprite IDs eb0cf6820fb6d1ed2f5d4cfa13d32c073b343e04
[Maintenance] Use a single per-game, per-binary file for super_*() patnum IDs d6f356da45554433531507d32727cf9d3b7dcce2
[Maintenance] Use *_CELS to denote the number of distinct animation sprites fdf2a45baf493a3a5e3548f09f3290276aaa665b
[Reverse-engineering] [th05] Micro-optimized monochrome 16×16 sprite display 52864172a4c83ab0129edde2ce8bc85de19b399f
[Reverse-engineering] [th04/th05] Micro-optimized 32×32 sprite display 38f17af25d43a37e0322054e14a82c1e774d4da8
[Maintenance] [th04/th05] Improve the z_super_roll_put*() naming convention e4f1718e9348454d4614fba74412f2398c63526b
[Maintenance] Use @@locals for self-modifying code in bfnt_entry_pat() 0f3359e1b3d3d1b65065bacbcfb3d85b8d999815
[Reverse-engineering] [th04/th05] Bullet structure cea3ea6dc764c8a05060bec4a19f7154e372cedf
[Position independence] [th04/th05] Remaining switch jump tables 1568121f05cb44273feb663bb9ad4ea5ade484a1
[Reverse-engineering] [th03] Player structure 4bb04abb6f7e6f0d92334ca61e1016ae696d1992
[Maintenance] [th03] Fix playchar_t enum syntax -.- 245fc55b631a3178ed4ee520936a926223a36b17
[Reverse-engineering] [th03] Shot-related enums ed3763b591a08fccfb4c3045d128489c215052db
[Reverse-engineering] [th03] Hyper function pointers e478ceef87b20e878e16a282ef5844637594fcb3
[Reverse-engineering] [th03] Charge Shot function pointers 5ad9d83686859fcd1d1dba003ac3b4f6756afe8f
[Reverse-engineering] [th03] Stage-dependent additional CPU damage per hit e6601fb27f2ce5d61b8d4c3a3c5c8e4e55e01682
[Position independence] [th03] Hit combo ring buffer 327021bf16cdb1cc9c8f1585e5848eb23a0c57b7
[Reverse-engineering] [th03] Combo structure 17cbe2ad62cc497b1ead9b9fdf46096b76e4c178
[Reverse-engineering] [th03] Currently processed player ID 9943f2f7ef3c56d284e2854dcc36e0a2a423eef4
[Reverse-engineering] [th03] Current score manipulation 8924a4a0aa2806b301f81d66a75261c5803968e5
[Reverse-engineering] [th03] Five-digit powers of 10 761a0f48a2d019761f62bca294be2e096ead0a6f
[Reverse-engineering] [th03] In-game score font a93175828c7a40622a351aea1e448f27d6715bb4
[Contributing] Document how to use TASM's interfaced function call syntax 2bfd7be78790846be1a5d4276beed2261d76b40c
[Contributing] BSS padding bytes should be rewritten into `evendata` 3a2b26c370970e23fe8e9e83a20bdbaeaa1e8af4
[Contributing] Don't require declarations of internal symbols in header files 98e07ec5e1cf27c6f4fa867928ab189b4bb64f70
[Decompilation] [th01] Single-point drawing and retrieval 0f18dbc4bd85053cee724844e0cbff88debacf60
[Decompilation] [th01] Restorable line drawing b0c832bdeed48f82594f791d74d5d93e96eb5347
[Maintenance] Define VRAM access macros for arbitrary bit counts b5cef6eb69f75a0bf3a80438b28c2c6c7c34f5d6
[Maintenance] [th02] Move remaining OP.EXE variables from ASM land to C land e0d0dcd51d95f5da4baef37a0ce8dce8b0903b6c
[Decompilation] [th01] graph_printf_fx 4d13d7f7e92cdf93d8e548d6fa81fbfccaa54229
[Decompilation] [th01] Box and rectangle drawing 2ac00d47bfee2e668370d2fd9ee0bc127616a00c
[Decompilation] [th01] graph_putsa_fx a6d292a62ccf81a0c4fb11cd42c8e75d9176cf37
[Maintenance] [th01/th02] Split graph_putsa_fx() into its shared parts 4340b5d6ae317bebde83c45f61cbc46da86b150f
[Maintenance] [th01] Fix the function name format of graph_putsa_fx 4372b90ed0adf4f6397919cc494b96e29a01f3cd
[Position independence] [th01_reiiden_2.inc] Main color palette references add988f20330667e5c2f49549a9f977025d8c5fd
[Position independence] [th01_reiiden_2.inc] Sine and cosine table references aac5bec3bd6a7e226f6c45e782e3d474e832eef2
[Position independence] [th01] Restorable line and box drawing calls d66416afb2e12372fbe165b957493b9a011e0686
[Reverse-engineering] [th01] Restorable line and box drawing ebb30ce170b468d6c6356212c67bde7a985cd7fb
[Decompilation] [th01] Inter-page rectangle moves 9f7dde8953ac2e3e0f18a5d9512359ca193cdf9e
[Maintenance] [th01] Don't #define away master.lib's graph_accesspage() macro f87b0d4f9e0d889dfe411f14a1e334897d9b4c09
[Reverse-engineering] [th01] Current back page 6222b7851401a1ffb3382bca60cf39891c441c30
[Decompilation] [th01] Blocking palette fade-ins from a custom start color 22ebc48eea65c73e899fc30cd0bd0c569cedc94d
[Decompilation] [th01] master.lib resident palette function reimplementations e55a48b700301147fd69d9976f79033275e19a03
[Reverse-engineering] [th01] Basic hardware palette functions 6a274436db2ef6369732568f27390e80aaf9c97a
[Reverse-engineering] [th01] Main color palette a3bba96a267b110307e5db4eac6fd2ac7ea52348
[Maintenance] Templatize RGB and palette types for 4- and 8-bit components 0e19e52572b70d48f056f490de48ecfa000b7c52
[Reverse-engineering] [th04/th05] Resident structure 042b7802bf070aede7f67d9aaec91f9b8e80c971
[Maintenance] [th04/th05] Declare a little-endian BCD score type c3a9816e6013d1d8d59d2ecb95e3a1e2eee4b815
[Reverse-engineering] [th04/th05] Item collection counters 23ea2d4bee1fc7ce017a580ff1f0ccb00612ca65
[Reverse-engineering] [th03/th04/th05] Frame counters b5d56e5df2215ea2e2d461297709124d50c4815f
[Reverse-engineering] [th04/th05] Graze counter 658c0291d3248da5f327b7f40be69f9d19064fb4
[Maintenance] Use the same resident structure pointer name for every game 5a7fb6879f9dfceb7c6d55075acf115c9e8f8b34
[Position independence] [th04/th05] Final false positives in OP.EXE 9faa29abbe7fe59fa29b2e4eeb2b1f8920fd937e
[Reverse-engineering] [th04/th05] Stage display in the High Score menu 9e8fa66a7ab749e11a7a19e71c3f598e7faa8288
[Position independence] [th04/th05] egc_copy_rect_1_to_0 calls d3c24b5438d520a5491f9186f6dc22bc715c34e7
[Maintenance] [th04/th05] Unused setup and Music Room data 87f2cd11035ab17208f6d9300ddf3de8bf4958d2
[Reverse-engineering] [th04] BGM/SE mode setup window rendering 3c1b2473dd6d5335be1457cfcf925ac88214c102
[Reverse-engineering] [th04] Extra Stage selectability 24fdd311920d9e7006db8e43d032d482bb11f2db
[Position independence] [th02/th03/th04/th05] PaletteTone values f5f45c942063bd4a62b819e55a009f6d481031d1
[Reverse-engineering] [th04] Game clear variables 7b8b059ee76757e2b98dc5c23748267393c04000
[Position independence] [th04/th05] bgimage_put_rect calls 4893a52ed35df67b708ed2eec59f481164195c10
[Position independence] master.lib graph_* function calls 0eaa1426847e2eef97598a14b2ff9a149eb6c482
[Reverse-engineering] [th03] 1P/2P selection gaiji cursor 80cec5b2318da7a36a863138f9834d28d4401bd1
[Reverse-engineering] [th04/th05] End sequence constants daa6b7bb951a42ae3cc6be83e7c711c5807315a8
[Reverse-engineering] [th04/th05] GENSOU.SCR decoding, encoding, and defaults 8dbb45050f5e6475d26ed146a03a8ad4db813c0e
[Maintenance] [th04/th05] Define a OP/MAIN/MAINE macro f46fc914c145b70f61deabe501ada3d79a0be2f0
[Reverse-engineering] [th04/th05] GENSOU.SCR structure 5eeed67113f99a8b6d92dbd6a57ba6abe16fb7a3
[Maintenance] Improve score data file-related type and function names b7de999705a407e262190f6d61382ccef28b92f7
[Maintenance] [th04] Move gaiji.inc to its own subdirectory 9791ea55cfc5485d7782cb9371010f0b4ace25b9
[Contributing] Padding bytes should be rewritten into `even` or `align` 034ae4ba94ea814c5e27f571e7b2695e70ceffcc
[Position independence] master.lib superimpose function calls f275e041e95a7804603c5813f065d3959ed122f0
[Position independence] graph_putsa_fx() calls 7d329202e7d0e5fc5caa37fb89344fd7e420260e
[Reverse-engineering] [th04/th05] BGM/SE mode setup strings 705e942ca03c504b49c2a466262087dcd6b8bcb3
[Decompilation] [th05] Character-independent shot type functions 83f422c61a4671e7edb9dbd6fa68d0e434435235
[Decompilation] [th05] Reimu's shot control functions c060df171ecbd4fca4c33a4b88b919960724fd6f
[Maintenance] [th05] Abstract away randring for shot angles 36f1727f824fa949988d60458ba6552e6537f463
[Maintenance] [th05] Minimize #includes for the shot type translation units 765eae82e8f1d24b55778962c6d78f35d4b961c9
[Maintenance] `#pragma once` has no effect? c5b07b746e0520304f82af330902cd8829bc0b44
[Reverse-engineering] [th05] Masked PI display 1d6fbb81080211fc4cf102fdc9b963106754b33c
[Maintenance] [th05] Clarify pi_slot_put() a bit a5e714b16520cebe7905893422d7d15190bb8529
[Maintenance] Clean up PI function declarations and comments 75a779e82a3d2b1f87570309beee852f6962660a
[Maintenance] Use a single DEFCONV definition file to cover all games deb1b73016d8713e0fb4b3a57772996f30c14690
[Naming] [th04/th05] MPTN functions 13e4476cc8235aed4bca2eccf0ca8e4553868f93
[Naming] [th01] Game init and exit functions 67ab2f4a41516232882b6c4638df135f306ac887
[Naming] [th03/th04/th05] Main and option menu functions 990a1e2c94337a9b097706185179e31e7beb6453
[Naming] [th03/th04/th05] .cfg file functions 04f0491885b07eac324df5e1747f691f4f2edffb
[Naming] [th03/th04/th05] High score menu functions e219527964e6c8e580b88d9b389f3396b1aeb3ac
[Naming] [th04/th05] Character select screens b95a625d87030912a51c09c9d013cc2bf2a1ba69
[Reverse-engineering] [th05] Character selection and unlock variables 02d1c04858d0230d7b47a7f269731957403d425a
[Reverse-engineering] Player character constants 50c36f5551b35d73fba6ea955c2d13c636c47f72
[Reverse-engineering] [th04] cdg_put_plane_roll 6e741bb1e18fd263f63fc942fa899641fca0aa1d
[Decompilation] Add a separate segment type 417ba80c0026f2c8d9b5f26e312d67501669691b
[Decompilation] Add separate types for 1bpp planar pixel lines 59bbe313adb4a2db2402f63a8f506e6a4ceed5a6
[Decompilation] Finally declare <stdint.h> types 9cb6cc527a95a51cdc4f607610fa1a15d729b3c4
[Reverse-engineering] [th04/th05] EGC-powered page 1→0 region copies cb45bf5a8048d418c656c66151eaf7744e059fd6
[Reverse-engineering] [th03] input_wait_for_ok_or_measure() 0dcfc445b8d2e7738373c36082eb4311bafa2937
[Naming] [th01] graph_putsa_fx c140281ba77517012ba4785efd8e0cf266ecccb3
[Reduction] [th03] graph_putsa_fx 590436dfa823224cf16a867513ee546ca7c787f2
[Reverse-engineering] [th01] grcg_setcolor() C reimplementations 9173833a8d3f85c55786974680b32b5df55298d5
[Reverse-engineering] [th01] JIS X 0208 東方★靈異伝 code points 88a9143309c95fa3dcf90f4d12ed6ffeb1bfff44
[Naming] [th03/th04/th05] Music Room functions changed from TH02 c0705c395c8c648587b7b32dd55e156d9f2690ab
[Reverse-engineering] [th04/th05] ZUN Soft logo d7906ef78ede8ddffb0823cf368e4d645e05a984
[Maintenance] [th04/th05] Correctly declare the ZUN Soft explosion functions c6ab7798976c0c72311d05f95f716a72f1b3c119
[Reverse-engineering] [th04/th05] Music Room / ending background image buffers 38e8fd6a8dccca706ff145b14c9fc7821081752d
[Reduction] [th03] Music Room comment back buffer 9684cf53121bd4914dd2ca0517bafc50d753b7d7
[Reduction] [th03/th04/th05] Music Room code identical to TH02 1317273aa0324b4ef31079017b6957466e3518af
[Position independence] [th03/th04/th05] Music Room file names and titles 680af1afd90ad67e686f600c6b0d24bbe20218be
[Reverse-engineering] [th05] Music Room piano functions 2a722db215a872f8b8cc23cbbe312ae08e343680
[Reverse-engineering] [th05] Music Room piano sprite data 53f316792fb24c4a2ad3d219e7dde74e92bb4f74
[Reverse-engineering] [th05] PMD work area and piano note data b25ec3d13854ff2d59dfc911657e7582427f6499
[Reverse-engineering] [th05] Music Room piano coordinates 2b617dfa759d220c79fc721608656a68f6e92421
[Reverse-engineering] [th05] Music Room piano label font b74b7f9bce1876c853b87051c7c910b6926c8235
[Naming] [th04/th05] GameCore d0c4de0c7f6a4bfa4415f8e1c50284e1b6237818
[Naming] [th02/th04/th05] HUD display functions 895884fc7a61f5542c910a3656d349a0bbec1bbf
[Naming] [th02] Current and high score 25903719a3b687dc9db00bc028edc20298ebbdc3
[Naming] [th02] Gaiji loading 1ffa121821afa670284d815ca50f48f91b0855c6
[Reverse-engineering] [th04/th05] graph_putsa_fx 0b084b83c32415dc856f523cfa082508caedfbde
[Reverse-engineering] [th04/th05] graph_putsa_fx tables 75f05c8b90dbf8b07fceccc5846da21a22e51a2b
[Naming] [th04/th05] graph_putsa_fx 6e09a2c15f873e1014bcaf4bc532fb1611af3628
[Reverse-engineering] [th03/th04/th05] snd_delay_until_measure 811ba84e3f72d9eceb01cc0d94e13fef7ea66245
[Reverse-engineering] [th05] Current BGM measure e8c9876bef45dab2c600a07bc52e5e82ee7bfd3b
[Reverse-engineering] MMD ticks-per-quarter-note constant a23dab3154d11eb720172d070afbaa6da653c774
[Decompilation] [th03] Shot update and render functions 5f4f5d87dc8803a6ecb9a75e8fd547af88fc2923
[Maintenance] Move PC-98 hardware constants to a separate include file 8b01c60f442e5f04bb9e716f86f35a866209d2b0
[Reverse-engineering] [th03] Shot pair structure 5c1a864432ba737ec92ed1981c6ca1cc404bab66
[Reverse-engineering] [th03] Playfield shaking 296f9f61c2021dbb8cefedb85b5e3a8312e999d0
[Reverse-engineering] [th03] Character movement and gauge charge speeds 4030ef737a6fbe029552c979cb9ec4aafa313987
[Decompilation] Templatize subpixels to offer both 16-bit and 8-bit variants 4d3d6acd2857fe77434951503c1d59e7125bd856
[Maintenance] Move the Subpixel class to a separate header, under TH03 bb6b0f1cc3f8ba0449797a45e186be956ced10b2
[Reverse-engineering] [th03] Character IDs 04d24ccf1cf46001b0baf36580e2fdf0a7897de1
[Reverse-engineering] [th04/th05] Pause menu 96684f45dca40032cf244640ea82260071d36429
[Maintenance] Correctly declare all input functions 30e6b7c3dbd96eef5619f38d949bb37390d11f41
[ZUN symbols] key_det / shiftkey a6a805f008cb2ca3bae72dabdfad133627e461ac
[Reverse-engineering] [th03] Demo frame counter 73f5ae79a09fe7645c957fa220bbeb7665873901
[Position independence] [th04/th05] Remaining references to PI slots 5bffab4f43fb8f9a5662e580fa04ee472b4a6636
[Position independence] [th02/th03/th04/th05] Color palettes 619203a1c9d6b74fd8637fa754f6c55a78d9aa01
[Decompilation] [th03] Sprite display calls b6e0330ff60f8a265b68694c3f26ea36d426f646
[Reverse-engineering] [th03] Playfield sprite clipping coordinates 2269d0c29cf4f8e0b8bc0eb8784eeb91e3f24f58
[Naming] [th02] text_wipe 29385dd7cb8e4e1b8697b2a008d4a720df0dfe3e
[Naming] [th04/th05] EMS area setup 61a2df2d71bd2f2dacce260db28d2101115b7709
[Naming] [th02/th04/th05] Demo loading and playback 37fb6eba32e769df2b0db7d0b4d7efc01343113d
[Contributing] Establish how to cite ZUN's source code leaks 7c80fb01f2847330e153d296b5b93be7bc2a75f3
[Reduction] [th03/th04/th05] game_init_main 22bf71d17099678f0f9e7cd01719afbd90a76185
[Naming] [th03/th04/th05] graph_putsa_fx 9b9f487d6c7e72617141e5daa4823fa9025c5bb9
[Reduction] [th03/th04/th05] game_init_op 09edcab7441b67419bf4390850ab2c5c992e4404
[Maintenance] Move DOS memory assignment sizes to separate files 71c737c4eedb249edeb18786e4b1aeea562624c1
[Reverse-engineering] [th02/th03/th04/th05] DOS memory assignment sizes 3f25caa5dfc6f9f826656f5ac02f0d08c288bafc
[Reduction] [th03/th04/th05] game_exit_to_dos 0009c3c16105d3450c039df22656f2dac1b09c92
[Reduction] [th03/th04/th05] game_exit 34b7b619644403f25f88411857e74da82cfa7652
[Maintenance] Fix #include syntax for mdrv2.c 5f0b2642ea46f9fe73430348db3528481d5e18e4
[Contributing] Add a rule against decompiling self-modifying code e9453bffe08d95c5bbfe6a4ae150d76acb92e1af
[Contributing] Add some welcoming words for new contributors afbc7eb3815ef8f1c042e38e77ad361f1123d1c1
[Contributing] Fix a few minor typos and omissions c196cdb41eba288290836aa0f7cc2b2947e93221
[Position independence] Vector calls and variables 8b627803a3256a027ed78ae81edf8c92a1b16013
[Position independence] False positives in master.lib EGC function calls 550bba9b3c0e6843cdd348bdb3a2b5cb04a08b53
[Position independence] Remaining motion structures and comparisons 3d7211b1288409325ebcfedcc68b54b2b0462972
[Reverse-engineering] [th04/th05] Player position clamping ad22ce26c2ecddc69eeb76e14728266074d011d5
[Maintenance] Add an underscore to the player_pos variable b37611b1be516d98164ed95214e337d076c95c34
[Decompilation] [th01] frame_delay 01de2900ddebf6c75d9bdd90bdb62e01bf849249
[Reverse-engineering] [th04/th05] Midboss / boss explosion phase constants fef0299fbc730671c33d0f735375d20b2bf56686
[Position independence] False positives in master.lib GRCG function calls 6c4852f7894de298cdaf44d10b2836f1ff249c11
[Reverse-engineering] [th04/th05] Items dropped when losing a life 8a250701bd00eaefe1c5917317a2d83c9ed5a6e7
[Reverse-engineering] [th04/th05] Item types and sprite IDs ac7540dada9c3141951bd6f0b92b510f70d70fc2
[Position independence] False positives in item functions 2f0ca1ccf1d4cba00b6dfc1968f0c100a1557136
[Reverse-engineering] [th04/th05] Item structure 34089cbe3f7f7c9af6ddaa643e9d62e568440cdc
[Reverse-engineering] [th04/th05] Item spawn "splash" circles 2918e6dbd0c728710ab060094c0fc02ee0c586ef
[Maintenance] Move the enemy item drop table to an item/ subdirectory d1acb70cdcf4ffe424c4259219ac85acabf2ec66
[Readme] Remove the porting plans 1cb97310c73e6f56b71441c874934e4841a298ac
[Readme] Clarify that the library % numbers only apply to the two main ones a2e8866c28e13b27247390390098cc5af22e1b7f
[Reverse-engineering] [th03] SPRITE16 calls c09446a1f4503587a879f40d239bfcda555ec1ec
[th03] Identify ZUNSP.COM as a rebrand of Promisence Soft's SPRITE16.COM driver 772897c8f506ed2ca5fd7a1cd90cab0e8231f0a6
[Readme] Start a separate contribution guideline file b28cefc1c14887b561f71808cadbe59c70d04b68
[Decompilation] [th01] mdrv2_resident 0460072f25b983453cdf8d9ebe2f0581d6ed5a30
[Maintenance] gitignore everything in bin 61252e83f5c08b87b98644450440eeecda3f420e
[Readme] Add crowdfunding / progress badges and a GitHub funding button 34e3c7e5308aeae6bb5b7c3f514ebd963d6b80ff
[Decompilation] [th05] Marisa's shot control functions e7e1cbcaaf40a93202c6e0bc06aeb24c6f618720
[Decompilation] [th05] Mima's shot control functions 1276a0c94af5796642c526fc56bebf01d5c57ddd
[Decompilation] [th05] Yuuka's shot control functions da27eb4c312dc7180e017207eebffc060e4194c4
[Decompilation] Prepare the C side for the shot type control functions db4de240e9ca40a18591bf4663d17b2dcf72e94a
[Reverse-engineering] [th05] Player shot cycle bitflags 82b0e1db24ba7f95211d4cd9a2413f3e78e8e7f3
[Reverse-engineering] [th04/th05] Player shot cycle counter a84fa33beb0eda5f3761203dca11c684a53d5bc3
[Maintenance] [th04/th05] Separate constant for the player↔option distance f33a3ef2201bed4a737162987073d8196dd8a0ee
[Reverse-engineering] [th04/th05] Setting the player shot velocity b801d24a3480ce215fb522a315a26f8d636c07b5
[Maintenance] Move all shot-related slices to the player/ subdirectory 5ebbe7bda92f3d73a291c875b6224030246288b6
[Reverse-engineering] [th04/th05] Player sprite area invalidation a533b5d3ea4a3819a3c08637b1437d2a39fe2cd5
[Maintenance] Move the playfield constants to a separate .inc file 7887f53ea8238edfeb882079ad5b04b0ce515a74
[Maintenance] Change a few ASM .inc files to use 8.3 names e65cf0d05de8d40552e0ecb17d1f3e0bebc670ce
[Reverse-engineering] [th04/th05] Player character display 290935fe3ecb39f054ea2692e2d828f91956c2de
[Reverse-engineering] [th02/th04/th05] Single-plane sprite display calls 68c9a3c79cda6a67e8dbfa049c8165c40dcfbf62
[Reverse-engineering] [th01/th02/th04/th05] Player invincibility frames 6f1f36722f167728ac862ed71972abf983b1fd19
[Reverse-engineering] [th04/th05] Death-related variables c77a9276d34dd5fad4fec8de38228e2d2cacf972
[Reverse-engineering] [th04/th05] Number of point items collected 5a6567e173ee41995b028dd4f80439ebc36b53f6
[Reverse-engineering] [th04/th05] Player option position 881f2c671ea08e037776ee1f563c77d2c834f624
[Reverse-engineering] [th02/th04/th05] Player option sprite number b7d204aeecca64259fe3d0254dd31bdb4b77329b
[Decompilation] [th04/th05] Remove the Subpixel constructors 0b542125a52f7b0beedb911cdc2a34bf9b643101
[Reverse-engineering] [th04/th05] Input → player movement 6cdd2296bb1913e3e41e62b48f66d7a195847f7e
[Research] Find out why we can't decompile TH05's hud_bar_put() 7f971a0d1cd1dd19a34c2a955cd21607f99e0101
[Reverse-engineering] [th04/th05] HUD bar display f8213c5a32c3418bd8f5bcfb9bb6eec578f6c417
[Reverse-engineering] [th02/th04/th05] Score update and display e6294c2c1a91deb75fcd65a908e262751d1d01c3
[Maintenance] Move a few more ASM definitions to their own .inc files 88c05e48e5faf927c41524e5bfd751b9b482db82
[Maintenance] Mirror the TH04/TH05 C header sharing on the ASM side d19f91914ed6bf0588e88425a700fe9c2bd44d02
[Maintenance] Rename the extension of game-specific ASM includes to .inc f07089017fd8a2d18d849f4fd1029cc6df24061d
[Maintenance] Remove merge=union from .gitattributes b2184e99fd98994d2c4d2512b49ec70577496d88
[Maintenance] [th04] Split code segment #1 into two 9f764fa6fb046f4525602fd62d3485a6e8a24694
[Decompilation] [th05] Resetting boss-related variables 3383a4558b3b2f50cdc1d94d655932c7834db5e1
[Decompilation] [th05] Stage-related .BB file loading boilerplate b0c2122eec2814bb40647c1b6634664e2adbac29
[Maintenance] [th04/th05] Move boss slices into the boss directory e33ccd7ea6574673f9df67c8b6578b51d8776e5e
[Decompilation] [th05] Stage setup dea40ad770ec1a609509cba470c2a3534f6715ca
[Decompilation] [th04/th05] Handle subpixels at the C++ type level 9d121c7ccef61ba1cb6e3b0712c2f0327dda103e
[Maintenance] Add a few missing exports 0abf84f45054fdc0bbb9a8a78541decede843491
[Maintenance] Export all pascal functions with their proper uppercase names 3b7561a7113a737b944faa1a7504d4d63804d011
[Maintenance] Fix the function name format of CDG/CD2 functions e10502bfe69c21e6011d5ccce95d1b07fef515c4
[Decompilation] Define generic function pointer types ac2117040c34437a2c4ca6484dbb8ecc96ebcbcc
[Decompilation] [th05] Committing the score delta c7fc4ca41d7a7c9da36e4cc1de4123ac6fedf20b
[Maintenance] Rename the score update/render function 2fb2a65ea817311fe5e662cfbd1cf8a7a3d4139e
[Reverse-engineering] [th02/th04/th05] (Mid-)Boss update/render function names 4d7261c5d316ff16fc45354b44bd8dba784f099f
[Reverse-engineering] [th04/th05] Playfield fill-around function names 789c910c88c7b73a2a35164717fa00c4b64db839
[Reverse-engineering] [th04/th05] Remaining generic boss variables 6ff427aa0a16831294901571a48f68603aac0449
[Reverse-engineering] [th04/th05] Remaining generic midboss variables 260edd8683f10829ce81a8165a0917f40e22ebf7
[Maintenance] Move the midboss function pointer slice into its own directory e1714da563670a0c6b1f3a102d3bb0a681b8d53c
[Maintenance] Fix the case of `nearheap[data].asm`'s path 6023f5c937c3453a974eb8c471dc88310b80ce75
[Reverse-engineering] [th04/th05] Text popups 3ba536a2d894dc3836b8e510d678aac7325e960d
[Reverse-engineering] [th05] Number display using the bold gaiji font fac879f8e6a3b128b5d29ed023d453a8a724bcde
[Reverse-engineering] [th05] Shared HUD gaiji row ba3a6f7158630cbdeefa5624f1c684f5acf3b746
[Reverse-engineering] [th04/th05] Score variables 058595b1d927beac13fbf2d1b80c700fbc5af27e
[Reverse-engineering] [th04/th05] Boss explosions 308d1bc7857af93284e885e67726792793a45e66
[Reverse-engineering] [th03/th04/th05] Palette change flag 1cb2c0acbc532b959feba63de540c474f9840e19
[Reverse-engineering] [th04/th05] Boss phase timeout flag 6ed8e60334935d40214eb60c32a72095edc844c5
[Reverse-engineering] [th05] Yumeko's Phase 4/7 knife/laser intervals b02147b5c0ab1127d3b816c129a528370ec247f3
[Reverse-engineering] [th04/th05] Difficulty/character-based value selection ae9651c693f7d11af9ffea840c4a21782dd6e991
[Reverse-engineering] Current difficulty c241af414f957b3ab8279d07f989931ad3f744ef
[Reverse-engineering] [th05] Secondary boss position and sprite ID 17a05b1b7159316cb567adf3c7b010de19c3c1d9
[Reverse-engineering] [th04/th05] Boss hitboxes 08ffcb0737dd2d5027f087061fcd787adf3932d3
[Reverse-engineering] [th04/th05] .BB file loading boilerplate 062e775f41bfff3a006f1ee7909d8120395f1493
[Reverse-engineering] [th04/th05] Stage-specific invalidate/render functions 893bd46969bf15c3dc5ae2aded888c0eb8a4d8d4
[Reverse-engineering] [th05] Shot decay animation after a target is hit 5e9aaafb8bb7f065690dd1e14de4cce626313c4c
[Reverse-engineering] [th04/th05] Spark animation d9e9b3873614a32eb4594ebde836b41a0f60a627
[Reverse-engineering] [th02/th04/th05] Hardcoded spark sprites da284cacaf8b3afcbd4a1bbfb23d6cb5775192d0
[Reverse-engineering] [th05] Player shot animation types 2ea2e0ddf91b05306472f690456c62a536b7973b
[Reverse-engineering] [th04/th05] Adding new player shots b9f3d86e444486af478693d7bc4823ab40695609
[Reverse-engineering] [th04/th05] Second, unused field of the .map header 9a2c6f72ba23f4ae933b74396e620ccb5eb995aa
[Reverse-engineering] [th04/th05] Player shot structure deb45ea14e0189768c22639418d6df07cdd76186
[Reduction] [th04/th05] Micro-optimized version of super_roll_put_tiny() 35f9bd71e829864657c5cc13bd6fa69f707cea6c
[Reverse-engineering] [th04/th05] Shot X/Y velocity lookup table e7265ac656047fd4c86316d2f9743944a311eec9
[Reverse-engineering] [th04/th05] Target position for homing shots 4770d145d6662cecdf5442c695247de7a9c14a1b
[Maintenance] Clean up the confusion between "tiles" and .STD tile sections 612beb815b9ae07e963b537f2d8acc098fb471c1
[Reverse-engineering] [th04/th05] Invalidating background tiles around a point 75763ccd32e82bc195d4c0f2c224a61e66bcf7da
[Reverse-engineering] [th02/th03/th04/th05] Back/front page pairs c2ef9d51b679e8c07c2ac0feb7c60f38ef8f63e5
[Reduction] Page flipping 35ef90f4d16f37927aa39bfffe9a49db5580e52a
[Reverse-engineering] [th04/th05] Redrawing dirty stage background tiles c00b87ed4f6aea7b693f160565ee7860edb8e085
[Reverse-engineering] [th04/th05] Applying VRAM scrolling to Y coordinates bcc1b7518f7720f7e3ef6e1d5f33132c5435adce
[Reverse-engineering] [th02] Current scrolling line dbf1e93a79b2c0a0ae33d174ac2365fb8935aeb8
[Reverse-engineering] [th04/th05] Scrolling-related variables 4fe4c8eed11cf8e106d901687c76ae7955930ca9
[Reverse-engineering] [th04/th05] Rendering all stage background tiles at once 20d05c1653aa0ff8c0287e5bedb55b0c4cecc9d8
[Reduction] EGC-powered VRAM region copies 6a6ce47c56bef371f08af7e2a076edf2519102cc
[Reverse-engineering] [th02/th04/th05] Stage background tile ring buffer e1e4f819edf0d356262bd5c3050fcf8dc2fe317c
[Reverse-engineering] [th02/th05] Player movement speed 8ee87233b8b8686c80d1df8e2e40d4d886ef564f
[Reverse-engineering] [th04/th05] .STD file loading 261d5037ed39868f5008a898400c864a725293b7
[Reverse-engineering] [th03/th04/th05] Pointers to the resident structure 3f06c63206e3c1c59e01938c1a51d993c239f892
[Readme] Mention that stage portions in TH04/TH05 *are* handled by bytecode 6c555aad6122fd40b5261b3b6804e9f187f5b1b3
[Reverse-engineering] [th04/th05] Midboss-related function pointers 4a0b973c761a3e7eeda0df1792ac68dcd2e6b0f7
[Reverse-engineering] [th04/th05] Boss battle backdrop rendering 25ee5990aa1514abbb4baf8330dc8744d40d7d9e
[Reverse-engineering] [th04/th05] GRCG-powered playfield row filling d211a22c9f155498b8ad2c79956f143035cc363b
[Reverse-engineering] [th04/th05] GRCG/EGC-powered VRAM writes bc3c85f09adb19d035d5cd7f2c409c0ae77e2404
[Reverse-engineering] EGC register writes 41622254a843d4e435f32d331c384308684aff61
[Reverse-engineering] [th02/th04/th05] Boss-related function pointers b62a8b29a661798327ef82261ad02c8865aa1e13
[Reverse-engineering] [th05] Laser update and render functions 0cde4b7cd370c092b8567a21c3e2b8310c1739fe
[Reverse-engineering] [th04/th05] Bullet clear trigger and time 8634e10b6db4543e599322c1733233f01ef9ed64
[Reverse-engineering] [th04/th05] A random shared draw coordinate 4aeb035121c52f39296f0cf388699933fd3bc0fb
[Reverse-engineering] [th05] Rendering and hit testing for a single laser b3c5e4dcfede0132150fc46f93018943919d79a8
[Reverse-engineering] [th05] Laser coordinate sub-structure 9d79c1413cf92596e19021ad294e8402c8c1c9d9
[Reverse-engineering] [th01/th02/th04/th05] Player hit flag 07e466cf3b5cb837ab2908d0bd9543a721d154f1
[Reverse-engineering] [th05] Laser control functions e73d7409262796527bbc70826e8f77cf08003b14
[Reverse-engineering] [th05] Rank-based speed adjustment ac7e6bc176b6d25d232c4da9cbaa41feb9c3daea
[Reverse-engineering] [th05] Laser structure 807df3d5a7498f1c1a84cc931835f3e7fd489b85
[Reverse-engineering] [th04/th05] Player performance ("rank") management 0e8bbe8130255fe201d6cb1b99d63ead11a4e515
[Reverse-engineering] [th04/th05] Midboss HP f3b6137fe24da594b02da22797f34340f245ac93
[Reverse-engineering] [th04/th05] Boss position 9fd3f6dbf694aca2bafa4f580cbc333c118c0ae0
[Reverse-engineering] [th04/th05] Midboss position 59e692a82a496eaf6325ee2f8072edb419c69b9c
[Reverse-engineering] [th04/th05] Boss animation sprite IDs 352240e6c5eff0981b371ff09db7cb45d895e9be
[Reverse-engineering] [th05] Yuki's HP 36b1a02773a6a22aba0979a25484c5bacf8a5a23
[Reverse-engineering] [th04/th05] Boss phase end HP e855e1a90840bb8dee4326fd77e35adab646ea40
[Reverse-engineering] [th04/th05] Boss HP 49a67a1a8bd6ac49673e5153a8fec0baccfcdc98
[Reverse-engineering] [th04/th05] Growing and shrinking circles b03bc9135749d3818c3a3dfa4caac4d8f4ea5d25
[Reduction] [th04/th05] Redefined GRCG mode/color setting functions d08a7f49b6b3169f75a1b0f6e044c4f31cac2d9d
[Reverse-engineering] [th04/th05] Inlined GRCG color setting calls 70d1e1c230cc484e7292891ed05b9780b553f10b
[Reverse-engineering] Inlined GRCG mode setting calls 83e089cba9d77311a8da8a9d3d5eac3aa17ac7f6
[Maintenance] Fix the TASM32 crash when assembling th03_mainl.asm d7483c09cce1a27da8b02644df538865bc3033e4
[Reverse-engineering] [th05/maine] Remaining references to CDG slot data 141baa4ca92b4cf2f963168a96669b806b9e8faa
[Reverse-engineering] [th03/mainl] CDG line removal for upwards motion 01a430d0279ca63ee27f08068a9e1b1096fab89d
[Reverse-engineering] [th04/maine] Single-plane CDG display 766a34d044853abff98a9d4e88507e12d05ed064
[Reverse-engineering] [th03/mainl] Dissolved CDG display 4bc6da4858f999188173db984df2397181672c02
[Reverse-engineering] [th03/mainl] CDG freeing 850b8d783ce58a3b25528eafc219fdbbdf56e4a3
[Reverse-engineering] [th04/th05] Non-color CDG display fc8d51c7d7c53d7d08a1debca6cb0d15c0a77db7
[Reverse-engineering] [th04/th05] Non-alpha CDG display aa47bb33d938d5577e37d0c4982e72a38a5d3350
[Reverse-engineering] [th04/th05] Normal CDG display bfef7938055512f3cbd664a9a4ce0627cd486c74
[Reverse-engineering] [th04/th05] CDG loading 286c6431d8ee86e69ee2023479927a791b51eae6
[Reverse-engineering] [th03] Horizontally flipped CDG display 18ae3e5ccad2e6af8754df44dfac21fa490ce728
[Reverse-engineering] [th03] Non-alpha CDG display 4b8d0931b950845971220b2fa89f62b1d29def12
[Reverse-engineering] [th03] Normal CDG display df768ebea6f8e0b448ab3ff9955b54d1f8ea9efe
[Reverse-engineering] [th03] CDG loading fa39c23fad07747cfbc753c06de8072d0e3f6584
[Reverse-engineering] [th03/th04/th05] Input change delay function 79cc3ed71ccff0d8e3746ba0d0964f66923a9d20
[Research] Find out why ≥TH03 checks input twice per frame, with a 0.6ms delay 8dfc2cd535d02d3da14153e77f26d01590ecc05a
[Reverse-engineering] [th03] Single-/multi-player/CPU input modes cbe8a37c53751387f36916fee67a0d7f233ae8dd
[Reverse-engineering] [th03/th04/th05] Basic keyboard input functions c592464121e51b631c9b173e41221920ecde1514
[Reverse-engineering] [th04/th05] Player position 178d58940853e427dd678c10f399485a43f356f0
[Reverse-engineering] [th04/th05] Generic motion structure and its step method 5a5c347e8254878711363e9011f467d757fd27f1
[Reverse-engineering] [th05] Dream value b29894b4e5e2794b823e4e1c6f92f7cd37f58cd0
[Reverse-engineering] [th04] Dream item number and score 0052606563e6ae7287fc7f944454cde80f995ddb
[Reverse-engineering] [th02/th04/th05] Power overflow bonus b487d6fc2063009df31e80474d2847a7399108e8
[Reverse-engineering] [th04/th05] Enemy drop table 746681db22346b643ae568c2ebbae1d3412e9667
[Reverse-engineering] [th05] Rename some labels 2f00af8756ce74c899093df0a7908cffd3b6f0fa
[Readme] Rewrite a bunch of sentences 2881d8736c400263db583f35ce90974a68ddc698
[Reverse-engineering] [th02/th04/th05] Shot type control functions d62dd06ddffb9cb912061c789d67031e9c99ddf0
[Reverse-engineering] [th04/th05] Current player character ID 82bacbf01d83164f095f540bf2df509e36429e97
[Reverse-engineering] [th02/th04/th05] Shot power levels 755a0564aea222cbaa48e5cef7b32c7ad9a8ad1a
[Reverse-engineering] [th02/th04/th05] Current shot power a67a55dc20bb813d1f8164c2e4a8fa2ff016d404
[Reverse-engineering] [th02/th05] Current live and bomb counts 26d5747d71b617a0e3eba7a6c194d98b65561092
[Reverse-engineering] [th03/th04/th05] Frame-count-mod-2/4/8/16 globals 47e5601613ff28aca4823192c0bea049021bdc39
[Reduction] #712: js_sense a4308d6c094ab0d8dc89d56ade5a31b172670d99
[Reduction] #711: master.lib joystick globals 6c35094bea03b591baebd561dba922e2dfb11dbc
[Reduction] #710: js_start 371fa216105c17853ed49828f51c62154cea4d36
[zuncom] Get rid of moveup.asm 8ec888f30a3b482b5f862a59c0ed4e5e726a4cb8
[zuncom] Simplified build of zun.com 16766e28ac2600208d20950090c3f1c3a8a8d519
[th04/th05] Rebuild ZUN.COM 3eaa16a0fdbc1fc634021812f8fe4c2160753f31
[th02/th03] Rebuild ZUN.COM a1effa1c42450312879db9f0fa6e34d52c9235be
[Readme] Recommend dynamic core and max cycles for faster compilation in DOSBox 88fdde46b102b6bda736408e7045905a9169c895
[Reverse-engineering] [th04/th05] ZUN Soft logo explosions 843905eceaa7f47786c2fd2aa7c866bb334069c2
[Maintenance] Rename master.lib's speed parameter to avoid an upcoming conflict 6b0d0c6940201217b3481474b89c1f6e6b17e703
[Build] Use Borland's real-mode MAKER.EXE dca8770533303cd1bb060bb93fa28e59e386af7b
[Reverse-engineering] [th04/th05] Midboss timer 0fe6416a77b42e67f7229c2afc32be77d3245f1e
[Readme] Add 16-bit TASM to the list of build requirements 134804d0e52e1b2184d6adb43327c144b85063e4
[Reverse-engineering] [th02/th03/th04/th05] Random number ring buffer 4b8baf14135db64a1ba402a8df7408580798e118
[Reverse-engineering] [th02/th04/th05] .map file loading f98fba3c9d3ad4943b193844722248391601860d
[Reverse-engineering] [th04/th05] Stage number globals 13a6a1d64cf0e11ac9bca58356d58fbaa5985508
[Build] Keep TLINK from accidentally creating 1.MAP on every build 1f752d739d82ca3c119847a08edd92b480a7e25a
[Maintenance] readme.md → README.md 4ddd9e1377ef177759778cdb377d97e2482342ff
.gitignore target binaries 7b0ebbbb8601f24a462c5a3ef89ce0438c8cc5bf
[Arrays] Remaining references to the sine and cosine tables cae1be46a49285868d4fe8715fef1fad09fc1ec8
[Reduction] Bouncing Music Room polygons f8d8d56cd1b0cbf3c84979e07a532b1b085d920c
[Reduction] Separate functions for 1D and 2D vector construction 39c169c30daa0971dc01666e8eeb94d05c1b8669
[Reduction] Lookup table for horizontally flipping planar pixels 6759d346d53014855956e65e4e8287b133c16dd8
[Reverse-engineering] [th02/maine] *Actually* identify all array references -.- 7a309919aaf5f73da764260671b1da09416fe366
[Reverse-engineering] [th02/maine] Identify all remaining global arrays 915f780e73867192edb69ecca73a7bd2af9dc01a
[Maintenance] clip[bss].asm actually covers 16 bytes, not 8 -.- 58e1e142a5edcb3d83d956600547e048d7043b3b
[Maintenance] Mark all batch and binary files as executable bfa2fb23bbb95e9dadb974d039b46918d34c3bdd
[C decompilation] [th02] ZUN_RES.COM aa56a7cb18881fbc602c0324b727c1578cac825e
[Maintenance] [th02] Split off HUUHI.DAT pre-save encoding into a separate file 697407d6586d882f0939322e8dfcb30de0793f53
[Maintenance] [th02] Move the menu options in huuma_cfg_t to their own structure 547dafe07160280df5b6d7f73688a7306c8c6764
[Maintenance] Fix any whitespace issues in our own code 43001161e3ef70c70755824c07df84f9d4da25e1
[C decompilation] [th01] VSync interrupt handler 14e69ceb6d0e1f525066bb56af62a8e8d2d8863e
[C decompilation] Finish TH02's OP.EXE 75b8765e44fa54c1816d618692f4c66efc20d45f
[Maintenance] Rename snd_kaja_func() to snd_kaja_interrupt() c5f53d9cf1e763cbf8f2033a89afba4a63fbe601
[Maintenance] Move the sound driver function slices from hardware/ to snd/ de491f225d734f5cfb872fc5cc59fb209eb545cd
[C decompilation] [th02] Code segment #2 of all three executables 92979e8f31d944d0359f43e6cd981f9aa87f204a
[C decompilation] [th01/reiiden] 2D vector construction 44327e9305f667247283c52a5e9ebd9ca27c2b08
[C decompilation] [th02/op] Second set of sound driver calls f3b8ae2851ca0f1838e6b61410a0fd5fc5c21d1d
[C decompilation] [th01] Text mode functions e0d90dbdc39941d775d5b38cbef33fd56522d846
[C decompilation] [th01/reiiden] Randomly shaped VRAM copy functions, #1 6d2fa9f07790a230a7d70e31994129ed1c6572ff
Rename the *_copy_region_* functions to *_copy_rect_* 519e24c459aa9af00b183c579a5f324b93682d40
[C decompilation] [th01/fuuin] Slow 2x VRAM region scaling 44ad3eb4bc6f379bdf193d6dc7efbd00d3f9fa6b
[C decompilation] [th01/op] [th01/reiiden] Random resident structure stuff 160d4eb69f5251c2a8653e62d4c4799329712664
[Reverse-engineering] [th01] ReiidenConfig structure 3b175c898048e5712aee90a1b1a17f0fe030fe9c
[C decompilation] [th01/op] Archive functions 0fd7f14784b1aaae61abc9eeb50505c8802cf536
[C decompilation] [th02] PI display a3ae0095f0e471ae7f36548179017bc645a99504
[C decompilation] [th02] First set of sound driver calls ed0437f80e0d007d9e13dfe948f566297b45e797
[C decompilation] [th02/op] [th03/op] [th04/op] Frame delay #1 404044f32bbc8615c84ae913b3a954e5dc52d8b5
[C decompilation] [th02/maine] HUUMA.CFG loading a8384c925fc2d326de414e333f5a1706e01271ea
Centrally include master.h in ReC98.h 2ccad4f5a454da0dacb4ce787f94646e5afeeb18
[C decompilation] [th02/op] High score screen 63299cdf4233c6ea3f138f9b2bdb1cfcad0daf37
[C decompilation] [th02/maine] High score screen 87b1fb9e142511d3d9220e5ae0d78b44719699b2
Add some useful increment and decrement macros 37fc899c4264c14c31762fa838e0c3c3ba3480cd
[C decompilation] [th02/maine] Rotating rectangle animation d058666929a2c2e41f42ebb41b1bca083894c4c4
[C decompilation] [th01] VRAM region copy via EGC 2f1b287f3d6789e8e4c273e41d7dd1334c08f91a
[C decompilation] [th02/op] Shot type selection 1f514b5a6c09aac47d59989d7e9bf9b04a8cfd96
[C decompilation] [th02/op] Music Room cd33367b51dd3a8bc2c42f98bbc235829892be8c
Make the VRAM plane constants available to C a7235304ed37d00e8ae3211f548fc11f572fddd9
[Reverse-engineering] [th02] MIKOConfig structure ad9d6f97eb574989e9d5287240320b8dc024169d
Make all sound functions and variables available to C 22332a71fa922733c71d8d91f2973ff7c0422b21
Move frame_delay into the hardware/ subdirectory 46eb3792cf4ee59fa33c02572aae99bfe17cbeec
[Reverse-engineering] [th02] Keyboard input f0be7dadf4b950558142fb2aa1e19e398ae9240d
[C decompilation] [th01] MDRV2 calls 436f1c57222ecacdcc142a376c64a1df63fd27ac
[C decompilation] [th02/op] Title screen flashing animation ed8d0e28f5ab27c157a19b5ebcc45fc6fc4f8fd4
Make previously reduced ZUN functions available to C 6d8ff6b72eb6fb680c478e632119eff20641a9c9
Rename all code segments to names that Turbo C++ would generate 145ecaaa54d4faaf10cbb9d043f7a73a1986fb76
Use a Makefile for the 16-bit part of the build process 7836363019bc0f17253be0f794c40ec21965ad68
Clean up the last remaining misanalyzed procedure boundaries ffd8bb9013b277725ebde42eb1bfd88ef7f4529a
Let Turbo C++ link in the Borland C/C++ runtime for the main EXE files c2a8c221f20a0d60b4f7b4ce779935d7ddd170cc
Finally use standard segment names everywhere 2d5d38426fa57d7ea8cf41b2b275843b8a108a08
[C decompilation] ZUNSOFT.COM, all of it f861b0a5c37ef645cd88949c4f41d7e81a65f80b
Add MASTERS.LIB and MASTER.H from the original distribution cc219ff2b498979db368cfb0ce20adf36a8c8147
Add build batch files and some documentation about the build process ff94dce594cdd66931fde2221a367785ac4a5e22
Merge the second halves of TH04's and TH05's MAIN.EXE back into the main files 5268241a0651dcb801f56728f17ef6c262b44aa4
[Reverse-engineering] Sound effect playback 2cac43445594b3c4d039b99dab596453c50c73fd
Forgot the TH05 VRAM planes data file -.- cc1a2987c48f13c2c6e76e1ce3d649b4ea457e24
[Reverse-engineering] 32-bit VRAM plane pointers 07519a72387473c779c69ddfe05ff02325d6a794
[Reverse-engineering] [th01/zunsoft] Identify all global variables 60f6ecec84389403269e0c6118a8ff97ec70b4d5
[Reduction] GRCG modes 44146c4749c687edc859c15c7e82e3851a9d5e10
[Reverse-engineering] Music Room comment loading 0b89233e48c19998097f863789a07f6f3c87f90f
[Reduction] Hardware text colors and effects f0ab47fd18a16507708ae41bd727f17d60ba1eb1
[th01] Undo the floating-point hacks 04ab24d6694ea4b433a9394ab45a3a563f223a49
[Reverse-engineering] Slot-based PI display a07e5fad42a60a045919e24a8afe14f3dda1f872
[Reduction] #709: graph_pack_put_8_noclip 721aa18de8c19042e3e4b5dc7abfd259cc6245b4
Use TASM calling convention syntax for previously identified ZUN functions bead27b78179e27f760b4a7577f58e357c85d8dd
[th03/zunsp] Initial state 3b497286a5d23b74eab97c09e194b7b2ba6c5da9
[th02/zuninit] Initial state fe90349a53ac82154e24350327b430122395c650
Update the Readme file to match the recent ZUN.COM developments 1be1cebc2112a73945f51a288fa8ca44876cfb9b
Add the FM hardware checker tool (ONGCHK.COM) from the PMD driver 2851587997c2832e7c6a8e2edf336db692dec4f6
[th05/res_kso] Reduce all known library functions f541d98be8e258cef501f2db26e6e16d8b364d21
[th05/res_kso] Initial state 1e554af1b522dc379939837f7e43e44dbfbc0657
[th04/res_huma] Reduce all known library functions df4c07b728475119275732e7329b9f63fb0505f1
[th04/res_huma] Initial state e7947192b59ac6129a45b587ca22f07626df3bfa
[th03/res_yume] Reduce all known library functions 5ecc65f43f10384ddc02b5e56e3cece853b0938c
[th03/res_yume] Initial state 511739861a939e0af9c3fa15506226dd3b4c4be0
[Reduction] #705-708: Remaining third-party functions in TH02's ZUN_RES.COM bfa382900382cdb3ca6be2079f05d9602024615c
[th02/zun_res] Reduce all known library functions 3f1c1eba6dac9da275b50fa6cbe9d16985bfbe2f
[th02/zun_res] Initial state 7d81d76f6a38954af671824bb1372fa62a5df3c0
[Reverse-engineering] Music and sound effect loader 46b2d671432cf21dbfa86bf0dd6dc8c9f06445a7
[Reverse-engineering] Sound mode determination 08db7d6392e3dbed0f380412b70ab5252c041974
[Reverse-engineering] Symbols for PMD and MMD API calls 181d2920afd631b4914da0c1694a8b13a24f3367
[Reverse-engineering] PMD and MMD function call wrapper de25d6de3e376b47c6d01ae3148b1d8cb15ba4ca
[Reverse-engineering] snd_delay_until_volume 2da9a458ab5caa21c35fb27dd739dc5ad80f3277
[Reverse-engineering] Sound driver and hardware checks 98de0abfabc59747dd0ba30063eb0b85e3302f6f
[Reverse-engineering] frame_delay f40819b0e540023c66e5564e6ad8099266c37751
[Reverse-engineering] pi_slot_palette_apply 510a3a507079409973e0dc4493a63129501b869a
[JWasm move] Fix the remaining small issues to get through the first pass 5ad97a08ea10eaec9ab46e673d879443e2ac0712
[JWasm move] Use unique global names for local labels where it matters 2279e82167a0e758058be4d0a3e01fef160238ec
[JWasm move] Fix improper structure declarations 5e35cfb1af24430ecfb9727cb34877b822b3b75b
[JWasm move] Avoid "push large" b532a96c7ee715184260ef37432eb541140a9d53
[JWasm move] Prefixes must be on the same line as the modified instruction 877804c7393849b8aac603ffa24f711aa2e2d5e8
[JWasm move] Fix the interrupt vector declarations in c0[data].asm e551d590bd31387b96166632f7edf24c56d5bda5
[JWasm move] Specify struct names where necessary af1ce6cad890ff59eafc16423928f3ec4fc04573
[Reverse-engineering] Slot-based PI file loading and freeing f54b85577d69585ae85893c7811f0b7e0f011728
[Reduction] #700-704: pfopen b4361e8487bdf6ae89b9a76f5474cef55f5e27c7
[Reduction] #697-699: Packfile interrupt hooking 62d4593842f21b45d26ee7ff8290f03aa8fb624f
Replace MASTERMOD with a per-game constant f303222ffc81c8464055f7c997354eb43dc66230
Identify all function pointers referenced from code 225d8f2a28678393808ca2ddc98b47b3f0454288
Analyze any remaining byte blobs in code segments 8cecebff8166bea5d4d4f7ec467bb50eb5fe288a
Fix the directory of the fperror() slices af5419e35083cac45175df8b74e4b32b9ae3b136
[Reduction] #695-696: User entry points for read() and write() 87a682dd4fcfb0ea41576fa24d56dacccff1d2cc
[Reduction] #694: scanf 7705bea1f902883c9146b122614de59d6805677d
[Reduction] #693: scanner 4c30e5e974756aaac390fb3860585c377a02f00b
[Reduction] #692: coreleft 8386db1cb97c048961af79c7a70c101a0b1fe250
[Reduction] #691: farcoreleft 6ab63bc2aba168dc03aca59b1eca042567129615
[Reduction] #690: farcalloc dfc9361b33730dbd0c89e0151b80a6018afe59ed
[Reduction] #689: Long pointer+scalar addition 1681595338fd737075de5215735f6573a8dc6f0e
[Reduction] #686-688: scantod f7cb71193bffe8862e352b9c227d80c24092dad2
[Reduction] #685: ldtrunc 84180b9cd9e73a507d5bb2088fa8589d67766abb
[Reduction] #684: control87 03139534f7eeac7be37757d5d9c8f232cb00d98f
[Reduction] #683: access (the one that *actually* has no underscore) 13b10ef589782ba4cceb6a2841edc1aff700aeab
[Reduction] #682: ftol 986590f321a43a920a72487f5d9bd4ede8031005
Forgot text_fillca() in TH01's REIIDEN.EXE 97221c8bb54fb5f442cb385acd053e0e9be96ac7
[Reduction] #681: ungetc 408fe19952b7ee9bd7ef6c0367ce7e2d5d0c4373
[JWasm move] "addr" is a reserved word cab8db3ce281e4bd9ff890d4d4b292915d087bdb
[JWasm move] Add symbol names to the ENDP and ENDS directives where necessary 52209cbcdf84865b967b31ff6e09dc8a131eb9c7
[JWasm move] Don't use the DIST/CALLMODEL constants for procedures and labels 4dc9b9ab4a7da752d132b4389d8e6d03d579e79f
[Reduction] #673-680: BERO's Pi loader library 00bacc7af3fbee9387be0a3af6e952f07cd56320
Forgot puts() in TH01's FUUIN.EXE 66e293fe4d97d2c57d31036d32ce327ab5ad4bfc
[Reduction] #670-672: e087_Trap 0b34460155c7e67afcafab8615621e4e6c481432
Move the stack segment into its own slice 3a1c2fd679e4d4a293a5180b90c0873aeb8563dc
[Reduction] #668-669: pow10 a777ad2ad1cb445dc6e6ff9d79c89f4e719c8807
[Reduction] #576-667: emu086.asm 0856fab8275c555b657b42e95e932db8b900100a
[Reduction] #574-575: vprinter 7790ecdb7c89e03389e86bd4f49731d5f6f20f5f
[Reduction] #570-573: realcvt 6d422052cabfc07076f023cdd378884a6c87bad5
[Reduction] #569: xcvt 015ceec3e17fabd0be8d71eae91dafbf45d425f0
[Reduction] #563-568: Floating-point emulator initialization bbd8ff96ab4e2b32aedd15afbf222246035457e9
Ensure the correct amount of padding between the TEXTC and DSEG segments ae6c844b2585d1609849c3a6c81b924019b510ac
Trick TASM into not creating 32-bit default segments 4ac17ac2a5b90c6ae124ae5c9abe56e633b357af
[Reduction] #561-562: scantol 48088875ca6f15a05dbe3cdfd4cb4bdc31a7fc37
Identify the missing BSS slice of xxv.cpp 696d7f94762b1008b3f39707768d036a9ff49d9c
[Reduction] #560: puts 935e68f35e8adb004998092d56af9ba8e971dba2
[Reduction] #559: printf 2d62776e027fa638b0fb3d87e43f0dd9cdaf63c3
[Reduction] #556-558: open c4aee8a2360fdcbbdcf30f491e5cdaa903df59bc
[Reduction] #554-555: __rtl_open/__open ebd20ebc882b523f7d1baf0d4acf4587d53c5d49
[Reduction] #553: C++ vector_new d7d9758face4f3f06ee72a2f63a4293754ba0387
[Reduction] #552: Far new[] operator 2c2977aa698e08f813504f68646ff8842209c7ba
[Reduction] #551: Far new operator 0b6a8242960dfe1cd2100945f95b891ea40488d9
[Reduction] #550: lrotr 4c12d226a41e758f2c029b8c29e39f4c40cb9f8d
[Reduction] #549: lrotl c9ee6b0aef45a36ed486f13431ad8e4f11ce465e
General cleanup 340c8a792ab7b5266f96835457e3e580a874a0c8
[Reduction] #548: Floating-point emulation data 1c72d7e242a7815d0c00143799c46f43abdb4e17
[Reduction] #543-547: fgetc and friends 191fd5b76b241ff619ace1b0672ce045f22dfb64
[Reduction] #542: fprintf 489ecc8a9680f45ba2ecc6aca2631625e2802435
[Reduction] #541: Fake floating point conversion 54968ed7a3d09fcdceb004a4fb1a0e208e4ccc64
[Reduction] #540: close 16b4e1d240ca9069d8e64963c6ab29b446f9bd1a
[Reduction] #537-539: sprintf d6449b27cf359fd9a739798599fef9a59f00e494
[Reduction] #533-536: fopen 345781839977db7ffbf21829bbef3bc9e8842a85
Move "Abnormal program termination" to its own slice 658ed9e72b7138e128a8d9e9b5145ea19f94f738
[Reduction] #532: fmode afdd1c06e0bfbbed673072398d11346c3d4181b4
[Reduction] #531: conio_type_init 365763c4592481fec879fe67a11dfb4f18a2d8ca
[Reduction] #530: delay 47a6be4db25636b4ae4efb11545136f07df4fc31
[Reduction] #527-529: nec_delay 9003aea36b7d9d2ae638c42524ceacc25d8d7bfe
Identify all remaining nopcalls 4625339af111afbb2fb17ec73ef238362f91240e
[Reduction] #526: ibm_delay 26e795f0bc9823b03b14c4bea1ba8f7ede1bef74
[Reduction] #525: conio_type 6fb80fba79e03589fd25b63886a138dc2e9a660a
[Reduction] #523-524: __rtl_close/__close 8b4a46128341e71c40c1171da1b033d49148d6ed
[Reduction] #521-522: setargv 05702534bc88be245cc87e3455c5b9300eab8893
[Reduction] #519-520: intdos ef57ff6ae835e18d376157fd0fa5aff56867ceaf
[Reduction] #517-518: int86 399e6e3098247ef0498e86f4c40ab53d7950e037
[Reduction] #516: xclose 96c4a77d666d0b3309b2dbeee815749196b38cb7
[Reduction] #515: eof bf364ebfae4f6d977423d2090e36ee2a7a9ae3c7
[Reduction] #513-514: atol and atoi 8a2061bcabf90635f00e41d509bb4d3394d1be6e
[Reduction] #512: xfclose 8cc3df1eb13df4a810322f10530795f952ba8bfe
[Reduction] #511: segread 86b99b9265d974fa26c991078a5d3c372fcdc7dd
[Reduction] #509-510: mkname and tmpnam bbf47ec102f6ff0c4e757421e15ab0d4148c293e
Wrap all code segments into their own group eace57b1a266c7eb5cd496be16af87172832caa9
[Reduction] #508: fclose 5aad47cb087366f28268b1566208aad01f0f592a
[Reduction] #507: filelength 8ae2349005944a5a9fca57e2ba34ff83006d6fe8
[Reduction] #505-506: LONGTOA and UTOA 624119866b0e3441d047fc5d816d4abbc702b8e3
Remove comments containing garbage characters 00e2dcb519ef89b172b8a030c06ea2d6a26584fa
Remove automatically generated line breaks in string constants 1e991fbec02bc89366826d75d916c17a58bce041
[Reduction] #504: master.lib version string 274b37eed79a83d277529cb915281c2079e24bcc
[Reduction] #503: graph_gaiji_puts 86b86a96b8aaeaac85001d7ec554522b57f30488
[Reduction] #502: graph_gaiji_putc a4a5bc9df9f17e5d2786d787574aec34d35c464c
Identify and reduce gaiji strings across all executables 69f85fa2dee6f053867c5e15c63fcfc6f0005a32
[Reduction] #501: mbctype cd7b956be60056536191dd75b8f46cbca077bdde
[th03/main] Identify character-specific control functions 34812d23d514ae080fc58b73c9c3c798f6939733
[Reduction] #500: over_put_8 3e7fa3a3d1cf7576a5f0d6c54d7e5045ad5456ac
[Reduction] #499: super_roll_put_tiny 2ba86d688720e6bf4c1778d38414ff19dfd47001
[Reduction] #497-498: getdate and gettime 9c94cb9e6e7f4da696864fed0163d1e17d1c51b0
[Reduction] #496: mem_unassign 80fc5c6d82d2e216ebad9457d51b522fadcf77ce
[Reduction] #495: localeconv 9ff29d315998651fe2d2a48f03c307dbb9ff1556
[Reduction] #493-494: DOS file attribute functions 08092bef2b75a9ef7f230ef95b2fc66e23a4c7be
[Reduction] #492: unlink 45f1b0d4473a10fc51c330c70c49772839c42bd4
[Reduction] #488-491: General key input support 9ed6e1e93fb086980a33a769ca6ef2b1f4979de7
[Reduction] #486-487: key_wait_bios and key_sense_bios 3d05fb85c9eec96b0b3d9a2fa66296c468272ca0
[Reduction] #484-485: resdata_exist and resdata_create 0d213f41b5f0cf227022acf982f058b63771244c
[Reduction] #483: dos_free 61a0a024e24d98fade23b201a010ea7c4e6db90b
[Reduction] #479-482: pfgetc 23a3a4116aac3a5078f83be8aac4cab119fe8fb7
[Reduction] #478: grcg_polygon_cx 0acdb448d1e55bb490d1e8bebca7f85af5cacc4c
[Reduction] #477: draw_trapezoidx 9bb41bd72b9db49972d891ca05d3af5acb43d8ea
[Reduction] #476: super_put_1plane 4f2e3e4944a1f36fedff0ca70cbd63a1cb078477
[Reduction] #474-475: super_wave_put 9e405575ea2390e28b30e00b9ed52bd179270b95
[Reduction] #473: execl 99b60ff9b920f94fe5b52bf545c6cfa76d8628e3
[Reduction] #470-472: LoadProg d575a37e1e0358afdc8821c9fc9fd4b025842598
[Reduction] #468-469: ihypot and isqrt fe2a73c8889f524f0b3d5dc42594ddc2c019affb
[Reduction] #467: Far long multiplication 84b7d0f1ab85b7795e1946a955d669ea0667b4d5
[Reduction] #466: searchenv ccc560ab3750f5729feb644607fc8fa98e20652c
[Reduction] #465: searchstr dc9fc37b3fbea1eeecc5c8f634cb69f299f8f096
[Reduction] #464: mbcjmstojis 97711aac8f247d036182e4e0c4794d086999a2af
[Reduction] #461-463: fullpath.c c0aa5b8a676ae6cf400fa0d3a1c4f101cfb0a22c
[Reduction] #458-460: Double-byte character set functions af7f0b0ad6a3b4b7d4ac2099e9c3a8871e0f367a
[Reduction] #457: getch bab649b884cd0e3594d61697554b9dc69a0438ec
[Reduction] #456: DOSCMD e54a6ad12062fd6206737e62a6ca3312f88b98bc
[Reduction] #455: getenv 92046a80218536810eb69d54fa15484fff9854b2
[Reduction] #454: respal_set_palettes bf7fb8319763cf7af5e8eb28c4ff344cb7c38881
[Reduction] #453: respal_get_palettes b60d3a0f56bdaeb5b91eb043a3b2be9545bda73b
[Reduction] #452: respal_free 3f7a29acc6e3d94ade63fc6968e61f17cde6c2bc
[Reduction] #450-451: respal_exist and respal_create 61c95ec60309fd07c9640d9c3774f825afa4d4c7
[Reduction] #449: setvbuf 01a126da715624b07b8072aee01d96f4f0b441ca
[Reduction] #448: setblock 00e419e9da008107a2099d10d1f7cedf6bd66ee6
[Reduction] #447: access b77f2cfba0198ada9552ea9b8fccb771272d154b
[Reduction] #446: abort 23aa61c002d7afc81f5c7cfe8efbe2158f8caaa2
[Reduction] #445: flushall 9d5aa934d4693e48a388cf5dde9b536cc06ebf00
[Reduction] #442-444: fseek and ftell 429f134a51b378af6cddfd714bbf32954f64d613
[Reduction] #441: grcg_round_boxfill b82a03c3f8c3ffb22ff0e990f154f9d3ff5ca7e2
[Reduction] #432-440: xxv.cpp 6250206235631b1e8a8fdea5dbe7e7fe85de8fc6
[Reduction] #431: toupper f994832a280dcc026cfb938f5d39266b121143d8
[Reduction] #430: tolower 49d85b2c0b6cda9c70a7cc97f3a6663fa8500d01
[Reduction] #429: ctype 4e16a92b07991b757d1a83f8c6b62683816314ad
[Reduction] #428: text_puts b4dd0d452d3d826b0f5bc7caea8a7900dc05bd53
[Reduction] #427: grcg_trapezoid ce245eae9fb0a4444cb45fbd9913d6ddcac7954f
[Reduction] #426: graph_200line c90b76bff986a0ae6848ce7637370154af363d3a
[Reduction] #425: grcg_settile_1line 1276b727ff62db01664d06d740325761d78b29f6
[Reduction] #424: grcg_triangle a27c177235626697f84ea71c75194e68b4243815
[Reduction] #423: grcg_polygon_c 5b91dd3b42d3b771cc53633149364b50d2c00498
[Reduction] #422: draw_trapezoid b2c9ba67bcd09c744b269ee0e68118906c22a639
[Reduction] #421: super_zoom 7dc06e0047bfb72dd857d9e870c33d13e940010e
[Reduction] #420: grcg_fill 5009e416a0b2a0b15dae73111ef47f9fd1307081
[Reduction] #419: super_convert_tiny 14b9f10d1485f6232682519eea8f37697e97594f
[Reduction] #418: grcg_line 2db5e73934b207571f795d4c646953d985940f14
[Reduction] #417: ems_read 3549c5496e8a83f4221abdb76e9c84387967218d
[Reduction] #416: ems_space 44a2c223f66de6bfb02f364a107449e5333b5f8a
[Reduction] #415: ems_write 5261b79d12cda24e63c71928192ebf4e0fdc4bbf
[Reduction] #414: ems_setname 2c16f56bb1c6771216429ef09f8b83c1e2511f90
[Reduction] #413: ems_movememoryregion 366031612711a00200792187ae77b8a8e134be6d
[Reduction] #412: ems_free 958f32c88429dd599828deabceaab8b1b57dc248
[Reduction] #411: ems_exist d4f0bb7c270158f19f9b79a5dcf599cd625f1efe
[Reduction] #410: ems_enablepageframe 267749bd4056e346ab990059bf063ccb8e8b081c
[Reduction] #409: ems_allocate 4b848cc7e83ec582ae503df25de4f03c0eacf306
[Reduction] #408: gaiji_backup and gaiji_restore e9e6d14ab63ab272ada84954a029f5ad045d9244
[Reduction] #407: gaiji_entry_bfnt bd2ef210c0cfcbf10655e02abee3d9f9c8da2fc6
[Reduction] #404-406: gaiji_write and gaiji_write_all 73aad4c7e66842fe83bae1f8e2ee81b10f10d69a
[Reduction] #401-403: gaiji_read and gaiji_read_all 8c6853782031b8a5a9c3ef17364b1f727d86e771
[Reduction] #400: grc_clip_polygon_n c793095729202c22536b728124ab39ba4d7f72ea
[Reduction] #399: grc_setclip 15466286584a86b4459b2d0a3211e18a870a5293
[Reduction] #396-398: grcg_circle 2ed022587787445e46acf65bde909db1c5a629cf
[Reduction] #395: grcg_circle_x 1a45a549c48cf891762493a4ee98e83e9f448e34
[Reduction] #394: graph_pack_put_8 79db80bb098dfbccae073032ddf469e1918a882d
[Reduction] #393: graph_scroll ae3804ff894db6185eec503ebf7eba9e165dc379
[Reduction] #392: graph_scrollup 4373c64119a136647b082e7a52c90fa7bfd4b15c
[Reduction] #390-391: Sound I/O 6c3cfa94ae28e27c678341f59af05c94965ceb6c
[Reduction] #389: text_putsa 563ba7001ed8afd1d1057984a563b84fcd53db65
[Reduction] #388: text_putca bd09a355b8436d4e7d7a66a2ff91a6ee5f08f5e2
[Reduction] #387: text_boxfilla 8f6d34cfe54dcd4649579df13325daeb32ac78b2
[Reduction] #386: palette_entry_rgb c34c0aa09f307bbf07999c7d819b0563e5b95adc
[Reduction] #385: gaiji_putsa 5b09a08612da0df18e10c47855eba1da51fbe31b
[Reduction] #384: gaiji_putca 9242a2dcee3a2f31dcb01ac0d88dfdfe82f0b762
[Reduction] #380-383: super_put_rect 00c6ed5f5e88d9ef656b5abd807800be8179e523
[Reduction] #379: gdc_outpw 1607f39dab1a6a530844bb433c73935657671dc8
[Reduction] #377-378: super_large_put dd4c95e249e646482a958134841627ce76b3bd35
[Reduction] #376: iatan2 1a0ec608252a4cf908b88c9d1c4562b0825dc025
[Reduction] #375: pfread 8571d60085ef8f0e4e4664539506b8a46e8a5cad
[Reduction] #374: pfrewind c39ded4bfa6b9e76717de96b5880ae184f656b67
[Reduction] #373: pfseek f5e8062ec06646cdcde149085cc334b9bfd7052e
[Reduction] #372: IRand b108d5d46f2130fb31b029e6796836d092e14c16
[Reduction] #371: file_size e448f1f6659e7e5d4b0ed1e05697e393eaccf926
[Reduction] #370: key_sense 614caf64eb946452c4ba4c66d60c3c936134ff74
[Reduction] #369: file_write 12c1e8560fb739d37f2783ba271776cb8decdc6b
[Reduction] #367-368: file_seek and file_tell 536e17d29e42c1695a6ae79d36ab4dfb1a0ada21
[Reduction] #366: file_ropen 5976ec045879a33dc244ad6ac9668572d009dd92
[Reduction] #365: file_read 3ee280b708c3ab317104ecef51b02307d13309f8
[Reduction] #364: file_exist 649ab800e1fe2bf3c3e565faf687756789e90786
[Reduction] #363: file_create 2e814fc3c50283e344917e5f0c8d5566ecbb0e98
[Reduction] #361-362: file_flush and file_close 9a1e030ce7aace9f0120e15ceb77f01c3602bee4
[Reduction] #360: file_append 87230af28fdf400dabed217ff31c735a8db1dfd0
[Reduction] #359: File-related global data 605f0448541767756bfedae38c53f73663fd1a01
[Reduction] #358: kbhit 86ea9b69ac7f9690e1fac56aca6afeac3840aeb0
[Reduction] #357: C++ new[] operator daabf257d14763ba19d8d2628ddbac37cf4fd1ed
[Reduction] #355-356: ctor2.asm 04b1fd3bccfe4d137730a5f0fbc4a476ccc98c68
[Reduction] #352-354: ctor3.asm 73af48ac9580ef52de0bdd4adc8adb0a89c07b00
[Reduction] #331-351: strings.cpp be740fc36838f182bd3c14edc414ba9fa8ae12e6
[Reduction] #324-330: new.cpp 588ed7b90bc61904175c72caf7d402cd7ed9ae2b
[Reduction] #274-323: xx.cpp d49fdce731afaa98aff7d6423aa8a4c02c73a796
[Reduction] #273: cputype.asm e2ca057d4b5f7f6d2a2bda446d8579b74e9dcbd0
[Reduction] #268-272: xmsg.cpp dd400d7627c978964fa802f3baf551523cfe28c3
[Reduction] #264-267: xalloc.cpp e0762650c6122691703cfcd612a15111f7d87d2e
[Reduction] #260-263: xxas.cpp e1d78d0e9af904d15288084159c731b8c991ca86
[Reduction] #259: C++ delete[] operator a9918e364ed3398b49dac4bb19f8fc08fee74b76
[Reduction] #258: C++ delete operator 0493c0c4e46e870b0c637134686df8d0de54de1d
[Reduction] #257: xfflush 6ebf0877f70b6c8aad8404f68095e2683e087730
[Reduction] #255-256: super_roll_put f0825bf2e5abd9435ccbfcc570446f44c8e3bbe3
[Reduction] #254: super_roll_put_1plane 7bb29aee6241fa7b164b44807f4977bd445292da
[Reduction] #253: super_clean 776c094c0a76f8f978cf629fa46eeb713700657b
[Reduction] #252: 16-bit sine and cosine table 0c8e9d8550029dedef742319ba7020fd13156cac
[Reduction] #251: Sine table for super_wave_put() and super_vibra_put() a65a9c07c360844a0c09c6b2892f58d956b85964
[Reduction] #249-250: super_put_8 2d8f579e14a9be2e658ed3e112474c393bf951b3
[Reduction] #248: grcg_circlefill 7efab8b20f28960a0d09d00a28e934595607d3f4
[Reduction] #247: grcg_pset 366ba7a85f28875f0706c32e853da3a71dd9d50a
[Reduction] #246: grcg_boxfill eb6c0b5551f2e9519e00cb1222d5718d6cff504c
[Reduction] #245: dos_filesize a779b848439279ebae2c1236c83cf7f251ea535f
[Reduction] #244: egc_shift_up 9e5b986403f1619de19570b7aee899441cb721e3
[Reduction] #243: egc_shift_right cc2d874c261e7b2d9e4fc2e5b533585ec7e6d145
[Reduction] #242: egc_shift_left b67d68409ebb287a458a6880ecad35d28d973d03
[Reduction] #241: egc_shift_down 23b7c043766a97d233618b997861a51306e2f009
[Reduction] #240: cutline b4794ec1d98296beae86f35edd99aff6bd386498
[Reduction] #234-239: super_put 55629eecb06ea1e5df1a4af3d2054795e54b6260
[Reduction] #233: Byte mask 68359542c118449da4dc8ec013ca0e4d3b96d6e7
[Reduction] #232: graph_start 2cf62174c043f9777da7c7e4a1e15e87fc756215
[Reduction] #231: graph_hide c1dac953a5e0cd2fcbbfdfb7301d636037e0beac
[Reduction] #230: graph_400line 9b3e42a15094d0a9033f22988c50b297aafef7cf
[Reduction] #229: grcg_vline 057c665ecef057f30bb878b461f1735e398ea101
[Reduction] #228: grcg_hline 0dad2dffc8964b72d54cd045d675c3c04a457f3c
[Reduction] #227: Edge pattern table 523da7f7b968e57c7d128c03aa2284aca2091142
[Reduction] #226: grcg_byteboxfill_x b6872319c4f131268a0c1c27d489c2f3c515c708
[Reduction] #225: Clipping variables for drawing 877fbd8bd6af395827dd605cfa0865273d7562c3
[Reduction] #223-224: memmove 5a05e580e5959649251abfe5f6c1445edb75f2af
[Reduction] #221-222: memset f3e9147459bb6105e024352645b5724047debc93
[Reduction] #220: memcpy 444901acb58bd696451e2a9e14a60228555293f1
[Reduction] #219: memcmp 39bf07ac61e42d798e810c5c8ade8ace2416b250
[Reduction] #217-218: grcg_setcolor and grcg_off 4f075e171858017a3005c8f2ca27b51c59c31d41
[Reduction] #215-216: graph_copy_page aa9ea36277259da7f1fa3d62f1f307ea48fb2c04
[Reduction] #214: graph_clear a28cd273c4c1f1d7d60b1a4ed7b103b684df8a43
[Reduction] #213: Graphic VRAM-related global data 199138182a852d92c127fd1a5a4a9bf6fc756d89
[Reduction] #212: graph_show 967a8e3aa5bce8d2832d75fdabf466028973ae6a
[Reduction] #211: make_linework a4de9710bdd4b9c8aecb053a9b4e7d05fff2dac8
[Reduction] #210: egc_shift_left_all 9bdc776f19199da12773c13c03d9686b86b8216e
[Reduction] #209: pfclose 7240b80154051f1a80e8896526d240645d59de6a
[Reduction] #208: bopenr 27693992d9dabfca294a0bc05bf9676a849fa8b7
[Reduction] #207: PAR-related global data 64609699ef92801a8ed651bc1c3ac0a7acdf4edd
[Reduction] #206: palette_white_out 95fce9b96b30b798af8273ef56dfefe400b5a66d
[Reduction] #205: palette_white_in ef64c519581598126f6af37583ecf2497722f905
[Reduction] #204: palette_black_out beae93b603533e08cb72886ac84808fca945e63c
[Reduction] #203: palette_black_in 8b6d81a3de6f84d414a49d270384f07719759c83
[Reduction] #202: vsync_wait 80cbfb1dd8fb13aafa1f070a5175e999b6b2233d
[Reduction] #198-201: vsync_start and vsync_end 94c5a121004f0b82359db39c0f77940c0ed92edc
[Reduction] #197: VSync-related global data 287d7ea554cc33cf3fe7067f491210c63954e8c0
[Reduction] #196: bseek_ 1f804283f8f4f9c722e00eb4df912131dc55278a
[Reduction] #195: bseek ed6c5e30678f0d3244c1a0503d6f4a57ed4af611
[Reduction] #194: text_fillca c60e71aa1223f10dd5ce02b19b5cd3cb87b62021
[Reduction] #193: bread fae5f003ad22087a7f057184c0f883b7fe82ae22
[Reduction] #192: bgetc 5d2d4feca01c6f266dcc190cb2cd2782d1bcf4d5
[Reduction] #191: bcloser 40de176f2c3b3c0671fc7976183344cf357ed519
[Reduction] #189-190: bgm_init and bgm_finish 777a718390989ac407de49c3dc4d70f8abf05b85
[Reduction] #187-188: bgm_timer_init and bgm_timer_finish b13417673192edb72aa642dff5ca1eec3acb8db8
[Reduction] #184-186: RTC interrupt manager 54ceaad556925e66308a0c67514c77b5303c8769
[Reduction] #183: bgm_timerhook 0bb3f897e047ac5f1f4c5733c78463a9441afcd4
[Reduction] #182: bgm_read_sdata b7aa7291db836c46a10e85d56ea397b732740e46
[Reduction] #181: bgm_sound 17fa89801b4e33db15c4254f7fd13b8cc5e2c2a4
[Reduction] #180: bgm_stop_sound fab08f292365bd0d8c19a3e28206a31e29a1e3e1
[Reduction] #179: bgm_stop_play 8b7313010e5314a7f353e1be55a1121fa039396a
[Reduction] #178: bgm_effect_sound 1520dea4757268196abb8b7a0137af5636207575
[Reduction] #176-177: bgm_play 06d0171bad134a56e570e07815ea193b4406d34b
[Reduction] #175: bgm_pinit d0be24acea7b3266dedaa61e57ae3966ac4552b9
[Reduction] #174: bgm_mget 8416cc93c91515d60c21bc4fc9270a76f6f076e5
[Reduction] #173: bgm_set_tempo 69daab38b21f119665aead851c1848aebd375a3e
[Reduction] #172: BGM-related internal data 509d3b31b9197711b65062108e12fe5a52a767e9
[Reduction] #171: _bgm_bell_org 674ecce1c32e8baa6f5e97c216374d9e3c746c7f
[Reduction] #169-170: fgetn and fread 36a4a02bdcd53e1617a80dd46365c81a4b749502
[Reduction] #168: fputs 8f276965145fad51012589258f7e5ca6254045b1
[Reduction] #164-167: fputc and friends 7ad40cceffc1226ba7cf3d9ec1f9ab4e99ada20f
[Reduction] #163: ___read 947e2ea63063dc3a6afa7112da13e236582288b6
[Reduction] #161-162: __rtl_read and __read 76a12e26081fd12aa888ffcc9b2a5c33ee9390c9
[Reduction] #160: getdcwd 54c9abefee11f51ab6f592ac8322bb051c21c2ae
[Reduction] #159: super_entry_bfnt 4a36dd15deaf4858fb0ceea681c320c4e9cab784
Identify 4 functions accidentally missed in TH01's ZUNSOFT.COM 3de251fb60065a70419b9d746b118dfb476e0016
[Reduction] #158: bfnt_palette_set 656f993e8de24ef91e67f44b01e19820d288f38b
[Reduction] #157: palette_init 6e6293be7933e69799185d60fc345e58b3e31b49
[Reduction] #156: palette_show e76a9948b8125fa9fe03689c7efb6f8c1c835180
[Reduction] #155: Palette data 61ccf52f3e0183351913800e51c6e46e397e8aab
[Reduction] #153-154: Key beep control 138fcd2fce2cdc56e11f33080ef9fc8b326e3471
[Reduction] #152: js_end 4759e857659e6bbf6981d333d26c11f8adae5db8
[Reduction] #151: bfnt_extend_header_analysis 6114c2871cee77d6df1dd5cf0e038df070c10ebb
[Reduction] #150: bfnt_extend_header_skip 20b998a428d010b652608c78c72ed53ffe0540b1
[Reduction] #149: bfnt_header_read 7046c47d28758b66744e9259968b85838395784a
[Reduction] #148: bfnt_entry_pat 56a45d0b1dbfd4d4401c3f83ce2346192c6a17fb
[Reduction] #147: 4-bit VRAM pixel rotation table c718cc159a50d8a719be70b1aacdd8792951d03a
[Reduction] #146: dos_axdx 76139a57c84ef0c4c49f97387811f733d86465f1
[Reduction] #145: dos_keyclear cd1d7b341e32785e5b2f9c9b9b556ed7ebb40d02
[Reduction] #144: dos_puts2 4d3b735008093bc21145383e687aa5c672ae4c9e
[Reduction] #143: dos_setvect 50bd48da18baadca55b287d9e28b6c33f9766113
[Reduction] #142: dos_read a756bab3cc85151ee10d6c48158beee265d7750d
[Reduction] #141: dos_seek 4bcebcd875459f32ce767c9ad99a8c25a7c892df
[Reduction] #140: dos_close ba3e077fc85960403aec4c41ee9db57960e40d2e
[Reduction] #139: super_entry_pat 2e2151b5923d29b86a9775d1d13d4bc797546128
[Reduction] #138: super_entry_at 4e6ef3bd8d05cb29bdf573b9527efc33da118634
[Reduction] #137: super_free 857c443b57c91a9403a09a912626c595e6539240
[Reduction] #136: super_cancel_pat 22112eab6a719bff1034ff31e742948b5226da76
[Reduction] #135: Superimposed pattern data 587f109e6a8a8c4dcb874718490a9b3d81af48e6
[Reduction] #131-134: graph_pi_load_pack 8b32104540da94ba5cb43ced90e9cdfc26c5608c
[Reduction] #130: ___write 193ca02550485321922357f1678e0e6edc3ec4aa
Replace the compatibility NOPs with a macro fbb78b9dd0daafd59260291c03dad44927572081
Move common directives and includes to a separate include file 4e9ad18af15133a7df9930fd33c6d7cad51dad12
[Reduction] #128-129: __rtl_write and __write 2d1dc1589c2d5b5a0fc6c3bf4465b166f441818a
[Reduction] #127: lseek 216413d8a68e73afc12fe5673213f1d22acac644
[Reduction] #126: graph_pi_free aaa2d23fc8c161930a7209dcaff56e5952a5885b
[Reduction] #125: hmem_lallocate c3202f4450bfea7ffc6cbe63e0bf07ae332f2040
[Reduction] #124: smem_wget 47781cd01332b3d09cb9380119ba877c704ac0a9
[Reduction] #123: smem_release 7cde3a50ec6f8989e758ce018b17b0794fe09014
[Reduction] #120-122: Heap memory functions ea4db822ab3db620b73e245221583218bdb8abd7
[Reduction] #119: mem_assign_dos 969990a819bbb335789c1f16602627b62b31c2f1
[Reduction] #117-118: mem_assign and mem_assign_all fc0ccd5e2b94f54fe981fa341ae7cc3748180173
[Reduction] #116: master.lib memory manager variables d270a625e54568c566170d532170436ded0a1a1c
[Reduction] #115: dos_ropen 99b99630823806e9966c797b98b0b7f7a138f524
Change the name of the entry point to STARTX 98bf9d957624157212c9258188703a1a13821629
[Reduction] #114: fperror 87fae211277a326889ad27c98aada8a3a16411b8
[Reduction] #109-113: Signal handling 8e4683cd1e1ffa617984a7bab1c83ee58ce25315
[Reduction] #106-108: PC-98 EGC setup d1ccecdfa9de5f8d07b59b8068db87f7cceec647
[Reduction] #104-105: _dos_getdrive and _dos_setdrive a244c30cd932ca50ea7daad4fd0daa5047ec23e7
[Reduction] #103: DOSENV 69672b819a68b95e26f00bf71d29eabc765ccaaf
[Reduction] #102: ErrorMessage 8ca696433028a801644f32023e1684bb44997968
[Reduction] #101: Far struct copy e6e1e3a9379425828ae76d8d44736784d3cb858a
[Reduction] #100: fflush 68e1dc859688c1d79024c2fdaaea20d9f88efc50
[Reduction] #98-99: getvect and setvect 33fa958a300493e575c397e1b17bacf4332d8615
[Reduction] #92-97: exit ea547e484134f9588010ffa67496aa59ab1cc112
[Reduction] #91: stpcpy 9d23be1a929fc1be6880bc532f225ff2a2d849d4
[Reduction] #90: text_clear d3aaca7bd30d2edb53a88877aba0ad9bcaa2a77d
[Reduction] #82-89: PC-98 escape sequences eff96385b02fff5b8f0119f8f08187ca1444053e
Restore master.lib's FUNC and ENDFUNC macros 8f6c28c939c8321e5a10e8832e9987c538312d86
[Reduction] #81: ioctl f39d9165da7be8e92b02e0afa1baf346966b424a
[Reduction] #80: chmod b90a1e23202c0421b1952c97758433b29254f990
[Reduction] #79: atexit e9701c491daccd2306a34feea711fb8a0a52f745
[Reduction] #70-78: C start up code ce00b0b534b6562d8fc4ae74663fa601d40996b2
[Reduction] #66-69: Near data segment space allocation 30d44e682270d2adbe3bfc2216f60352c1f46e6a
[Reduction] #53-65: Near heap functions bb2c6c6efe9aba77eff0086b84f839e1d25f958f
th01: Fix the erroneous references to the beginning of the data segment 356c3b346d1108bee7c7f3dd370d369dbc4912a0
[Reduction] #52: setupio 8082ba043402d33c1bf88d64f678ac355425bb42
[Reduction] #51: Standard FILE structures dcb272679936f0e42a635398634a921e168328ef
[Reduction] #50: setenvp 11a91d0e45dab5f8b442520683125a0b6b37fde1
Set up labels to denote the BSS and init/exit table segments c5860dd7a6b9f963b1d1d3299cf478e860118ab6
Fix the declaration of errno aaba4d614900f9818829575544961d8cc6a5942b
[Reduction] #48-49: exec 5fb4445adaa46b2a56f70d2281e9069852fabcad
[Reduction] #45-47: Far data segment space allocation d4b766ee4e9ea0405d6b8be2ae93c31bb8ce7f36
[Reduction] #44: graph_extmode a033b347fc638d9ddd4992fade9237d6bb4f5359
[Reduction] #43: Text VRAM variables a313ae5d78ef04de5c098594fb6381dc5049d7ee
[Reduction] #42: Long shift right d5a80ee36363bc5aea60b5a02c3f3e4c016baadf
[Reduction] #41: Long pointer comparison 554d0325d588b2a99a6e6b152ea94b9c2558d58f
[Reduction] #40: Long multiplication 859e48a59ffb074b30d43687028257b5e8a4087a
[Reduction] #39: Long pointer subtraction 3e34084a8d65f52e8f2a2d06f0ba543049fb7357
[Reduction] #38: Long division ca18919ee74d106e93da27ad4f5ef4089bc9d2ce
[Reduction] #37: Long shift left bf4edcec282790001df03f229a50e1208a802cb2
[Reduction] #36: Huge pointer addition fc9dacd1801f1e6ba7c95c885d01dbec350ad4d6
[Reduction] #35: _isatty 3b911b3c2055256ee1b6bee88beeb241566c988e
[Reduction] #33-34: __IOERROR and __DOSERROR 4e3bd763485b24402bf5da2a33e2a6cc93360635
[Reduction] #32: get_machine d95fc3cdd99912ef129a9b74f55c86f0c720438b
[Reduction] #31: get_machine_98 7b9a30fc8d117ea79cd448a0a855007fbe9916f9
[Reduction] #30: get_machine_at 1c91cc75e7cd664c242d61435d6f417be567eeb8
[Reduction] #29: get_machine_dosbox af609d5e1cc1c3da0fea28ac4809176bd8703bfc
[Reduction] #28: Machine_State 59688e23fc5ff0d252b92c2ef40e486098dd3eac
[Reduction] #27: check_machine_fmr cc313d5095d9cd4ac0f013a3d673e3e5d7bca895
[Reduction] #26: strrchr 57642755490ca2398703a27586be33822af52969
[Reduction] #25: _strcat a3ab75cd34ce7a9ecdc36f8b3d5635768f1186f8
[Reduction] #24: _strcmp adf8e137d938ca6e5c6d331960a2a77a81b49f15
[Reduction] #19-23: Far heap checking functions 111fc05e58c888efca0245309828a7008d8e93a9
Include RULES.ASI from every executable's dump file. 18f77cb7da1b645cb117ec141a8a9bd4fbb75d19
[Reduction] #6-18: Far heap functions 43f280ab5585804946520181707d427e6b5e57f0
[Reduction] #5: bfill 534ba2d142767eae4767e237ed900dbf6f4559fb
[Reduction] #4: _strcpy 130a5c587d739e2081c8d3d27d126371b3462332
[Reduction] #3: _stricmp 23674951e564f84bf0b3835473b5818b6a82c3f1
[Reduction] #2: _strlen 4dba5673cb548602fac4e861e9ec35cf2a35d041
[Reduction] #1: __abort 713ad758b609be2e588ba27520577f89bd345317
Remove IDA's cross reference comments 60cf35edad8f16aa57e0eba04c4cd54ca98e90c9
th01/reiiden: Initial state 93ef812580969e49fd8acd8fafd8ad0f6be3a6dc
Describe the entire project and the current roadmap in the Readme file e0ecdf40f29c724e9e4b93e256512f413d013d06
th01/zunsoft: Initial state 56000a9044a8665d0418002eaf21919db0e0ce14
th01/fuuin: Initial state c716ac05fbac94ad3a12082596bcc7c3b11ea664
th01/op: Initial state 39f3b4e741badf7aac0594e928aa24ed0c756949
th04/main: Fix the crash when beating Yuuka 48961cde6b89b25fa6619fac434d246a01faf1f7
th05/main: Identify end-of-stage strings f1d931c6399c4cccbcaef255f75f9507abd630ff
th02/op: Identify performance option string pointers 0459f03cfea5785a4af60c2d75bb3847ee2c19f7
th02/main: Identify the stage title halflengths array 0f5b52c28ed0bac34f2b55cf4c64dd3d22dea991
th02/main: Identify some more data referenced when displaying the BGM title 21b4a1651298b07962a8ba039a79ac562f973d56
th05/maine: Identify some missing All Cast data references 550b037521ba753740ba8de8744d179175f1bc5d
Compress unitialized memory by replacing bytes with dwords 2bd664c5e479250d55ae7aa109511a2206f941b0
th05: Fix all remaining alignment errors 174e08fc60741d25faf63826305c409eb3a59110
th05/main: Identify the score numeral bitmaps 31f6554d1cb0b61e4a67554d251669d3d76f971a
th04/main: Identify the score numeral bitmaps 0b0013beb021311c7d6181e6633d6ba99aa9a9c5
th02/main: Identify the score numeral bitmaps 8586dbe98c009662bd7f56cd11cf9686157a3a78
th05/maine: Declare some missing strings as such 92e5e772be1cde05265a17ea46c25ed9f0734b6a
th05/op: Identify menu description strings 0ff83ca74e6143e994280ac9f1a7d99949fe12e2
th05/op: Identify sound setup strings 4eceb05d9ded9615e1f7ecd9e68956b3824ba1e1
th05/op: Identify Music Room strings 5a1b691f21b74ea09e4f0c9b508617a19b8682a7
th05/op: Declare some missing strings as such 53fa9b1cfb8171c358e54dbb2fab98d69c0e0d17
th02/main: Identify stage and BGM title pointers 17f6ac7d1d5f5bde08bc183663d2c46fbd505ea4
th04/main: Identify stage and BGM title pointers fc5b599a63a7453fc57a591987ee496b33549b0b
th03/mainl: Identify character name and title string pointers 60195806f85d2d6d629b43352c6a8104310704dd
th05/maine: Identify All Cast string pointers 8106ddf80ffd3ac2668bf01d1ae2d81eab1ea758
th02/main: Initial state 267f9eb90aec9a34ff15aac930df364ef0b1bf54
th02/maine: Initial state 4ae365a60b052b88da8c64d7a9cdd778d8e22234
th02/op: Initial state 3186da7cec1a2cb18be87cfbf16ea8c3a294dc02
th03/main: Initial state d569ad64f2f798c50de52b01513973d52ad44d0e
th03/mainl: Initial state cdf5141dee1379a9bdbd8840b96df56dce79d314
th03/op: Initial state bd5099f90408490ef91515af38a75c6c0da0b224
th05/main: Split off segments 3 and 4 into a separate file 93360e2a138dd6ab3aa6236400191a28f83f094e
th04/main: Initial state 48ce5beaea8453e8fd021c65b0a01efc50bc8d3d
th04/maine: Initial state 6afe3e89a32e2b98b40847426b8a0a116141eef9
th04/op: Initial state bf430e42311f6a0ecc44f1d714c8bcb625d77c85
th05/main: Identify Stage 4 boss theme strings 82bc23ec5822195a7de416ea0108bc70832163d9
th05/main: Initial state 467a7db91388ee795940b58963eb94dd343eb3a6
th05/maine: Initial state 21b8ca62ab0c762439c4f9790740045263b83f63
th05/op: Additional alignment fixes 91cb6323531f8ed7172ff9e3ac333d3a9254fe0b
th05/op: Remove the duplicate segment alignment parameter for seg000 224f92c77f5d3248772a5277396a74fb8b1c27f0
Fix a typo in the build parameters adb4a6688148049ba6f95cb0f2971c64a66a4d6e
Start out with th05's OP.EXE 9e07c54aeeb4fcfa6381505990602c333c83ca6e