log

age author description
Mon, 05 Sep 2022 17:53:36 +0200 Emmanuel Gil Peyrot Rust: Add a Glide renderer (2D only for now) default tip
Tue, 30 Aug 2022 18:41:50 +0200 Emmanuel Gil Peyrot Python: Replace the PBG3 loader with Rust’s
Tue, 30 Aug 2022 18:23:55 +0200 Emmanuel Gil Peyrot Rust: Add a libtouhou Python wrapper using pyo3
Tue, 30 Aug 2022 18:22:53 +0200 Emmanuel Gil Peyrot formats: Fix possible panic in PBG3 checksum check
Tue, 30 Aug 2022 17:09:04 +0200 Emmanuel Gil Peyrot Rust: Bump nom and image to their latest version
Tue, 30 Aug 2022 17:07:21 +0200 Emmanuel Gil Peyrot formats: Use Read::read_exact() and Write::write_all()
Tue, 30 Aug 2022 17:06:38 +0200 Emmanuel Gil Peyrot formats: Expose color_key on Anm0
Tue, 30 Aug 2022 17:03:02 +0200 Emmanuel Gil Peyrot formats: Use a BTreeMap instead of a HashMap for scripts
Fri, 26 Aug 2022 18:55:39 +0200 Emmanuel Gil Peyrot Python: Use logger.warning() as logger.warn() is deprecated
Tue, 09 Feb 2021 22:50:18 +0100 Emmanuel Gil Peyrot Python: Fix video argument (thanks Doomfan!)
Wed, 06 Jan 2021 01:47:24 +0100 Emmanuel Gil Peyrot interpreters, runners: Add missing mod/lib files.
Wed, 06 Jan 2021 01:47:06 +0100 Emmanuel Gil Peyrot formats: Replace unwrap() with proper io::Error.
Tue, 05 Jan 2021 04:28:45 +0100 Emmanuel Gil Peyrot formats: Fix the tests.
Tue, 05 Jan 2021 04:28:30 +0100 Emmanuel Gil Peyrot formats: Add a dump_dat binary.
Tue, 05 Jan 2021 04:11:18 +0100 Emmanuel Gil Peyrot utils: Replace custom SeekableSlice struct with std::io::Cursor.
Tue, 05 Jan 2021 02:16:32 +0100 Emmanuel Gil Peyrot Split the Rust version into multiple crates.
Tue, 05 Jan 2021 01:14:52 +0100 Emmanuel Gil Peyrot Fix dump_ecl example.
Mon, 04 Jan 2021 21:14:02 +0100 Emmanuel Gil Peyrot Bump nom to version 6, and image to 0.23.
Mon, 04 Jan 2021 20:39:30 +0100 Emmanuel Gil Peyrot Python: Only init SDL2 video if using SDL2 frontend.
Tue, 25 Feb 2020 21:03:44 +0100 Emmanuel Gil Peyrot examples: Use array textures for enemy PNGs
Wed, 29 Jan 2020 17:45:25 +0100 Emmanuel Gil Peyrot examples: Return a Result for load_file_into_vec()
Tue, 25 Feb 2020 19:37:19 +0100 Emmanuel Gil Peyrot examples: Add music playback to the menu example
Wed, 29 Jan 2020 18:18:24 +0100 Emmanuel Gil Peyrot examples: Add a third screen to the menu
Wed, 29 Jan 2020 18:15:50 +0100 Emmanuel Gil Peyrot examples: Add missing reupload_texture_from_rgb_image() to common
Tue, 25 Feb 2020 20:36:09 +0100 Emmanuel Gil Peyrot Cargo.toml: Remove useless panic=abort
Sat, 18 Jan 2020 19:47:44 +0100 Emmanuel Gil Peyrot menu: Load the title image at frame 60.
Sat, 18 Jan 2020 19:19:51 +0100 Emmanuel Gil Peyrot examples: Add a menu example.
Sat, 18 Jan 2020 16:27:57 +0100 Emmanuel Gil Peyrot examples: Simplify PNG load functions.
Sat, 18 Jan 2020 16:25:45 +0100 Emmanuel Gil Peyrot anm0_vm: Use the unused u16 to store the anm layer to use.
Tue, 07 Jan 2020 12:34:11 +0100 Emmanuel Gil Peyrot examples: Remove deprecated std::mem::uninitialized().
Tue, 07 Jan 2020 00:23:15 +0100 Emmanuel Gil Peyrot examples: Update luminance.
Tue, 07 Jan 2020 00:06:18 +0100 Emmanuel Gil Peyrot Make it so we can use more than a single anm0 in an EclRunner.
Mon, 06 Jan 2020 22:48:09 +0100 Emmanuel Gil Peyrot examples: Make the common functions take AsRef<Path>.
Mon, 06 Jan 2020 22:43:31 +0100 Emmanuel Gil Peyrot ecl_vm: Let enemies spawn other enemies.
Sat, 28 Dec 2019 23:53:09 +0100 Emmanuel Gil Peyrot stagerunner: Add a binary able to run multiple enemies.
Sat, 28 Dec 2019 22:56:32 +0100 Emmanuel Gil Peyrot ecl_vm: Uncomment instruction 121 function 8.
Sat, 28 Dec 2019 22:18:23 +0100 Emmanuel Gil Peyrot ecl_vm: Remove trailing whitespace.
Sat, 28 Dec 2019 19:20:20 +0100 Emmanuel Gil Peyrot ecl: Enable instruction 99.
Sun, 03 Nov 2019 04:42:58 +0100 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: instruction 122 beginnings, sf 12 done
Sun, 03 Nov 2019 03:04:41 +0100 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: time stop/random sakuya bullets impl
Sun, 03 Nov 2019 02:07:18 +0100 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: remilia lasers done
Sat, 02 Nov 2019 19:37:06 +0100 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: spellcard 9
Sun, 08 Dec 2019 20:14:28 +0100 Emmanuel Gil Peyrot PyTouhou: Fix text comparison to be done after encoding to bytes
Sun, 08 Dec 2019 20:13:01 +0100 Emmanuel Gil Peyrot PyTouhou: Fix GLFW callbacks to be nogil
Wed, 30 Oct 2019 16:27:43 +0100 Emmanuel Gil Peyrot ecl: Add support for bullet sounds, instruction 84.
Wed, 30 Oct 2019 16:27:20 +0100 Emmanuel Gil Peyrot dump_ecl: Add newlines between blocks.
Wed, 30 Oct 2019 14:48:03 +0100 Emmanuel Gil Peyrot Update dependencies.
Tue, 29 Oct 2019 15:41:23 +0100 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: some work on spellcard 11
Tue, 29 Oct 2019 14:39:03 +0100 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: added spellcard 13
Tue, 29 Oct 2019 04:06:28 +0100 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: patchouli spellcard selector
Mon, 28 Oct 2019 21:19:50 +0100 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: some work on vampire fantasy
Mon, 28 Oct 2019 19:52:06 +0100 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: work on laevateinn
Wed, 25 Sep 2019 16:59:21 +0200 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: implemented spellcard QED: Ripple of 495 years
Wed, 30 Oct 2019 10:28:52 +0100 Emmanuel Gil Peyrot Add a dump_ecl example.
Tue, 24 Sep 2019 17:49:23 +0200 Emmanuel Gil Peyrot ecl_vm: Implement 121 functions 0 and 1.
Mon, 23 Sep 2019 14:01:35 +0200 Emmanuel Gil Peyrot examples: Propagate image loading errors.
Mon, 23 Sep 2019 13:49:07 +0200 Emmanuel Gil Peyrot Fix some warnings.
Mon, 23 Sep 2019 00:22:08 +0200 Emmanuel Gil Peyrot examples: Update luminance.
Mon, 23 Sep 2019 00:06:02 +0200 Emmanuel Gil Peyrot ecl: Simplify parsing.
Tue, 17 Sep 2019 17:36:02 +0200 Emmanuel Gil Peyrot anm0: Parse only a single anm0 at once and use many0 for more, to simplify parsing.
Tue, 17 Sep 2019 16:46:10 +0200 Emmanuel Gil Peyrot std: Split parser to simplify parsing.
Sun, 08 Sep 2019 18:09:43 +0200 Emmanuel Gil Peyrot ecl_vm: Fix SetPosition.
Sun, 08 Sep 2019 18:09:05 +0200 Emmanuel Gil Peyrot std_vm: Implement SetViewpos, SetViewpos2 and StartInterpolatinvViewpos2.
Sun, 08 Sep 2019 17:53:13 +0200 Emmanuel Gil Peyrot Make interpolators use u32 instead of u16.
Sun, 08 Sep 2019 17:47:23 +0200 Emmanuel Gil Peyrot examples: Update to luminance 0.32.
Sat, 24 Aug 2019 19:30:59 +0200 Emmanuel Gil Peyrot Switch to versioned luminance now that it got released, not hardcoded paths.
Fri, 23 Aug 2019 19:46:47 +0200 Emmanuel Gil Peyrot examples: use common module.
Fri, 23 Aug 2019 19:29:00 +0200 Emmanuel Gil Peyrot anmrenderer: split common loading functions in another module.
Fri, 23 Aug 2019 19:09:37 +0200 Emmanuel Gil Peyrot anmrenderer: also load the alpha PNG.
Fri, 23 Aug 2019 17:37:22 +0200 Emmanuel Gil Peyrot ecl: simplify parsing with more combinators.
Fri, 23 Aug 2019 17:22:38 +0200 Emmanuel Gil Peyrot anm0: simplify parsing with more combinators.
Fri, 23 Aug 2019 15:34:03 +0200 Emmanuel Gil Peyrot anm0: return the nom IResult and the list of Anm0s.
Fri, 23 Aug 2019 13:05:48 +0200 Emmanuel Gil Peyrot examples: factorise file reading into a buffer.
Fri, 23 Aug 2019 02:40:27 +0200 Emmanuel Gil Peyrot ecl_vm: stub SetBossMode.
Fri, 23 Aug 2019 02:37:21 +0200 Emmanuel Gil Peyrot ecl_vm: enable SetDeathCallback.
Fri, 23 Aug 2019 02:36:59 +0200 Emmanuel Gil Peyrot ecl_vm: fix RelativeJump* instructions to actually call RelativeJump.
Fri, 23 Aug 2019 02:31:08 +0200 Emmanuel Gil Peyrot ecl_vm: implement Call, Return, and the call stack thingy.
Fri, 23 Aug 2019 02:30:57 +0200 Emmanuel Gil Peyrot ecl_vm: add a test for Call and Return.
Fri, 23 Aug 2019 02:24:08 +0200 Emmanuel Gil Peyrot anm0: only use recoverable errors, no panics except for anm0 asserts.
Sat, 17 Aug 2019 15:33:45 +0200 Emmanuel Gil Peyrot ecl_vm: implement TargetPlayer, and add a dummy Player to Game.
Sat, 17 Aug 2019 14:09:39 +0200 Emmanuel Gil Peyrot ecl_vm: stub PlaySound.
Sat, 17 Aug 2019 14:07:57 +0200 Emmanuel Gil Peyrot ecl_vm: implement SetExtendedBulletAttributes.
Sat, 17 Aug 2019 14:04:59 +0200 Emmanuel Gil Peyrot ecl_vm: implement SetBulletLaunchOffset.
Sat, 17 Aug 2019 13:54:52 +0200 Emmanuel Gil Peyrot ecl_vm: fix panic when bullet_interval is zero (disabled).
Sat, 17 Aug 2019 13:50:54 +0200 Emmanuel Gil Peyrot ecl_vm: implement SetBulletInterval and SetBulletIntervalEx.
Sat, 17 Aug 2019 13:49:31 +0200 Emmanuel Gil Peyrot Fix PRNG not to panic, pass it to Enemy, and initialise it with time in eclrenderer.
Sat, 17 Aug 2019 04:28:24 +0200 Emmanuel Gil Peyrot ecl_vm: implement the SetBulletAttributes opcodes.
Fri, 16 Aug 2019 23:27:09 +0200 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: nearing the complete list
Fri, 16 Aug 2019 23:53:03 +0200 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: fixes for previous instructions
Fri, 16 Aug 2019 23:45:28 +0200 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: more work
Fri, 16 Aug 2019 21:31:00 +0200 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: more instructions
Mon, 12 Aug 2019 21:10:38 +0200 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: added sibling function and a warning.
Fri, 16 Aug 2019 13:44:43 +0200 Emmanuel Gil Peyrot Add missing quad size override to stdrenderer.
Fri, 16 Aug 2019 13:40:38 +0200 Emmanuel Gil Peyrot Implement a .std renderer, and its associated VM.
Thu, 15 Aug 2019 21:35:22 +0200 Emmanuel Gil Peyrot Implement ECL instructions DelayAttack and NoDelayAttack.
Thu, 15 Aug 2019 21:32:54 +0200 Emmanuel Gil Peyrot Use a struct for difficulty coeffs, so that we can impl Default on it.
Thu, 15 Aug 2019 21:31:08 +0200 Emmanuel Gil Peyrot Rename unknown ECL instructions to better recognise them.
Thu, 15 Aug 2019 00:26:01 +0200 Emmanuel Gil Peyrot Use the same RenderState as PyTouhou in anmrenderer, and normalize color, thanks phaazon!
Mon, 12 Aug 2019 20:50:22 +0200 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: more instructions.
Mon, 12 Aug 2019 20:32:08 +0200 Gauvain "GovanifY" Roussel-Tarbouriech ecl_vm: instr 100 fix.
Mon, 12 Aug 2019 20:26:12 +0200 Gauvain "GovanifY" Roussel-Tarbouriech Verified some more of ecl_vm.
Mon, 12 Aug 2019 20:41:27 +0200 Emmanuel Gil Peyrot Add a parser for the stage background format.
Mon, 12 Aug 2019 15:10:39 +0200 Emmanuel Gil Peyrot Use the requested rank in eclrenderer.
Mon, 12 Aug 2019 15:10:19 +0200 Emmanuel Gil Peyrot Don’t allocate a Vec while reading a String in ECL.
Mon, 12 Aug 2019 15:09:53 +0200 Emmanuel Gil Peyrot Use the correct half-size of the hitbox.
Mon, 12 Aug 2019 15:09:34 +0200 Emmanuel Gil Peyrot Implement update_mode 1 on enemy.
Mon, 12 Aug 2019 00:22:25 +0200 Emmanuel Gil Peyrot Implement ECL instruction 98, for directional sprites.
Sun, 11 Aug 2019 20:14:20 +0200 Emmanuel Gil Peyrot Make rank user-defined in eclrenderer.
Sun, 11 Aug 2019 19:55:45 +0200 Emmanuel Gil Peyrot Use bitflags for the rank, instead of an u16.
Sun, 11 Aug 2019 18:19:19 +0200 Emmanuel Gil Peyrot Implement EclRunner::set_i32 and EclRunner::set_f32.
Sun, 11 Aug 2019 18:14:01 +0200 Emmanuel Gil Peyrot Implement Enemy::update(), which now renders the first fairy from stage 1 perfectly!
Sat, 10 Aug 2019 21:04:54 +0200 Emmanuel Gil Peyrot Implement enough instructions to execute sub 0 from stage 1.
Sat, 10 Aug 2019 14:41:30 +0200 Emmanuel Gil Peyrot Make ecl_vm compile, and use it in eclrenderer (doesn’t render yet).
Fri, 09 Aug 2019 04:25:43 +0200 Gauvain "GovanifY" Roussel-Tarbouriech Yet more ecl.
Sat, 10 Aug 2019 12:48:01 +0200 Emmanuel Gil Peyrot Add a contructor for enemy, and a new example.
Fri, 09 Aug 2019 01:36:47 +0200 Emmanuel Gil Peyrot Port the Enemy struct from Python, for now without its methods.
Fri, 09 Aug 2019 01:03:43 +0200 Emmanuel Gil Peyrot Add a simpler Sprite::new() which doesn’t override width/height.
Thu, 08 Aug 2019 17:01:42 +0200 Gauvain "GovanifY" Roussel-Tarbouriech More ECL stuff.
Thu, 08 Aug 2019 16:42:25 +0200 Gauvain "GovanifY" Roussel-Tarbouriech Up to instruction 34 validated.
Thu, 08 Aug 2019 16:03:38 +0200 Gauvain "GovanifY" Roussel-Tarbouriech Some starting point for ecl_vm.