log

age author description
2014-04-24 Emmanuel Gil Peyrot Don’t retrieve the keyboard_state pointer at each frame.
2014-04-19 Emmanuel Gil Peyrot Fix a segfault happening at exit time on Windows.
2014-04-05 Emmanuel Gil Peyrot Make archives return files by default, instead of bytes.
2014-04-05 Emmanuel Gil Peyrot Don’t stop music loading if the pos file isn’t found.
2014-04-05 Emmanuel Gil Peyrot Move options to logical groups, to make the help a bit less dry; and disable friendly-fire by default.
2014-02-10 Emmanuel Gil Peyrot Optimise Clock a bit more.
2013-12-19 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.
2013-12-18 Emmanuel Gil Peyrot Display important messages in popups, instead of the terminal.
2014-03-27 Emmanuel Gil Peyrot Replace the --no-music option with --no-sound, disabling sound rendering altogether.
2014-03-23 Emmanuel Gil Peyrot Always verify chunks are not None before using them, fix crash when audio is disabled.
2013-12-18 Emmanuel Gil Peyrot Inherit music players from a base class.
2013-12-18 Emmanuel Gil Peyrot Use Sprite C arrays instead of their tuple representation where it makes sense.
2013-12-18 Emmanuel Gil Peyrot Store data in C arrays in Sprite, and add an interface to access them as tuples.
2013-12-18 Emmanuel Gil Peyrot Precalculate the inverse of the texture size at ANM load, to not recalculate at every sprite change.
2013-12-18 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.
2013-12-18 Emmanuel Gil Peyrot Make matrix a struct.
2013-12-18 Emmanuel Gil Peyrot Add a compilation option to disable anmviewer.
2013-12-18 Emmanuel Gil Peyrot Add a debug option to enable HTML annotations, type inference display and profiling.
2013-12-12 Emmanuel Gil Peyrot Store the indices of the framebuffer in a static ibo.
2013-12-07 Emmanuel Gil Peyrot Optimise background rendering.
2013-12-07 Emmanuel Gil Peyrot Use shorts instead of ints for vertex position, reducing the size of a vertex to 20 bytes from 24.
2013-12-07 Emmanuel Gil Peyrot Don’t crash if SDL2_ttf couldn’t render a specific string.
2014-05-11 Emmanuel Gil Peyrot Merge the lists Game.texts and Game.native_texts into the Game.texts dict.
2013-12-06 Emmanuel Gil Peyrot Add an indirection layer for textures, to cope with drivers assigning them random names.
2013-12-05 Emmanuel Gil Peyrot Remove some useless optimisations now that cython does them for us.
2013-12-05 Emmanuel Gil Peyrot Move the OpenGL backend to its own package.
2013-12-05 Emmanuel Gil Peyrot Add a pure SDL backend.
2013-11-28 Emmanuel Gil Peyrot Don’t type the renderer in GameRunner, so that we can switch it without type issues.
2013-12-05 Emmanuel Gil Peyrot Make Window able to not initialise OpenGL.
2013-11-25 Emmanuel Gil Peyrot Some more type optimisations.
2013-11-19 Emmanuel Gil Peyrot Make GameRunner entirely independent of Window or GameRenderer, so we can run a game without display.
2013-11-17 Emmanuel Gil Peyrot Divide the damages inflicted by the number of players.
2013-11-01 Emmanuel Gil Peyrot Don’t compile useless packages.
2013-11-01 Emmanuel Gil Peyrot Manage the texture-specific indices in the Texture, and some more renderer optimisations.
2013-10-23 Emmanuel Gil Peyrot Make ANM garbage collectable.
2013-10-04 Emmanuel Gil Peyrot Optimize GameRunner some more, fix replay, and remove Window dependency in Renderer.
2013-10-23 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.
2013-10-23 Emmanuel Gil Peyrot Make SDL(sound=False) work again, and disable sound if an exception occurs while setting it up.
2013-11-08 Thibaut Girka [Boss rush] Mark removed lasers as such
2013-11-08 Thibaut Girka Fix boss mode
2013-10-14 Emmanuel Gil Peyrot Actually consume a bomb when using it, make the player invulnerable for a certain time, and implement deathbomb.
2013-10-14 Emmanuel Gil Peyrot Make enemy callbacks programmables.
2013-10-14 Emmanuel Gil Peyrot Test target FPS for natural instead of non-zero.
2013-10-14 Emmanuel Gil Peyrot Drop an useless dependency on Player from Orb, on Game from Laser.
2013-10-14 Emmanuel Gil Peyrot Merge PlayerState into Player, fix player respawn position.
2013-10-05 Emmanuel Gil Peyrot Use a cached static float[16] instead of a list for default Matrix data.
2013-09-21 Emmanuel Gil Peyrot Add friendly fire in netplay.
2013-10-04 Emmanuel Gil Peyrot Fix gcc’s warnings with -Wall -Wextra.
2013-10-04 Emmanuel Gil Peyrot Decrease PBG3 loading time by improving lzss and bitstream integration.
2013-10-04 Emmanuel Gil Peyrot Remove identity lambda for interpolators, improves performances slightly.
2013-10-04 Emmanuel Gil Peyrot Don’t compile files that don’t benefit from static typing.
2013-09-28 Emmanuel Gil Peyrot Various netplay-related fixes.
2013-09-27 Emmanuel Gil Peyrot Merge netplay branch.
2012-01-15 Thibaut Girka Improve network latency by increasing game latency to 3 frames.
2011-12-29 Thibaut Girka Don't stick with the remote user unless the game has started, avoid skipping to prevent desynchro
2011-12-29 Thibaut Girka Remove useless checksum, and wait as long as possible for valid packets (do not stop waiting on invalid packets)
2011-12-28 Thibaut Girka Fix a synchro issue... again...
2011-12-28 Thibaut Girka Fix synchro bug
2011-12-28 Thibaut Girka Hopefully improve performance
2011-12-28 Thibaut Girka Fix several synchro issues
2011-12-28 Thibaut Girka Fix synchro bug
2011-12-28 Thibaut Girka Wait a bit for incoming messages...
2011-12-28 Thibaut Girka Fix consistency
2011-12-28 Thibaut Girka Experimental netplay! Yay!
2013-09-27 Thibaut Girka Fix a crash when handling non-ascii paths
2013-09-16 Emmanuel Gil Peyrot Cythonize pytouhou.game.text.
2013-09-16 Emmanuel Gil Peyrot Type bullettype, itemtype and lasertype a bit.
2013-09-16 Emmanuel Gil Peyrot Make Laser and Orb extension types, and use that where possible.
2013-09-16 Emmanuel Gil Peyrot Reset ANMRunner.sprite_index_offset after the first frame, fixes bullettype 7; also forbid glitch bullet types.
2013-09-13 Emmanuel Gil Peyrot Move SDL context-manager and Window creation outside of main.
2013-09-12 Emmanuel Gil Peyrot Add “except *” to cdef void functions, and type some more.
2013-09-12 Thibaut Girka Fix lasers sprite handling
2013-09-12 Emmanuel Gil Peyrot Revert a change in 78e1c3864e73, causing boss rush to not destroy any standard enemy.
2013-09-11 Emmanuel Gil Peyrot Move continues to PlayerState, and make sure they aren’t reinitialized before each stage.
2013-09-11 Emmanuel Gil Peyrot Make the window resizable, and scale its content correctly.
2013-09-10 Emmanuel Gil Peyrot Make GameRunner inherit from a Runner base class, to bypass Python calls in Window.
2013-09-10 Emmanuel Gil Peyrot Render to framebuffers first, and reposition some interface elements in the game area.
2013-09-10 Emmanuel Gil Peyrot Make NativeText work with the fixed pipeline.
2013-09-06 Emmanuel Gil Peyrot Add a context manager to initialize and shut down SDL outside of Window.
2013-09-06 Emmanuel Gil Peyrot Move every rendering function from gamerunner to gamerenderer.
2013-09-05 Emmanuel Gil Peyrot Make pytouhou.ui.{window,shader,game{runner,renderer}} extension types.
2013-08-10 Emmanuel Gil Peyrot Display the name of a spellcard and the face of its invoker.
2013-07-16 Emmanuel Gil Peyrot Add native text support, MSG instructions 3 and 8, and text at the beginning of a stage.
2013-09-02 Emmanuel Gil Peyrot Make pytouhou.lib.sdl cimportable, and convert pytouhou.ui.window.* to extension types.
2013-08-31 Emmanuel Gil Peyrot Add an option to choose which game to play; currently only EoSD is supported.
2013-08-30 Thibaut Girka Raise an exception if GL context creation fails instead of failing silently.
2013-08-30 Thibaut Girka By default, only enable fps limiting if vsync doesn't do the job.
2013-08-30 Emmanuel Gil Peyrot Give a friendlier error message if pkg-config isn’t found.
2013-08-30 Emmanuel Gil Peyrot Add back Windows support, using GLEW for OpenGL.
2013-08-03 Emmanuel Gil Peyrot Improve render_elements’ speed a lot, and fix it in some corner cases. Thanks liori!
2013-08-17 Emmanuel Gil Peyrot Make Bullet.state an enum.
2013-08-17 Emmanuel Gil Peyrot Make pytouhou.game.game an extension type.
2013-08-17 Emmanuel Gil Peyrot Make pytouhou.game.item an extension type.
2013-08-17 Emmanuel Gil Peyrot Make pytouhou.game.player an extension type, and move the GameOver exception there since it makes more sense.
2013-08-30 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.
2013-08-17 Emmanuel Gil Peyrot Make pytouhou.game.effect an extension type.
2013-08-10 Emmanuel Gil Peyrot Type Bullet more, to improve performances.
2013-08-10 Emmanuel Gil Peyrot Make pytouhou.game.enemy an extension type.
2013-08-30 Emmanuel Gil Peyrot Add a base Element class for every object in pytouhou.game.
2013-08-10 Emmanuel Gil Peyrot Make pytouhou.game.sprite an extension type.
2013-08-11 Emmanuel Gil Peyrot Make only one call to render_elements during interface rendering.
2013-08-07 Emmanuel Gil Peyrot Make Interpolator an extension type.
2013-08-07 Emmanuel Gil Peyrot Cythonize pytouhou.utils.maths and pytouhou.utils.vector.
2013-08-07 Emmanuel Gil Peyrot Improve Matrix representation, using float[16] instead of imbricated python lists.
2013-08-11 Emmanuel Gil Peyrot Move the common parts of EoSDGame outside, to not reallocate them at each stage.
2013-08-11 Emmanuel Gil Peyrot Always run the first frame of an ANMRunner.
2013-08-10 Emmanuel Gil Peyrot Split ANMRunner.run_frame into Sprite.update.
2013-08-30 Emmanuel Gil Peyrot Use cythonize in setup.py, also compile .py files, and entirely remove pyximport support.
2013-08-03 Emmanuel Gil Peyrot Remove AnmWrapper, since ANMs are lists of entries now.
2013-08-03 Emmanuel Gil Peyrot Implement PCB’s ANM2 format and vm.
2013-07-16 Emmanuel Gil Peyrot Remove all Loader uses from outside pytouhou.games, and add a --no-music option to disable bgm.
2013-08-03 Emmanuel Gil Peyrot Move the depth buffer clear outside of scissor, as per apitrace’s advice.
2013-07-16 Emmanuel Gil Peyrot Never keep texture on the host when it has been uploaded, and prevent them from being decoded again.
2013-07-16 Emmanuel Gil Peyrot Make the anmviewer use the new architecture.
2013-07-16 Emmanuel Gil Peyrot Make the Shader class use cython too.
2013-07-16 Emmanuel Gil Peyrot Replace Pyglet with our own Cython OpenGL wrapper.
2013-07-16 Emmanuel Gil Peyrot Refactor window management in its own class.
2013-07-16 Emmanuel Gil Peyrot Add back music and SFX playback using SDL_mixer instead of pyglet, and add FLAC and Vorbis support.
2013-07-16 Emmanuel Gil Peyrot Replace Pyglet’s image loader with our SDL2_image-based one.
2013-02-06 Thibaut Girka Re-implement frame control
2013-07-16 Emmanuel Gil Peyrot Replace Pyglet with SDL2 for window creation and events; disables framerate control/display and sound.
2013-08-22 Emmanuel Gil Peyrot Remove the type of the self argument in extension types, as it clutters the code with useless information.
2013-07-16 Emmanuel Gil Peyrot Importing everything makes the --help slow, call parse_args before the imports.
2013-07-16 Emmanuel Gil Peyrot Add a --verbosity option, to disable logging for machines with a very slow terminal.
2013-06-22 Emmanuel Gil Peyrot Follow the PEP-0394 guidelines, migrating from python to python2.
2013-06-12 Emmanuel Gil Peyrot Let the gc do its work, don’t keep useless references.
2013-06-12 Emmanuel Gil Peyrot Refactor the maths functions out of Renderer.
2013-06-12 Emmanuel Gil Peyrot Remove indirect access to Matrix values.
2013-06-12 Emmanuel Gil Peyrot Don’t render null-sized arrays of elements.
2013-06-12 Emmanuel Gil Peyrot Move ascii_wrapper to the interface, as it is game-dependent.
2013-06-09 Emmanuel Gil Peyrot Do the correct score calculation even when the enemy isn’t damageable.
2013-06-09 Emmanuel Gil Peyrot Add a --no-particles option to remove particles.
2013-04-29 Emmanuel Gil Peyrot Fix the --no-background option.
2013-03-24 Emmanuel Gil Peyrot Make the anmviewer use the programmable pipeline too.
2013-03-24 Emmanuel Gil Peyrot Add MoF’s hints support, and fix the Text timeout interface.
2013-02-17 Emmanuel Gil Peyrot Move MSG faces management to pytouhou.game.game, they have nothing to do in the MSG VM.
2013-02-16 Emmanuel Gil Peyrot Add a version attribute to ANM0 and latest discovered instruction.
2013-02-14 Emmanuel Gil Peyrot Calculate the fog per-fragment and remove the fixed-pipeline glFog* functions; now both vertex shaders are the same.
2013-02-12 Emmanuel Gil Peyrot Add support for MoF’s hint format.
2013-02-12 Emmanuel Gil Peyrot Make the background use a single vbo and offsets, just like the 2D code.
2013-02-12 Emmanuel Gil Peyrot Move the background rendering code to pytouhou.ui.renderer.
2013-02-06 Emmanuel Gil Peyrot Don’t duplicate values in sprite rendering data.
2013-02-06 Emmanuel Gil Peyrot Use Buffer Objects instead of host pointers.
2013-02-06 Emmanuel Gil Peyrot Don’t change the vertex attributes for each texture.
2013-02-06 Emmanuel Gil Peyrot Replace gl{Vertex,TexCoord,Color}Pointer with the more modern glVertexAttribPointer.
2013-02-06 Emmanuel Gil Peyrot Implement THTX, uncompressed textures stored inside ANM files, and use it instead of pyglet’s own wrapper.
2013-01-07 Emmanuel Gil Peyrot When merging RGB and alpha data, get the C arrays only at the start of the loop.
2013-01-07 Emmanuel Gil Peyrot Convert pytouhou.ui.gamerenderer back to pure python, it doesn’t use or need any cython feature.
2012-11-12 Emmanuel Gil Peyrot Use only half-size hitboxes for player.
2012-10-21 Emmanuel Gil Peyrot Add "explosion", instruction 118.
2012-10-21 Emmanuel Gil Peyrot Make particles behave as in the original game.
2012-10-20 Emmanuel Gil Peyrot Display something at the start of a stage.
2012-10-20 Emmanuel Gil Peyrot Cancel player lasers when she dies.
2012-10-20 Emmanuel Gil Peyrot Add missing imports, and remove side-effects in asserts.
2012-10-02 Emmanuel Gil Peyrot Make rendering of multiple-sprites elements work like single-sprites.
2012-09-07 Emmanuel Gil Peyrot Replace wildcard imports with normal ones.
2012-09-07 Emmanuel Gil Peyrot Fix the anmviewer, broken since changeset 370:74471afbac37.
2012-09-07 Emmanuel Gil Peyrot Don’t hardcode background script for Widget.
2012-09-07 Emmanuel Gil Peyrot Replace player position in game zone right after its move; fix shots offsets at boundaries.
2012-08-30 Emmanuel Gil Peyrot Make a sound when an enemy is hit.
2012-08-29 Emmanuel Gil Peyrot Add the debug feature to start a game at the end of a replay.
2012-08-29 Emmanuel Gil Peyrot Add meaningful exceptions in format parsing.
2012-08-06 Emmanuel Gil Peyrot Support more than one version of a vm.
2012-08-06 Emmanuel Gil Peyrot Add an option to disable background.
2012-08-05 Emmanuel Gil Peyrot Use an iterator to get the keystates from a replay.
2012-08-05 Emmanuel Gil Peyrot Add the ability to save a replay.
2012-08-06 Emmanuel Gil Peyrot Use a future-proof ECL parser.
2012-07-27 Emmanuel Gil Peyrot Replace GL_QUADS with GL_TRIANGLES, to be GLES compatible.
2012-07-27 Emmanuel Gil Peyrot Add a programmable pipeline renderer, and a --fixed-pipeline switch to use the old one.
2012-07-11 Thibaut Girka Fix crash with the demo version of Touhou 6
2012-07-11 Thibaut Girka Minor optimizations
2012-07-09 Thibaut Girka Various optimizations
2012-07-09 Thibaut Girka Fix Rumia on timeout
2012-07-09 Thibaut Girka Add more information to ECL debug messages
2012-07-09 Thibaut Girka Empty ECL stack when calling a callback.
2012-07-09 Thibaut Girka Enable debug messages when using --debug
2012-07-09 Thibaut Girka (partially?) implement ECL's instruction 133
2012-07-09 Thibaut Girka Rename set_visible to set_invisible, since it's what it does...
2012-07-09 Thibaut Girka Fix Flandre's QED: Ripples of 495 years
2012-07-09 Thibaut Girka Fix crash in ECL's kill_enemies
2012-07-07 Thibaut Girka Make bosses clean their mess when timeouting
2012-07-07 Thibaut Girka Fix Koakuma
2012-07-07 Thibaut Girka Fix crasher
2012-07-07 Thibaut Girka Fix bullet cancellation... again...
2012-07-07 Thibaut Girka Fix callbacks
2012-07-07 Thibaut Girka Allow Z as well as W to shoot.
2012-07-07 Thibaut Girka Clean up effects left behind by lasers in boss rush mode
2012-07-07 Thibaut Girka Fix timeout display issue (> 99 should be displayed as 99)
2012-07-07 Thibaut Girka Fix remaining lives display issue
2012-07-05 Thibaut Girka Quick and dirty fixes
2012-07-04 Thibaut Girka Fix issue when disabling low life trigger
2012-07-04 Emmanuel Gil Peyrot Show the size of the spellcard life.
2012-07-04 Emmanuel Gil Peyrot Add a gauge and use it for the enemy life bar.
2012-07-04 Emmanuel Gil Peyrot Display a boss remaining lives and timeout.
2012-07-04 Thibaut Girka Minor fix in boss rush mode
2012-07-04 Emmanuel Gil Peyrot Implement sfx for player and enemies.
2012-07-04 Thibaut Girka Fix crash when changing levels.
2012-07-04 Emmanuel Gil Peyrot Clean music playback API a little.
2012-07-04 Thibaut Girka Increase player's power stats during skipped frames in boss rush mode.
2012-07-04 Emmanuel Gil Peyrot Implement continues when the lives fall bellow 0.
2012-07-04 Emmanuel Gil Peyrot Print an error when all the needed files aren’t present.
2012-07-01 Thibaut Girka Skip dialogs in the boss rush mode, and make boss rush skipping faster
2012-07-01 Thibaut Girka Fix MSG skipping.
2012-07-01 Thibaut Girka Fix bullet cancellation and removal
2012-06-30 Thibaut Girka Add options to set FPS limit and disable double buffering
2012-06-30 Emmanuel Gil Peyrot Prevent story mode in easy to go beyond stage 5.
2012-06-30 Thibaut Girka Add a boss rush mode
2012-06-30 Emmanuel Gil Peyrot Add the story mode.
2012-06-30 Thibaut Girka Add a GameRunner.load_game method to allow level changes.
2012-06-24 Thibaut Girka Fix difficulty influence on bullet launch interval, and fix instruction 77's rand usage
2012-06-21 Emmanuel Gil Peyrot Fix some replay synchronization issues and update the TODO.
2012-06-21 Emmanuel Gil Peyrot Display the text when collecting an item.
2012-06-21 Emmanuel Gil Peyrot Add a very simple music player, for testing purpose.
2012-06-21 Emmanuel Gil Peyrot Add music support for >PCB.
2012-06-18 Thibaut Girka Fix music looping
2012-06-13 Thibaut Girka Display lives and bombs.
2012-05-24 Thibaut Girka Give a better interface for text handling.
2012-06-13 Emmanuel Gil Peyrot Implement music playback.
2012-05-23 Emmanuel Gil Peyrot Cancel the bullets when a boss is killed and transfer them to the score.
2012-05-17 Emmanuel Gil Peyrot Use Enemy.die_score.
2012-05-17 Emmanuel Gil Peyrot Move callbacks handling inside Enemy.
2012-05-15 Emmanuel Gil Peyrot Add a TODO list.
2012-03-29 Thibaut Girka Fix a bug with ECL instruction 96, and fix overall ECL handling.
2012-03-23 Thibaut Girka Add out-of-screen item indicators.
2012-03-14 Thibaut Girka Fix Sakuya's daggers in stage 6.
2012-03-14 Thibaut Girka Implement hardcoded function 9.
2012-03-14 Thibaut Girka Fix Remilia's “Red Magic”.
2012-03-14 Thibaut Girka Fix angle between salves of circle-distributed bullets.
2012-03-14 Thibaut Girka Implement hardcoded function 11.
2012-03-14 Thibaut Girka Implement Remilia's laser webs.
2012-03-13 Thibaut Girka Fix difficulty modifiers within spellcards.
2012-03-13 Thibaut Girka Minor refactoring
2012-03-13 Thibaut Girka Rename a few attributes/methods to make a little more sense.
2012-03-13 Thibaut Girka Minor cleanup
2012-03-13 Thibaut Girka Update attribute names to reflect the actual interface.
2012-03-10 Thibaut Girka Add score/effective_score distinction and prepare for highscore handling.
2012-03-10 Thibaut Girka Fix ECL instruction 119.
2012-03-10 Thibaut Girka Avoid segfaults in the unlikely case a huge number of sprites is rendered.
2012-03-10 Emmanuel Gil Peyrot Add the game interface.
2012-03-09 Elias Boutaleb Implemented Sakuya's time stop.