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.
|
Thu, 08 Aug 2019 17:19:30 +0200 |
Emmanuel Gil Peyrot |
Add the two generated Rust artifacts to the .hgignore file.
|
Thu, 08 Aug 2019 17:13:20 +0200 |
Emmanuel Gil Peyrot |
Fix SHIFT_JIS parsing to not include nul bytes.
|
Thu, 08 Aug 2019 17:03:00 +0200 |
Emmanuel Gil Peyrot |
Add an ECL parser.
|
Thu, 08 Aug 2019 13:39:28 +0200 |
Emmanuel Gil Peyrot |
Use the merged name of RGB in AnmRenderer.
|
Thu, 08 Aug 2019 13:38:31 +0200 |
Emmanuel Gil Peyrot |
Fix AnmRunner instance in test (requires Prng).
|
Sun, 04 Aug 2019 00:07:46 +0200 |
Gauvain "GovanifY" Roussel-Tarbouriech |
Double checked prng.
|
Sat, 03 Aug 2019 23:30:15 +0200 |
Emmanuel Gil Peyrot |
Add a PRNG and use it for anm0 instruction 16.
|
Sat, 03 Aug 2019 22:44:36 +0200 |
Emmanuel Gil Peyrot |
Don’t hardcode my home directory in tests.
|
Sat, 03 Aug 2019 22:44:01 +0200 |
Emmanuel Gil Peyrot |
Remove unused variables.
|
Fri, 02 Aug 2019 20:24:45 +0200 |
Emmanuel Gil Peyrot |
Add an anmrenderer binary.
|
Sun, 07 Jul 2019 12:19:50 +0200 |
Emmanuel Gil Peyrot |
Move interpolators in another module.
|
Sun, 07 Jul 2019 12:17:42 +0200 |
Emmanuel Gil Peyrot |
Implement and use interpolators.
|
Thu, 04 Jul 2019 21:47:53 +0200 |
Emmanuel Gil Peyrot |
Implement better defaults for Sprite, and a beginning of
|
Thu, 04 Jul 2019 15:21:46 +0200 |
Emmanuel Gil Peyrot |
Implement AnmRunner.
|
Wed, 03 Jul 2019 22:17:04 +0200 |
Emmanuel Gil Peyrot |
Add anm0 support.
|
Wed, 03 Jul 2019 16:27:12 +0200 |
Emmanuel Gil Peyrot |
Hello Rust!
|
Sun, 14 May 2017 20:14:03 +0100 |
Emmanuel Gil Peyrot |
Add a GLFW implementation of gui.Window.
|
Thu, 14 Apr 2016 21:18:03 +0100 |
Emmanuel Gil Peyrot |
Make sdl.Window inherit from gui.Window, so we can swap implementations.
|
Thu, 09 Jul 2015 22:18:30 +0100 |
Emmanuel Gil Peyrot |
Use the number of cores available for parallel compilation, instead of an hardcoded 4 threads.
|
Sat, 23 May 2015 11:54:20 +0200 |
Emmanuel Gil Peyrot |
package_data doesn’t work with no package specified, add the pytouhou package back.
|
Wed, 20 May 2015 20:38:33 +0200 |
Emmanuel Gil Peyrot |
Remove the music.py script, which was broken since the move to SDL2… long ago.
|
Tue, 05 May 2015 14:49:22 +0200 |
Emmanuel Gil Peyrot |
Move Particle to its own module, to not pollute pytouhou.game.effect.
|
Tue, 05 May 2015 13:34:57 +0200 |
Emmanuel Gil Peyrot |
Include all of the modules during cx_Freeze, and don’t prevent multi-threaded Cython compilation on non-Windows platforms.
|
Tue, 05 May 2015 13:32:56 +0200 |
Emmanuel Gil Peyrot |
Use the current revision as the version number.
|
Sun, 19 Apr 2015 19:08:39 +0200 |
Emmanuel Gil Peyrot |
Partially revert 98603f2c32b4, as the creation of a .h file made some checking tools unhappy.
|
Thu, 05 Mar 2015 20:36:41 +0100 |
Emmanuel Gil Peyrot |
Use a specific vbo/vao pair for text rendering.
|
Thu, 09 Apr 2015 12:06:44 +0200 |
Emmanuel Gil Peyrot |
Fix (again…) the OSX and Win32 build.
|
Wed, 08 Apr 2015 20:13:12 +0200 |
Emmanuel Gil Peyrot |
Cast things closer to their usage, in Item.
|
Wed, 08 Apr 2015 20:11:13 +0200 |
Emmanuel Gil Peyrot |
Simplify the invert code in Animation.
|
Wed, 08 Apr 2015 18:53:13 +0200 |
Emmanuel Gil Peyrot |
Don’t load stg?enm.anm two times if there is no stg?enm2.anm.
|
Wed, 08 Apr 2015 15:05:34 +0200 |
Emmanuel Gil Peyrot |
Reduce the precision of Sprite’s variables.
|
Thu, 02 Apr 2015 17:41:17 +0200 |
Emmanuel Gil Peyrot |
Fix OSX and Windows build, by renaming a forgotten variable.
|
Wed, 01 Apr 2015 02:28:54 +0200 |
Emmanuel Gil Peyrot |
Remove 3d scaling code for matrix, as it isn’t used anywhere in the codebase.
|
Tue, 31 Mar 2015 21:26:00 +0200 |
Emmanuel Gil Peyrot |
Use two passes for the module search, and clean it up so that pure Python modules don’t get compiled by default.
|
Mon, 30 Mar 2015 21:00:29 +0200 |
Emmanuel Gil Peyrot |
Fix a build issue introduced in the previous commit. Damn you, cython dependency tracking!
|
Sun, 29 Mar 2015 00:08:20 +0100 |
Emmanuel Gil Peyrot |
Change all “void except *” function into “bint except True”, to prevent PyErr_Occurred() from being called at each call.
|
Sat, 28 Mar 2015 23:21:15 +0100 |
Emmanuel Gil Peyrot |
Remove every case where an exception could be silently eaten by a cdef function.
|
Sat, 28 Mar 2015 21:40:51 +0100 |
Emmanuel Gil Peyrot |
Don’t inherit explicitely from object, we are not on Python 2.7 anymore. :)
|
Sat, 28 Mar 2015 21:02:05 +0100 |
Emmanuel Gil Peyrot |
Delay power assignment to players until the game is started.
|
Sat, 28 Mar 2015 19:58:50 +0100 |
Emmanuel Gil Peyrot |
Don’t uselessly malloc() a matrix for multiply, the stack is here for that!
|
Thu, 26 Mar 2015 20:20:37 +0100 |
Emmanuel Gil Peyrot |
Request a RGB888 context, since SDL2’s default of RGB332 sucks.
|
Sun, 21 Dec 2014 19:15:59 +0100 |
Emmanuel Gil Peyrot |
Add back a GL_QUADS path for legacy applications.
|
Sun, 21 Dec 2014 18:52:18 +0100 |
Emmanuel Gil Peyrot |
Move the passthrough shader to the Framebuffer class, since it isn’t used in the use_framebuffer_blit path.
|
Sun, 21 Dec 2014 18:10:23 +0100 |
Emmanuel Gil Peyrot |
Remove generic usage of GL_DRAW_FRAMEBUFFER which was introduced in GL 3.0 with framebuffer_blit.
|
Wed, 26 Nov 2014 14:00:17 +0100 |
Emmanuel Gil Peyrot |
Make ANM0 pure-python again, by moving the Cython-dependent ANM class into its own module.
|
Wed, 26 Nov 2014 13:37:07 +0100 |
Emmanuel Gil Peyrot |
Actually compile under 3.x feature level.
|
Wed, 26 Nov 2014 13:36:38 +0100 |
Emmanuel Gil Peyrot |
Fix compilation under Cython 0.22, by making the pyx and the pxd declarations’ except clause similar.
|
Tue, 11 Nov 2014 17:06:50 +0100 |
Thibaut Girka |
Mention Python 3 in the README…
|
Tue, 11 Nov 2014 15:46:31 +0100 |
Thibaut Girka |
Fix compiling issues with Cython 0.20 ; don't pretend to concat shader sources
|
Tue, 04 Nov 2014 16:44:59 +0100 |
Emmanuel Gil Peyrot |
Display the traceback on module load error.
|
Sat, 25 Oct 2014 20:02:56 +0200 |
Emmanuel Gil Peyrot |
Don’t crash when a sound file isn’t present in the resources.
|
Sat, 25 Oct 2014 18:57:10 +0200 |
Emmanuel Gil Peyrot |
Make sample data build again.
|
Sat, 25 Oct 2014 18:52:56 +0200 |
Emmanuel Gil Peyrot |
Add a sample character.
|
Sat, 25 Oct 2014 18:52:21 +0200 |
Emmanuel Gil Peyrot |
Add a sample Python ECL.
|
Sat, 25 Oct 2014 18:52:17 +0200 |
Emmanuel Gil Peyrot |
Add a sample game.
|
Sat, 25 Oct 2014 18:52:16 +0200 |
Emmanuel Gil Peyrot |
Don’t hardcode the available games and interfaces, and relocation them.
|
Sat, 25 Oct 2014 18:49:41 +0200 |
Emmanuel Gil Peyrot |
Fix a regression introduced in the previous commit when the interface has a different resolution than 640×480 and framebuffer_blit is enabled.
|
Sun, 19 Oct 2014 17:22:26 +0200 |
Emmanuel Gil Peyrot |
Fix legacy OpenGL support, and detect the absence of non-legacy context with libepoxy.
|
Sat, 18 Oct 2014 18:04:43 +0200 |
Emmanuel Gil Peyrot |
Make frameskip actually skip the rendering part, not just the buffer swap.
|
Thu, 16 Oct 2014 21:40:54 +0200 |
Emmanuel Gil Peyrot |
Only selects between GL_TRIANGLE_STRIP and GL_TRIANGLES once, in the backend.
|
Wed, 23 Apr 2014 19:19:32 +0200 |
Emmanuel Gil Peyrot |
Add the screenshot feature, using P or Home like the original game.
|
Wed, 15 Oct 2014 13:17:07 +0200 |
Emmanuel Gil Peyrot |
Make the SDLError exception class automatically call SDL_GetError().
|
Tue, 30 Sep 2014 17:14:24 +0200 |
Emmanuel Gil Peyrot |
Switch to Python 3.x instead of 2.7.
|
Fri, 10 Oct 2014 15:59:11 +0200 |
Emmanuel Gil Peyrot |
Add a frameskip option, and use swap interval to implement it.
|
Wed, 08 Oct 2014 19:20:15 +0200 |
Emmanuel Gil Peyrot |
Prevent a traceback when we call Window.run without a runner set.
|
Wed, 08 Oct 2014 18:34:27 +0200 |
Emmanuel Gil Peyrot |
Use ARB_framebuffer_blit instead of a second rendering pass for scaled rendering, if supported, and remove framebuffer stuff from the Renderer.
|
Wed, 08 Oct 2014 16:34:24 +0200 |
Emmanuel Gil Peyrot |
Simplify framebuffer rendering with glDrawArrays, and move it all to its own file.
|
Wed, 08 Oct 2014 14:28:37 +0200 |
Emmanuel Gil Peyrot |
Use primitive-restart to lower the size of our ibo, if supported.
|
Wed, 08 Oct 2014 13:21:03 +0200 |
Emmanuel Gil Peyrot |
Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
|
Sun, 05 Oct 2014 20:38:06 +0200 |
Emmanuel Gil Peyrot |
Use libepoxy to discover the actual GL version we are using, and available extensions.
|
Sun, 05 Oct 2014 17:46:51 +0200 |
Emmanuel Gil Peyrot |
Don’t call gl*DebugGroup if it isn’t exposed by the driver.
|
Sun, 07 Sep 2014 13:26:41 +0200 |
Emmanuel Gil Peyrot |
Fix a compilation issue on Cython 0.20.
|
Thu, 04 Sep 2014 21:07:45 +0200 |
Emmanuel Gil Peyrot |
Make setup.py chdir into our root directory, to prevent it to fail when called from elsewhere.
|
Sun, 17 Aug 2014 16:16:58 +0200 |
Emmanuel Gil Peyrot |
Add grouping for OpenGL calls, making traces much more readable.
|
Mon, 04 Aug 2014 18:18:55 +0200 |
Emmanuel Gil Peyrot |
Make Runner.update callable from Python code.
|
Wed, 06 Aug 2014 10:50:19 +0200 |
Emmanuel Gil Peyrot |
Move NextStage outside of pytouhou.vm.msg, to be able to use it from anywhere without dependency on EoSD.
|
Tue, 12 Aug 2014 15:07:54 +0200 |
Emmanuel Gil Peyrot |
Allow setup.py to be called without arguments.
|
Sat, 26 Jul 2014 14:46:03 +0200 |
Emmanuel Gil Peyrot |
Don’t log every instruction executed, nobody is interested in that, and demote unhandled opcodes to debug.
|
Sat, 26 Jul 2014 13:07:26 +0200 |
Emmanuel Gil Peyrot |
Give extra lives to the player once she has reached a certain score, and increment the default score on continue.
|
Sat, 26 Jul 2014 01:04:24 +0200 |
Emmanuel Gil Peyrot |
Require GTK+ 3.10 instead of 3.12, since it’s the version available in Ubuntu 14.04.
|
Wed, 09 Jul 2014 23:44:53 +0200 |
Emmanuel Gil Peyrot |
Include the Glade file in the main package on install.
|
Thu, 10 Jul 2014 14:35:02 +0200 |
Emmanuel Gil Peyrot |
Give point items a score even when collected bellow the Point of Collection.
|
Thu, 10 Jul 2014 13:53:46 +0200 |
Emmanuel Gil Peyrot |
Don’t traceback when GTK+ isn’t available.
|
Wed, 09 Jul 2014 16:46:55 +0200 |
Emmanuel Gil Peyrot |
Don’t render spellcard background when --no-background is passed.
|
Tue, 01 Jul 2014 23:18:15 +0200 |
Emmanuel Gil Peyrot |
Add a GTK+ main menu, mimicking the original EoSD one.
|
Tue, 01 Jul 2014 23:17:40 +0200 |
Emmanuel Gil Peyrot |
Add a configuration parser, and pass those options to argparse as defaults. Also include an xdg helper.
|
Mon, 30 Jun 2014 20:37:52 +0200 |
Emmanuel Gil Peyrot |
Move all logging logic to the root logger, we don’t need specific handlers anymore.
|
Wed, 18 Jun 2014 22:39:11 +0200 |
Emmanuel Gil Peyrot |
Move CLI options to their own module.
|
Thu, 12 Jun 2014 18:41:01 +0200 |
Emmanuel Gil Peyrot |
Make Enemy.get_angle able to target any Element, not only Player.
|
Thu, 12 Jun 2014 18:40:21 +0200 |
Emmanuel Gil Peyrot |
Fix Windows build, the shaders package was skipped.
|
Thu, 05 Jun 2014 18:48:24 +0200 |
Emmanuel Gil Peyrot |
Fail when libepoxy can’t be found, pass --disable-opengl to skip the OpenGL backend compilation.
|
Thu, 05 Jun 2014 18:47:31 +0200 |
Emmanuel Gil Peyrot |
Use logging for errors in the pytouhou script.
|
Fri, 30 May 2014 16:51:38 +0200 |
Emmanuel Gil Peyrot |
Remove all reference to the old fixed pipeline option in the OpenGL backend, use the newer is_legacy one.
|
Fri, 30 May 2014 16:40:36 +0200 |
Emmanuel Gil Peyrot |
Get OpenGL ES 2.0 to work thanks to libepoxy. PCB textures will need swizzle in the shaders since BGRA isn’t natively supported on GLES.
|
Thu, 12 Dec 2013 13:47:17 +0100 |
Emmanuel Gil Peyrot |
Use vertex array objects, to be compatible with OpenGL 3.1+ core profile.
|
Fri, 30 May 2014 16:40:36 +0200 |
Emmanuel Gil Peyrot |
Don’t hardcode GLSL version in our shaders, instead make them dependent on GL version.
|
Fri, 30 May 2014 16:40:36 +0200 |
Emmanuel Gil Peyrot |
Make the OpenGL flavor and version options work.
|
Sat, 19 Apr 2014 19:05:06 +0200 |
Emmanuel Gil Peyrot |
Switch to libepoxy instead of libGLEW, which will help with OpenGL portability.
|
Fri, 30 May 2014 04:06:09 +0200 |
Emmanuel Gil Peyrot |
Make both double- and single-buffer available on the CLI, but default to SDL’s default.
|
Thu, 29 May 2014 12:31:55 +0200 |
Emmanuel Gil Peyrot |
Refactor graphics backend selection, to make them fallbackable and optional.
|
Tue, 27 May 2014 19:25:33 +0200 |
Emmanuel Gil Peyrot |
Don’t store framerate limit in the Window while it already is in the Clock.
|
Tue, 27 May 2014 17:41:52 +0200 |
Emmanuel Gil Peyrot |
Don’t display spellcard backgrounds either with the SDL backend.
|
Mon, 26 May 2014 00:20:26 +0200 |
Emmanuel Gil Peyrot |
Use the correct division factor for player bullets’ cancellation.
|
Fri, 08 Nov 2013 18:48:30 +0100 |
Emmanuel Gil Peyrot |
Add a very simple sample interface.
|
Wed, 21 May 2014 20:56:53 +0200 |
Emmanuel Gil Peyrot |
Make EoSDInterface separate from EoSD game.
|
Fri, 08 Nov 2013 18:47:00 +0100 |
Emmanuel Gil Peyrot |
Always import runners from pytouhou.vm, to allow their replacement.
|
Wed, 21 May 2014 20:52:42 +0200 |
Emmanuel Gil Peyrot |
Rename the eosd script into pytouhou, and remove the obsolete pcb one.
|
Thu, 15 May 2014 20:14:54 +0200 |
Emmanuel Gil Peyrot |
Set boss mode directly from the enemy.
|
Thu, 15 May 2014 02:56:08 +0200 |
Emmanuel Gil Peyrot |
Implement text rendering for the SDL backend.
|
Sat, 10 May 2014 23:40:13 +0200 |
Emmanuel Gil Peyrot |
Automatically fallback on the SDL renderer if the OpenGL one can’t be imported.
|
Sun, 11 May 2014 13:16:19 +0200 |
Emmanuel Gil Peyrot |
Add a hack to prevent `setup.py clean` from compiling Cython files.
|
Tue, 06 May 2014 20:04:10 +0200 |
Emmanuel Gil Peyrot |
Fix Windows and OSX build by making pkg-config optional and assuming every dependency is available.
|
Sat, 10 May 2014 22:20:22 +0200 |
Emmanuel Gil Peyrot |
Fix warnings introduced in Cython 0.20, when more than one pointer is defined on the same line.
|
Tue, 06 May 2014 20:12:08 +0200 |
Emmanuel Gil Peyrot |
Fix text sometimes being drawn with a wrong blend func.
|
Thu, 24 Apr 2014 20:01:42 +0200 |
Emmanuel Gil Peyrot |
Don’t retrieve the keyboard_state pointer at each frame.
|
Sat, 19 Apr 2014 19:03:38 +0200 |
Emmanuel Gil Peyrot |
Fix a segfault happening at exit time on Windows.
|
Sat, 05 Apr 2014 18:53:48 +0200 |
Emmanuel Gil Peyrot |
Make archives return files by default, instead of bytes.
|
Sat, 05 Apr 2014 13:51:31 +0200 |
Emmanuel Gil Peyrot |
Don’t stop music loading if the pos file isn’t found.
|
Sat, 05 Apr 2014 13:40:45 +0200 |
Emmanuel Gil Peyrot |
Move options to logical groups, to make the help a bit less dry; and disable friendly-fire by default.
|
Mon, 10 Feb 2014 18:03:50 +0100 |
Emmanuel Gil Peyrot |
Optimise Clock a bit more.
|
Thu, 19 Dec 2013 21:55:26 +0100 |
Emmanuel Gil Peyrot |
Don’t put back the rendering data into a tuple, use a specialised struct inside Sprite to pass it to the renderer.
|
Thu, 19 Dec 2013 00:44:18 +0100 |
Emmanuel Gil Peyrot |
Display important messages in popups, instead of the terminal.
|
Thu, 27 Mar 2014 21:30:04 +0100 |
Emmanuel Gil Peyrot |
Replace the --no-music option with --no-sound, disabling sound rendering altogether.
|
Sun, 23 Mar 2014 10:51:19 +0100 |
Emmanuel Gil Peyrot |
Always verify chunks are not None before using them, fix crash when audio is disabled.
|
Wed, 18 Dec 2013 22:36:23 +0100 |
Emmanuel Gil Peyrot |
Inherit music players from a base class.
|
Wed, 18 Dec 2013 18:19:08 +0100 |
Emmanuel Gil Peyrot |
Use Sprite C arrays instead of their tuple representation where it makes sense.
|
Wed, 18 Dec 2013 18:15:45 +0100 |
Emmanuel Gil Peyrot |
Store data in C arrays in Sprite, and add an interface to access them as tuples.
|
Wed, 18 Dec 2013 18:15:45 +0100 |
Emmanuel Gil Peyrot |
Precalculate the inverse of the texture size at ANM load, to not recalculate at every sprite change.
|
Wed, 18 Dec 2013 18:15:40 +0100 |
Emmanuel Gil Peyrot |
Make vector a struct, allocate it directly on the stack, and thus pass it by copy, which is much less expensive than a python allocation.
|
Wed, 18 Dec 2013 17:53:29 +0100 |
Emmanuel Gil Peyrot |
Make matrix a struct.
|
Wed, 18 Dec 2013 17:53:16 +0100 |
Emmanuel Gil Peyrot |
Add a compilation option to disable anmviewer.
|
Wed, 18 Dec 2013 17:10:21 +0100 |
Emmanuel Gil Peyrot |
Add a debug option to enable HTML annotations, type inference display and profiling.
|
Thu, 12 Dec 2013 13:15:43 +0100 |
Emmanuel Gil Peyrot |
Store the indices of the framebuffer in a static ibo.
|
Sat, 07 Dec 2013 22:16:38 +0100 |
Emmanuel Gil Peyrot |
Optimise background rendering.
|
Sat, 07 Dec 2013 14:15:43 +0100 |
Emmanuel Gil Peyrot |
Use shorts instead of ints for vertex position, reducing the size of a vertex to 20 bytes from 24.
|
Sat, 07 Dec 2013 21:37:55 +0100 |
Emmanuel Gil Peyrot |
Don’t crash if SDL2_ttf couldn’t render a specific string.
|
Sun, 11 May 2014 20:25:07 +0200 |
Emmanuel Gil Peyrot |
Merge the lists Game.texts and Game.native_texts into the Game.texts dict.
|
Fri, 06 Dec 2013 19:02:42 +0100 |
Emmanuel Gil Peyrot |
Add an indirection layer for textures, to cope with drivers assigning them random names.
|
Thu, 05 Dec 2013 20:40:11 +0100 |
Emmanuel Gil Peyrot |
Remove some useless optimisations now that cython does them for us.
|
Thu, 05 Dec 2013 02:16:31 +0100 |
Emmanuel Gil Peyrot |
Move the OpenGL backend to its own package.
|
Thu, 05 Dec 2013 01:55:39 +0100 |
Emmanuel Gil Peyrot |
Add a pure SDL backend.
|
Thu, 28 Nov 2013 18:55:43 +0100 |
Emmanuel Gil Peyrot |
Don’t type the renderer in GameRunner, so that we can switch it without type issues.
|
Thu, 05 Dec 2013 01:40:31 +0100 |
Emmanuel Gil Peyrot |
Make Window able to not initialise OpenGL.
|
Mon, 25 Nov 2013 19:12:56 +0100 |
Emmanuel Gil Peyrot |
Some more type optimisations.
|
Tue, 19 Nov 2013 14:19:14 +0100 |
Emmanuel Gil Peyrot |
Make GameRunner entirely independent of Window or GameRenderer, so we can run a game without display.
|
Sun, 17 Nov 2013 17:36:47 +0100 |
Emmanuel Gil Peyrot |
Divide the damages inflicted by the number of players.
|
Fri, 01 Nov 2013 14:45:53 +0100 |
Emmanuel Gil Peyrot |
Don’t compile useless packages.
|
Fri, 01 Nov 2013 14:45:53 +0100 |
Emmanuel Gil Peyrot |
Manage the texture-specific indices in the Texture, and some more renderer optimisations.
|
Wed, 23 Oct 2013 18:24:17 +0200 |
Emmanuel Gil Peyrot |
Make ANM garbage collectable.
|
Fri, 04 Oct 2013 14:27:11 +0200 |
Emmanuel Gil Peyrot |
Optimize GameRunner some more, fix replay, and remove Window dependency in Renderer.
|
Wed, 23 Oct 2013 18:24:08 +0200 |
Emmanuel Gil Peyrot |
Disallow collection of items dropped by the other player in netplay, also fixes a longstanding bug where autocollection worked with those items.
|
Wed, 23 Oct 2013 18:24:07 +0200 |
Emmanuel Gil Peyrot |
Make SDL(sound=False) work again, and disable sound if an exception occurs while setting it up.
|
Fri, 08 Nov 2013 13:40:53 +0100 |
Thibaut Girka |
[Boss rush] Mark removed lasers as such
|
Fri, 08 Nov 2013 13:24:37 +0100 |
Thibaut Girka |
Fix boss mode
|
Mon, 14 Oct 2013 12:45:21 +0200 |
Emmanuel Gil Peyrot |
Actually consume a bomb when using it, make the player invulnerable for a certain time, and implement deathbomb.
|
Mon, 14 Oct 2013 12:20:55 +0200 |
Emmanuel Gil Peyrot |
Make enemy callbacks programmables.
|
Mon, 14 Oct 2013 12:20:39 +0200 |
Emmanuel Gil Peyrot |
Test target FPS for natural instead of non-zero.
|
Mon, 14 Oct 2013 12:12:52 +0200 |
Emmanuel Gil Peyrot |
Drop an useless dependency on Player from Orb, on Game from Laser.
|
Mon, 14 Oct 2013 12:11:01 +0200 |
Emmanuel Gil Peyrot |
Merge PlayerState into Player, fix player respawn position.
|
Sat, 05 Oct 2013 22:00:53 +0200 |
Emmanuel Gil Peyrot |
Use a cached static float[16] instead of a list for default Matrix data.
|
Sat, 21 Sep 2013 20:26:39 +0200 |
Emmanuel Gil Peyrot |
Add friendly fire in netplay.
|
Fri, 04 Oct 2013 14:32:28 +0200 |
Emmanuel Gil Peyrot |
Fix gcc’s warnings with -Wall -Wextra.
|
Fri, 04 Oct 2013 14:28:49 +0200 |
Emmanuel Gil Peyrot |
Decrease PBG3 loading time by improving lzss and bitstream integration.
|
Fri, 04 Oct 2013 11:19:04 +0200 |
Emmanuel Gil Peyrot |
Remove identity lambda for interpolators, improves performances slightly.
|
Fri, 04 Oct 2013 11:11:02 +0200 |
Emmanuel Gil Peyrot |
Don’t compile files that don’t benefit from static typing.
|
Sat, 28 Sep 2013 20:11:41 +0200 |
Emmanuel Gil Peyrot |
Various netplay-related fixes.
|
Fri, 27 Sep 2013 19:01:47 +0200 |
Emmanuel Gil Peyrot |
Merge netplay branch.
|
Sun, 15 Jan 2012 15:36:23 +0100 |
Thibaut Girka |
Improve network latency by increasing game latency to 3 frames.
|
Thu, 29 Dec 2011 10:35:54 +0100 |
Thibaut Girka |
Don't stick with the remote user unless the game has started, avoid skipping to prevent desynchro
|
Thu, 29 Dec 2011 01:10:34 +0100 |
Thibaut Girka |
Remove useless checksum, and wait as long as possible for valid packets (do not stop waiting on invalid packets)
|
Wed, 28 Dec 2011 21:32:30 +0100 |
Thibaut Girka |
Fix a synchro issue... again...
|
Wed, 28 Dec 2011 21:09:55 +0100 |
Thibaut Girka |
Fix synchro bug
|
Wed, 28 Dec 2011 19:47:29 +0100 |
Thibaut Girka |
Hopefully improve performance
|
Wed, 28 Dec 2011 19:42:48 +0100 |
Thibaut Girka |
Fix several synchro issues
|
Wed, 28 Dec 2011 19:09:14 +0100 |
Thibaut Girka |
Fix synchro bug
|
Wed, 28 Dec 2011 19:07:37 +0100 |
Thibaut Girka |
Wait a bit for incoming messages...
|
Wed, 28 Dec 2011 18:47:37 +0100 |
Thibaut Girka |
Fix consistency
|
Wed, 28 Dec 2011 18:45:09 +0100 |
Thibaut Girka |
Experimental netplay! Yay!
|
Fri, 27 Sep 2013 18:02:04 +0200 |
Thibaut Girka |
Fix a crash when handling non-ascii paths
|
Mon, 16 Sep 2013 18:42:12 +0200 |
Emmanuel Gil Peyrot |
Cythonize pytouhou.game.text.
|
Mon, 16 Sep 2013 18:42:04 +0200 |
Emmanuel Gil Peyrot |
Type bullettype, itemtype and lasertype a bit.
|
Mon, 16 Sep 2013 18:42:04 +0200 |
Emmanuel Gil Peyrot |
Make Laser and Orb extension types, and use that where possible.
|
Mon, 16 Sep 2013 18:41:51 +0200 |
Emmanuel Gil Peyrot |
Reset ANMRunner.sprite_index_offset after the first frame, fixes bullettype 7; also forbid glitch bullet types.
|
Sat, 14 Sep 2013 01:05:42 +0200 |
Emmanuel Gil Peyrot |
Move SDL context-manager and Window creation outside of main.
|
Thu, 12 Sep 2013 15:47:08 +0200 |
Emmanuel Gil Peyrot |
Add “except *” to cdef void functions, and type some more.
|
Thu, 12 Sep 2013 14:43:38 +0200 |
Thibaut Girka |
Fix lasers sprite handling
|
Thu, 12 Sep 2013 11:59:24 +0200 |
Emmanuel Gil Peyrot |
Revert a change in 78e1c3864e73, causing boss rush to not destroy any standard enemy.
|
Wed, 11 Sep 2013 16:03:55 +0200 |
Emmanuel Gil Peyrot |
Move continues to PlayerState, and make sure they aren’t reinitialized before each stage.
|
Wed, 11 Sep 2013 15:55:19 +0200 |
Emmanuel Gil Peyrot |
Make the window resizable, and scale its content correctly.
|
Wed, 11 Sep 2013 00:36:52 +0200 |
Emmanuel Gil Peyrot |
Make GameRunner inherit from a Runner base class, to bypass Python calls in Window.
|
Wed, 11 Sep 2013 00:36:50 +0200 |
Emmanuel Gil Peyrot |
Render to framebuffers first, and reposition some interface elements in the game area.
|
Wed, 11 Sep 2013 00:35:49 +0200 |
Emmanuel Gil Peyrot |
Make NativeText work with the fixed pipeline.
|
Fri, 06 Sep 2013 23:29:19 +0200 |
Emmanuel Gil Peyrot |
Add a context manager to initialize and shut down SDL outside of Window.
|
Fri, 06 Sep 2013 22:35:54 +0200 |
Emmanuel Gil Peyrot |
Move every rendering function from gamerunner to gamerenderer.
|
Thu, 05 Sep 2013 23:11:54 +0200 |
Emmanuel Gil Peyrot |
Make pytouhou.ui.{window,shader,game{runner,renderer}} extension types.
|
Sat, 10 Aug 2013 13:36:42 +0200 |
Emmanuel Gil Peyrot |
Display the name of a spellcard and the face of its invoker.
|
Tue, 16 Jul 2013 21:11:40 +0200 |
Emmanuel Gil Peyrot |
Add native text support, MSG instructions 3 and 8, and text at the beginning of a stage.
|
Mon, 02 Sep 2013 22:16:38 +0200 |
Emmanuel Gil Peyrot |
Make pytouhou.lib.sdl cimportable, and convert pytouhou.ui.window.* to extension types.
|
Sat, 31 Aug 2013 07:39:04 +0200 |
Emmanuel Gil Peyrot |
Add an option to choose which game to play; currently only EoSD is supported.
|
Fri, 30 Aug 2013 23:32:36 +0200 |
Thibaut Girka |
Raise an exception if GL context creation fails instead of failing silently.
|
Fri, 30 Aug 2013 20:38:02 +0200 |
Thibaut Girka |
By default, only enable fps limiting if vsync doesn't do the job.
|
Fri, 30 Aug 2013 20:04:39 +0200 |
Emmanuel Gil Peyrot |
Give a friendlier error message if pkg-config isn’t found.
|
Fri, 30 Aug 2013 18:21:07 +0200 |
Emmanuel Gil Peyrot |
Add back Windows support, using GLEW for OpenGL.
|
Sat, 03 Aug 2013 15:49:11 +0200 |
Emmanuel Gil Peyrot |
Improve render_elements’ speed a lot, and fix it in some corner cases. Thanks liori!
|
Sat, 17 Aug 2013 17:44:11 +0200 |
Emmanuel Gil Peyrot |
Make Bullet.state an enum.
|
Sat, 17 Aug 2013 06:29:53 +0200 |
Emmanuel Gil Peyrot |
Make pytouhou.game.game an extension type.
|
Sat, 17 Aug 2013 06:01:45 +0200 |
Emmanuel Gil Peyrot |
Make pytouhou.game.item an extension type.
|
Sat, 17 Aug 2013 04:44:28 +0200 |
Emmanuel Gil Peyrot |
Make pytouhou.game.player an extension type, and move the GameOver exception there since it makes more sense.
|
Fri, 30 Aug 2013 14:16:08 +0200 |
Emmanuel Gil Peyrot |
Use a simple for loop to determine the power level of the player; fixes a traceback when the SHT has no shot at all.
|
Sat, 17 Aug 2013 02:36:05 +0200 |
Emmanuel Gil Peyrot |
Make pytouhou.game.effect an extension type.
|
Sat, 10 Aug 2013 15:21:39 +0200 |
Emmanuel Gil Peyrot |
Type Bullet more, to improve performances.
|
Sat, 10 Aug 2013 19:59:17 +0200 |
Emmanuel Gil Peyrot |
Make pytouhou.game.enemy an extension type.
|
Fri, 30 Aug 2013 14:16:08 +0200 |
Emmanuel Gil Peyrot |
Add a base Element class for every object in pytouhou.game.
|
Sat, 10 Aug 2013 20:48:17 +0200 |
Emmanuel Gil Peyrot |
Make pytouhou.game.sprite an extension type.
|
Sun, 11 Aug 2013 14:30:52 +0200 |
Emmanuel Gil Peyrot |
Make only one call to render_elements during interface rendering.
|
Wed, 07 Aug 2013 11:34:44 +0200 |
Emmanuel Gil Peyrot |
Make Interpolator an extension type.
|
Wed, 07 Aug 2013 11:34:42 +0200 |
Emmanuel Gil Peyrot |
Cythonize pytouhou.utils.maths and pytouhou.utils.vector.
|
Wed, 07 Aug 2013 11:34:40 +0200 |
Emmanuel Gil Peyrot |
Improve Matrix representation, using float[16] instead of imbricated python lists.
|
Sun, 11 Aug 2013 14:30:52 +0200 |
Emmanuel Gil Peyrot |
Move the common parts of EoSDGame outside, to not reallocate them at each stage.
|
Sun, 11 Aug 2013 14:23:50 +0200 |
Emmanuel Gil Peyrot |
Always run the first frame of an ANMRunner.
|
Sat, 10 Aug 2013 15:18:44 +0200 |
Emmanuel Gil Peyrot |
Split ANMRunner.run_frame into Sprite.update.
|
Fri, 30 Aug 2013 14:01:09 +0200 |
Emmanuel Gil Peyrot |
Use cythonize in setup.py, also compile .py files, and entirely remove pyximport support.
|
Sat, 03 Aug 2013 15:49:04 +0200 |
Emmanuel Gil Peyrot |
Remove AnmWrapper, since ANMs are lists of entries now.
|
Sat, 03 Aug 2013 15:48:57 +0200 |
Emmanuel Gil Peyrot |
Implement PCB’s ANM2 format and vm.
|
Tue, 16 Jul 2013 21:17:22 +0200 |
Emmanuel Gil Peyrot |
Remove all Loader uses from outside pytouhou.games, and add a --no-music option to disable bgm.
|
Sat, 03 Aug 2013 15:48:51 +0200 |
Emmanuel Gil Peyrot |
Move the depth buffer clear outside of scissor, as per apitrace’s advice.
|
Tue, 16 Jul 2013 21:11:35 +0200 |
Emmanuel Gil Peyrot |
Never keep texture on the host when it has been uploaded, and prevent them from being decoded again.
|
Tue, 16 Jul 2013 21:07:15 +0200 |
Emmanuel Gil Peyrot |
Make the anmviewer use the new architecture.
|
Tue, 16 Jul 2013 21:07:15 +0200 |
Emmanuel Gil Peyrot |
Make the Shader class use cython too.
|
Tue, 16 Jul 2013 21:07:15 +0200 |
Emmanuel Gil Peyrot |
Replace Pyglet with our own Cython OpenGL wrapper.
|
Tue, 16 Jul 2013 21:07:15 +0200 |
Emmanuel Gil Peyrot |
Refactor window management in its own class.
|
Tue, 16 Jul 2013 21:07:15 +0200 |
Emmanuel Gil Peyrot |
Add back music and SFX playback using SDL_mixer instead of pyglet, and add FLAC and Vorbis support.
|
Tue, 16 Jul 2013 21:07:15 +0200 |
Emmanuel Gil Peyrot |
Replace Pyglet’s image loader with our SDL2_image-based one.
|
Wed, 06 Feb 2013 18:45:12 +0100 |
Thibaut Girka |
Re-implement frame control
|
Tue, 16 Jul 2013 21:07:15 +0200 |
Emmanuel Gil Peyrot |
Replace Pyglet with SDL2 for window creation and events; disables framerate control/display and sound.
|
Thu, 22 Aug 2013 12:21:12 +0200 |
Emmanuel Gil Peyrot |
Remove the type of the self argument in extension types, as it clutters the code with useless information.
|
Tue, 16 Jul 2013 21:13:56 +0200 |
Emmanuel Gil Peyrot |
Importing everything makes the --help slow, call parse_args before the imports.
|
Tue, 16 Jul 2013 21:13:56 +0200 |
Emmanuel Gil Peyrot |
Add a --verbosity option, to disable logging for machines with a very slow terminal.
|
Sat, 22 Jun 2013 23:16:03 +0200 |
Emmanuel Gil Peyrot |
Follow the PEP-0394 guidelines, migrating from python to python2.
|
Wed, 12 Jun 2013 18:32:35 +0200 |
Emmanuel Gil Peyrot |
Let the gc do its work, don’t keep useless references.
|
Wed, 12 Jun 2013 18:30:08 +0200 |
Emmanuel Gil Peyrot |
Refactor the maths functions out of Renderer.
|
Wed, 12 Jun 2013 16:07:22 +0200 |
Emmanuel Gil Peyrot |
Remove indirect access to Matrix values.
|
Wed, 12 Jun 2013 16:03:30 +0200 |
Emmanuel Gil Peyrot |
Don’t render null-sized arrays of elements.
|
Wed, 12 Jun 2013 16:03:26 +0200 |
Emmanuel Gil Peyrot |
Move ascii_wrapper to the interface, as it is game-dependent.
|
Sun, 09 Jun 2013 22:54:33 +0200 |
Emmanuel Gil Peyrot |
Do the correct score calculation even when the enemy isn’t damageable.
|
Sun, 09 Jun 2013 22:53:25 +0200 |
Emmanuel Gil Peyrot |
Add a --no-particles option to remove particles.
|
Tue, 30 Apr 2013 01:48:25 +0200 |
Emmanuel Gil Peyrot |
Fix the --no-background option.
|
Sun, 24 Mar 2013 10:31:23 +0100 |
Emmanuel Gil Peyrot |
Make the anmviewer use the programmable pipeline too.
|
Sun, 24 Mar 2013 10:29:37 +0100 |
Emmanuel Gil Peyrot |
Add MoF’s hints support, and fix the Text timeout interface.
|
Sun, 17 Feb 2013 15:20:30 +0100 |
Emmanuel Gil Peyrot |
Move MSG faces management to pytouhou.game.game, they have nothing to do in the MSG VM.
|
Sat, 16 Feb 2013 19:31:29 +0100 |
Emmanuel Gil Peyrot |
Add a version attribute to ANM0 and latest discovered instruction.
|
Thu, 14 Feb 2013 20:07:23 +0100 |
Emmanuel Gil Peyrot |
Calculate the fog per-fragment and remove the fixed-pipeline glFog* functions; now both vertex shaders are the same.
|
Tue, 12 Feb 2013 19:27:10 +0100 |
Emmanuel Gil Peyrot |
Add support for MoF’s hint format.
|
Tue, 12 Feb 2013 19:19:31 +0100 |
Emmanuel Gil Peyrot |
Make the background use a single vbo and offsets, just like the 2D code.
|
Tue, 12 Feb 2013 18:20:49 +0100 |
Emmanuel Gil Peyrot |
Move the background rendering code to pytouhou.ui.renderer.
|
Wed, 06 Feb 2013 21:41:05 +0100 |
Emmanuel Gil Peyrot |
Don’t duplicate values in sprite rendering data.
|
Wed, 06 Feb 2013 21:19:20 +0100 |
Emmanuel Gil Peyrot |
Use Buffer Objects instead of host pointers.
|
Wed, 06 Feb 2013 21:01:45 +0100 |
Emmanuel Gil Peyrot |
Don’t change the vertex attributes for each texture.
|
Wed, 06 Feb 2013 20:57:16 +0100 |
Emmanuel Gil Peyrot |
Replace gl{Vertex,TexCoord,Color}Pointer with the more modern glVertexAttribPointer.
|
Wed, 06 Feb 2013 19:55:54 +0100 |
Emmanuel Gil Peyrot |
Implement THTX, uncompressed textures stored inside ANM files, and use it instead of pyglet’s own wrapper.
|
Mon, 07 Jan 2013 22:06:02 +0100 |
Emmanuel Gil Peyrot |
When merging RGB and alpha data, get the C arrays only at the start of the loop.
|
Mon, 07 Jan 2013 21:13:32 +0100 |
Emmanuel Gil Peyrot |
Convert pytouhou.ui.gamerenderer back to pure python, it doesn’t use or need any cython feature.
|
Mon, 12 Nov 2012 18:34:24 +0100 |
Emmanuel Gil Peyrot |
Use only half-size hitboxes for player.
|
Sun, 21 Oct 2012 23:02:41 +0200 |
Emmanuel Gil Peyrot |
Add "explosion", instruction 118.
|
Sun, 21 Oct 2012 23:02:40 +0200 |
Emmanuel Gil Peyrot |
Make particles behave as in the original game.
|
Sat, 20 Oct 2012 20:48:40 +0200 |
Emmanuel Gil Peyrot |
Display something at the start of a stage.
|
Sat, 20 Oct 2012 20:44:12 +0200 |
Emmanuel Gil Peyrot |
Cancel player lasers when she dies.
|
Sat, 20 Oct 2012 20:44:11 +0200 |
Emmanuel Gil Peyrot |
Add missing imports, and remove side-effects in asserts.
|
Tue, 02 Oct 2012 13:27:05 +0200 |
Emmanuel Gil Peyrot |
Make rendering of multiple-sprites elements work like single-sprites.
|
Fri, 07 Sep 2012 13:05:19 +0200 |
Emmanuel Gil Peyrot |
Replace wildcard imports with normal ones.
|
Fri, 07 Sep 2012 13:04:30 +0200 |
Emmanuel Gil Peyrot |
Fix the anmviewer, broken since changeset 370:74471afbac37.
|
Fri, 07 Sep 2012 12:54:40 +0200 |
Emmanuel Gil Peyrot |
Don’t hardcode background script for Widget.
|
Fri, 07 Sep 2012 12:54:38 +0200 |
Emmanuel Gil Peyrot |
Replace player position in game zone right after its move; fix shots offsets at boundaries.
|
Thu, 30 Aug 2012 11:34:56 +0200 |
Emmanuel Gil Peyrot |
Make a sound when an enemy is hit.
|
Wed, 29 Aug 2012 18:38:29 +0200 |
Emmanuel Gil Peyrot |
Add the debug feature to start a game at the end of a replay.
|
Wed, 29 Aug 2012 18:34:28 +0200 |
Emmanuel Gil Peyrot |
Add meaningful exceptions in format parsing.
|
Mon, 06 Aug 2012 23:10:09 +0200 |
Emmanuel Gil Peyrot |
Support more than one version of a vm.
|
Mon, 06 Aug 2012 23:01:33 +0200 |
Emmanuel Gil Peyrot |
Add an option to disable background.
|
Sun, 05 Aug 2012 18:19:42 +0200 |
Emmanuel Gil Peyrot |
Use an iterator to get the keystates from a replay.
|
Sun, 05 Aug 2012 16:37:26 +0200 |
Emmanuel Gil Peyrot |
Add the ability to save a replay.
|
Mon, 06 Aug 2012 22:52:22 +0200 |
Emmanuel Gil Peyrot |
Use a future-proof ECL parser.
|
Fri, 27 Jul 2012 18:57:40 +0200 |
Emmanuel Gil Peyrot |
Replace GL_QUADS with GL_TRIANGLES, to be GLES compatible.
|
Fri, 27 Jul 2012 18:43:48 +0200 |
Emmanuel Gil Peyrot |
Add a programmable pipeline renderer, and a --fixed-pipeline switch to use the old one.
|
Wed, 11 Jul 2012 15:38:15 +0200 |
Thibaut Girka |
Fix crash with the demo version of Touhou 6
|
Wed, 11 Jul 2012 15:19:44 +0200 |
Thibaut Girka |
Minor optimizations
|
Tue, 10 Jul 2012 00:25:08 +0200 |
Thibaut Girka |
Various optimizations
|
Mon, 09 Jul 2012 22:15:07 +0200 |
Thibaut Girka |
Fix Rumia on timeout
|
Mon, 09 Jul 2012 22:14:55 +0200 |
Thibaut Girka |
Add more information to ECL debug messages
|
Mon, 09 Jul 2012 22:13:52 +0200 |
Thibaut Girka |
Empty ECL stack when calling a callback.
|
Mon, 09 Jul 2012 22:12:04 +0200 |
Thibaut Girka |
Enable debug messages when using --debug
|
Mon, 09 Jul 2012 21:12:10 +0200 |
Thibaut Girka |
(partially?) implement ECL's instruction 133
|
Mon, 09 Jul 2012 21:11:46 +0200 |
Thibaut Girka |
Rename set_visible to set_invisible, since it's what it does...
|
Mon, 09 Jul 2012 21:10:38 +0200 |
Thibaut Girka |
Fix Flandre's QED: Ripples of 495 years
|
Mon, 09 Jul 2012 21:09:56 +0200 |
Thibaut Girka |
Fix crash in ECL's kill_enemies
|
Sun, 08 Jul 2012 01:23:47 +0200 |
Thibaut Girka |
Make bosses clean their mess when timeouting
|
Sun, 08 Jul 2012 01:20:47 +0200 |
Thibaut Girka |
Fix Koakuma
|
Sun, 08 Jul 2012 00:42:17 +0200 |
Thibaut Girka |
Fix crasher
|
Sat, 07 Jul 2012 23:16:03 +0200 |
Thibaut Girka |
Fix bullet cancellation... again...
|
Sat, 07 Jul 2012 23:06:15 +0200 |
Thibaut Girka |
Fix callbacks
|
Sat, 07 Jul 2012 21:48:58 +0200 |
Thibaut Girka |
Allow Z as well as W to shoot.
|
Sat, 07 Jul 2012 21:47:51 +0200 |
Thibaut Girka |
Clean up effects left behind by lasers in boss rush mode
|
Sat, 07 Jul 2012 21:33:17 +0200 |
Thibaut Girka |
Fix timeout display issue (> 99 should be displayed as 99)
|
Sat, 07 Jul 2012 21:32:49 +0200 |
Thibaut Girka |
Fix remaining lives display issue
|
Thu, 05 Jul 2012 07:33:47 +0200 |
Thibaut Girka |
Quick and dirty fixes
|
Thu, 05 Jul 2012 01:06:02 +0200 |
Thibaut Girka |
Fix issue when disabling low life trigger
|
Thu, 05 Jul 2012 00:53:16 +0200 |
Emmanuel Gil Peyrot |
Show the size of the spellcard life.
|
Thu, 05 Jul 2012 00:38:47 +0200 |
Emmanuel Gil Peyrot |
Add a gauge and use it for the enemy life bar.
|
Thu, 05 Jul 2012 00:11:19 +0200 |
Emmanuel Gil Peyrot |
Display a boss remaining lives and timeout.
|
Wed, 04 Jul 2012 23:53:18 +0200 |
Thibaut Girka |
Minor fix in boss rush mode
|
Wed, 04 Jul 2012 23:41:28 +0200 |
Emmanuel Gil Peyrot |
Implement sfx for player and enemies.
|
Wed, 04 Jul 2012 23:10:23 +0200 |
Thibaut Girka |
Fix crash when changing levels.
|
Wed, 04 Jul 2012 23:05:21 +0200 |
Emmanuel Gil Peyrot |
Clean music playback API a little.
|
Wed, 04 Jul 2012 22:52:02 +0200 |
Thibaut Girka |
Increase player's power stats during skipped frames in boss rush mode.
|
Wed, 04 Jul 2012 21:38:00 +0200 |
Emmanuel Gil Peyrot |
Implement continues when the lives fall bellow 0.
|
Wed, 04 Jul 2012 18:08:57 +0200 |
Emmanuel Gil Peyrot |
Print an error when all the needed files aren’t present.
|
Sun, 01 Jul 2012 18:07:33 +0200 |
Thibaut Girka |
Skip dialogs in the boss rush mode, and make boss rush skipping faster
|
Sun, 01 Jul 2012 18:06:11 +0200 |
Thibaut Girka |
Fix MSG skipping.
|
Sun, 01 Jul 2012 11:43:38 +0200 |
Thibaut Girka |
Fix bullet cancellation and removal
|
Sun, 01 Jul 2012 01:07:41 +0200 |
Thibaut Girka |
Add options to set FPS limit and disable double buffering
|
Sat, 30 Jun 2012 20:50:37 +0200 |
Emmanuel Gil Peyrot |
Prevent story mode in easy to go beyond stage 5.
|
Sat, 30 Jun 2012 20:10:45 +0200 |
Thibaut Girka |
Add a boss rush mode
|
Sat, 30 Jun 2012 19:37:21 +0200 |
Emmanuel Gil Peyrot |
Add the story mode.
|
Sat, 30 Jun 2012 13:02:24 +0200 |
Thibaut Girka |
Add a GameRunner.load_game method to allow level changes.
|
Sun, 24 Jun 2012 17:00:07 +0200 |
Thibaut Girka |
Fix difficulty influence on bullet launch interval, and fix instruction 77's rand usage
|
Thu, 21 Jun 2012 19:59:41 +0200 |
Emmanuel Gil Peyrot |
Fix some replay synchronization issues and update the TODO.
|
Thu, 21 Jun 2012 15:01:25 +0200 |
Emmanuel Gil Peyrot |
Display the text when collecting an item.
|
Thu, 21 Jun 2012 15:01:01 +0200 |
Emmanuel Gil Peyrot |
Add a very simple music player, for testing purpose.
|
Thu, 21 Jun 2012 15:01:01 +0200 |
Emmanuel Gil Peyrot |
Add music support for >PCB.
|
Mon, 18 Jun 2012 21:16:40 +0200 |
Thibaut Girka |
Fix music looping
|
Wed, 13 Jun 2012 22:53:57 +0200 |
Thibaut Girka |
Display lives and bombs.
|
Thu, 24 May 2012 20:23:57 +0200 |
Thibaut Girka |
Give a better interface for text handling.
|
Wed, 13 Jun 2012 15:29:43 +0200 |
Emmanuel Gil Peyrot |
Implement music playback.
|
Wed, 23 May 2012 19:33:17 +0200 |
Emmanuel Gil Peyrot |
Cancel the bullets when a boss is killed and transfer them to the score.
|
Thu, 17 May 2012 14:19:00 +0200 |
Emmanuel Gil Peyrot |
Use Enemy.die_score.
|
Thu, 17 May 2012 14:15:19 +0200 |
Emmanuel Gil Peyrot |
Move callbacks handling inside Enemy.
|
Tue, 15 May 2012 03:26:52 +0200 |
Emmanuel Gil Peyrot |
Add a TODO list.
|
Thu, 29 Mar 2012 21:18:35 +0200 |
Thibaut Girka |
Fix a bug with ECL instruction 96, and fix overall ECL handling.
|
Fri, 23 Mar 2012 16:27:07 +0100 |
Thibaut Girka |
Add out-of-screen item indicators.
|
Wed, 14 Mar 2012 19:27:39 +0100 |
Thibaut Girka |
Fix Sakuya's daggers in stage 6.
|
Wed, 14 Mar 2012 19:07:15 +0100 |
Thibaut Girka |
Implement hardcoded function 9.
|
Wed, 14 Mar 2012 19:05:23 +0100 |
Thibaut Girka |
Fix Remilia's “Red Magic”.
|
Wed, 14 Mar 2012 19:02:45 +0100 |
Thibaut Girka |
Fix angle between salves of circle-distributed bullets.
|
Wed, 14 Mar 2012 17:00:43 +0100 |
Thibaut Girka |
Implement hardcoded function 11.
|
Wed, 14 Mar 2012 11:28:15 +0100 |
Thibaut Girka |
Implement Remilia's laser webs.
|
Tue, 13 Mar 2012 20:02:01 +0100 |
Thibaut Girka |
Fix difficulty modifiers within spellcards.
|
Tue, 13 Mar 2012 19:52:42 +0100 |
Thibaut Girka |
Minor refactoring
|
Tue, 13 Mar 2012 19:18:14 +0100 |
Thibaut Girka |
Rename a few attributes/methods to make a little more sense.
|
Tue, 13 Mar 2012 18:45:43 +0100 |
Thibaut Girka |
Minor cleanup
|
Tue, 13 Mar 2012 18:38:14 +0100 |
Thibaut Girka |
Update attribute names to reflect the actual interface.
|
Sat, 10 Mar 2012 20:37:15 +0100 |
Thibaut Girka |
Add score/effective_score distinction and prepare for highscore handling.
|
Sat, 10 Mar 2012 20:31:49 +0100 |
Thibaut Girka |
Fix ECL instruction 119.
|
Sat, 10 Mar 2012 20:30:55 +0100 |
Thibaut Girka |
Avoid segfaults in the unlikely case a huge number of sprites is rendered.
|
Sat, 10 Mar 2012 17:47:03 +0100 |
Emmanuel Gil Peyrot |
Add the game interface.
|
Fri, 09 Mar 2012 21:43:33 +0100 |
Elias Boutaleb |
Implemented Sakuya's time stop.
|
Tue, 06 Mar 2012 18:58:41 +0100 |
Thibaut Girka |
Improve heuristic to filter out non-game exes (like custom.exe).
|
Tue, 06 Mar 2012 17:45:14 +0100 |
Thibaut Girka |
Fix relative path handling and os-specific path separators.
|
Fri, 02 Mar 2012 09:38:35 +0100 |
Emmanuel Gil Peyrot |
Implement hardcoded function 8 for Remilia.
|
Thu, 01 Mar 2012 19:44:35 +0100 |
Emmanuel Gil Peyrot |
Fix Remilia’s bat form.
|
Tue, 21 Feb 2012 14:28:38 +0100 |
Emmanuel Gil Peyrot |
Add player lasers for MarisaB.
|
Mon, 20 Feb 2012 18:58:07 +0100 |
Thibaut Girka |
Implement laser collision.
|
Fri, 17 Feb 2012 21:19:57 +0100 |
Thibaut Girka |
Add TH6 score.dat support.
|
Wed, 15 Feb 2012 19:20:06 +0100 |
Thibaut Girka |
Refactor a bit and fix Rumia's disparition.
|
Wed, 15 Feb 2012 18:37:52 +0100 |
Thibaut Girka |
Display lasers' “launch anim”.
|
Wed, 15 Feb 2012 15:57:15 +0100 |
Thibaut Girka |
Fix launch_anim_offsets.
|
Mon, 13 Feb 2012 12:00:57 +0100 |
Emmanuel Gil Peyrot |
Make anmviewer work with newest anmwrapper.
|
Sun, 12 Feb 2012 18:09:56 +0100 |
Thibaut Girka |
Fix Patchouly's Royal Flare.
|
Sun, 12 Feb 2012 16:06:03 +0100 |
Emmanuel Gil Peyrot |
Implement dialogs (MSG files).
|
Sun, 12 Feb 2012 15:51:00 +0100 |
Thibaut Girka |
Document some AnmWrapper related functions.
|
Sun, 12 Feb 2012 15:50:32 +0100 |
Thibaut Girka |
Fix time stop handling.
|
Sun, 12 Feb 2012 02:09:16 +0100 |
Thibaut Girka |
Fix ECL time flow. Spellcard do not stop time. Instruction 0xc does.
|
Sat, 11 Feb 2012 16:43:54 +0100 |
Thibaut Girka |
Rename Animations to ANM0 and prepare AnmWrapper for dialogs and interface.
|
Fri, 10 Feb 2012 11:01:11 +0100 |
Thibaut Girka |
Fix bullet spawning along lasers.
|
Wed, 08 Feb 2012 19:56:56 +0100 |
Thibaut Girka |
Fix ANM interpolators.
|
Wed, 08 Feb 2012 18:43:39 +0100 |
Thibaut Girka |
Fix sprite rotation/translation.
|
Mon, 06 Feb 2012 19:38:54 +0100 |
Thibaut Girka |
Fix generation of bullets/items position from lasers.
|
Mon, 06 Feb 2012 19:17:46 +0100 |
Thibaut Girka |
Fix initial laser offset.
|
Sun, 05 Feb 2012 23:45:41 +0100 |
Thibaut Girka |
Fix spellcard number 0.
|
Sun, 05 Feb 2012 23:43:12 +0100 |
Thibaut Girka |
Implement hardcoded function 14 used by spellcard “Lævateinn”.
|
Sun, 05 Feb 2012 23:41:55 +0100 |
Thibaut Girka |
Partially implement lasers.
|
Tue, 24 Jan 2012 23:26:53 +0100 |
Thibaut Girka |
Partially implement hardcoded function 16, used for QED: ripples of 495 years
|
Tue, 24 Jan 2012 02:22:50 +0100 |
Thibaut Girka |
Fix timeout handling
|
Tue, 24 Jan 2012 00:56:31 +0100 |
Thibaut Girka |
Fix visibility handling
|
Tue, 24 Jan 2012 00:19:23 +0100 |
Thibaut Girka |
Partially fix some of Flandre's spellcards.
|
Mon, 23 Jan 2012 23:00:55 +0100 |
Thibaut Girka |
Fix set_visible.
|
Mon, 23 Jan 2012 23:00:42 +0100 |
Thibaut Girka |
Fix callback handling and damage dealing.
|
Mon, 23 Jan 2012 22:04:40 +0100 |
Thibaut Girka |
Fix Sakuya's bouncing knives
|
Mon, 23 Jan 2012 19:01:04 +0100 |
Emmanuel Gil Peyrot |
Implement ECL’s 3rd hardcoded function.
|
Mon, 23 Jan 2012 02:04:13 +0100 |
Emmanuel Gil Peyrot |
Use better defaults for player, and start the stage as if in practice mode.
|