Commit graph

44 commits

Author SHA1 Message Date
Andrei Alexeyev
db8dd8ad7c
desperate optimizations
i even used a profiler
2017-11-23 18:23:30 +02:00
Andrei Alexeyev
1a455930c1
new replay format version
- support for continues
    - support for 32 arbitrary bitflags per stage + 32 global ones
        - 3 globals and 3 stageflags are currently used, see replay.h
    - limited player name length to 255 bytes

other minor changes:
    - continues now register with 1 frame of latency in order for them
    to work properly with replays
    - continuing now resets Power to 0. you can still pick up the huge
    bunch of power items that spawns when you continue; they are exactly
    enough to get to Full Power.
2017-10-30 00:45:24 +02:00
makise-homura
2b35177cb4 Removed excess and added missing newlines at end of files 2017-10-10 21:10:35 +03:00
laochailan
03a2426012
update to use #pragma once 2017-09-27 14:14:53 +02:00
Andrei "Akari" Alexeyev
790aa3cc0b
fix comment 2017-09-27 12:19:17 +03:00
Andrei "Akari" Alexeyev
03cec65981
update replay struct version and fallback game version 2017-09-27 11:08:27 +03:00
Andrei "Akari" Alexeyev
76205422b3
include game version info in replays
the game can still read old v1.1 replays, and currently writes in that
version by default, too. it should be defaulted to the new format when
the first gameplay change from v1.1 is made.
2017-09-26 23:09:00 +03:00
Andrei "Akari" Alexeyev
d2ed6b8571
less replay debug spam 2017-09-26 02:59:33 +03:00
Andrei "Akari" Alexeyev
d9611b0831
player input, gamepad, and replay improvements
may break existing replays
2017-09-20 00:32:58 +03:00
Andrei "Akari" Alexeyev
7c9e54a71d
update copyright and credits 2017-09-12 04:28:15 +03:00
Andrei "Akari" Alexeyev
471f30083e WIP virtual filesystem 2017-04-20 05:02:22 +03:00
Andrei "Akari" Alexeyev
77c6790051 fix replays 2017-04-04 12:10:54 +03:00
Andrei "Akari" Alexeyev
263c112e8a Basic support for life/bomb fragments. Not yet used by the game. 2017-03-21 12:10:38 +02:00
Andrei "Akari" Alexeyev
d8ac035f29 Record fps stats in replays. Display the player's name and fps when watching 2017-03-21 04:28:35 +02:00
Andrei "Akari" Alexeyev
0c320a0a8e updated the replay struct version (removed the fire field) 2017-03-06 17:18:54 +02:00
Andrei "Akari" Alexeyev
591b5258fc Improved player input handling. Smooth focus transitions at all times.
Note that the focus change may desync some old replays (particularly,
the MarisaA ones)
2017-03-06 16:24:57 +02:00
Andrei "Akari" Alexeyev
db0cfa43bc "straightforward" my ass 2017-02-22 22:52:25 +02:00
Andrei "Akari" Alexeyev
30db5c8fd6 Support for viewing replays specified on the command line
$ taisei replay /path/to/replay.tsr
$ curl http://example.com/replay.tsr | taisei replay /dev/stdin
2017-02-21 22:31:46 +02:00
Andrei "Akari" Alexeyev
1e6011433c Initial support for single-spell stages
Adapted all of the current spellcards into spellstages, which will
later be used in a spell practice mode a-la IN.
For now they are only accessible through the stage select menu or
by specifying their ID on the command line; both available only
if you built with -DTAISEI_DEBUG=1
2017-02-19 03:28:00 +01:00
Andrei "Akari" Alexeyev
0be20dab0d Improved replay consistency 2017-02-15 19:34:47 +02:00
Andrei "Akari" Alexeyev
9a7a874783 Use the standard bool type instead of that stupid enum
Also removed all of the annoying trailing tabs/whitespaces
2017-02-11 05:56:47 +02:00
Andrei "Akari" Alexeyev
0bbf1a619e Further refinements to replay API and structures
Compatibility preserved.

The replay API functions are now completely independent of the global state.
2017-02-10 01:24:19 +02:00
Andrei "Akari" Alexeyev
4246ed2cfa Fixed/finished the prev. commit and refactored the replay menu to use it 2017-02-09 08:01:38 +02:00
Andrei "Akari" Alexeyev
31ac12f6e7 Improved replay structure and API
All events are now stored at the end of the file, after the metadata of all stages.
It's now possible to load a replay partially to examine the metadata, and optionally load the input events later if needed.
This is not used yet. The replay menu code will be updated to make use of this feature soon.
2017-02-09 06:06:46 +02:00
Andrei "Akari" Alexeyev
b0da5a407c Added a simple checksum for stage metadata to fail quickly if garbage is detected 2017-02-09 02:55:01 +02:00
Andrei "Akari" Alexeyev
f2386657f5 Updated replay structure, added checks to load routine to make sure that corrupted or garbage data in the replay won't crash the game 2017-02-09 02:13:06 +02:00
Andrei "Akari" Alexeyev
d0377bd537 Eliminated floating point values from replays for portability
Player power is now internally an integer. There is no good reason to use floating point math there. Stored as an uint16 in replays.
Player coordinates are now floored when a stage starts. This is unnoticable to the player. Stored as a pair of uint16s in replays.
2017-02-08 21:59:43 +02:00
Andrei "Akari" Alexeyev
cb2cf24233 basic replay desync detection 2017-02-05 04:58:27 +02:00
Andrei "Akari" Alexeyev
3662daaff0 Fixed playback of gamepad events from replays (with hacks) 2017-02-05 04:04:31 +02:00
Andrei "Akari" Alexeyev
ff3986c6cb New binary replay format 2017-02-05 03:25:17 +02:00
Andrew "Akari" Alexeyew
63108d58f5 Adjustable sensitivity in free axis mode 2012-08-15 18:03:53 +03:00
Andrew "Akari" Alexeyew
4754e6c76e Optional free axis mode 2012-08-15 17:36:39 +03:00
Andrew "Akari" Alexeyew
f2cf436ffa Hopefully fixed the replay desync disaster. I'm going to have nightmares about it. Needs more testing. 2012-08-07 03:45:38 +03:00
Andrew "Akari" Alexeyew
78c8c970fc save fire/focus stats in the replay 2012-08-07 08:01:57 +03:00
Andrew "Akari" Alexeyew
7776443935 multistage replays 2012-08-07 06:28:41 +03:00
Andrew "Akari" Alexeyew
a322371b5f Introduced playername option, fancied up the replayview menu, etc 2012-07-29 23:39:52 +03:00
Andrew "Akari" Alexeyew
d1f4aa03e3 s/lastframeplayed/playpos/ 2012-07-29 16:54:49 +03:00
Andrew "Akari" Alexeyew
d793bb61a4 optimized the replay event loop 2012-07-29 16:35:40 +03:00
laochailan
3eb29e575e new wriggle sprite 2012-07-19 09:59:07 +02:00
Andrew "Akari" Alexeyew
5308856f1f proper replay saving and some minor stuff 2012-07-16 18:47:06 +03:00
Andrew "Akari" Alexeyew
6afad43f83 rewrote replay_write and replay_read to use a text-based format 2012-07-15 21:19:31 +03:00
Andrew "Akari" Alexeyew
5112dffd80 replay file saving/loading (WIP) 2012-07-15 13:16:27 +03:00
Andrew "Akari" Alexeyew
ccc9f341db suddenly, replays, thousands of them. (not really, just one for now) 2012-07-14 20:46:03 +03:00
Andrew "Akari" Alexeyew
8e0f390386 Remade player input and movement, more or less replay-ready now. Also made the direction vector normalized. 2012-07-14 17:37:52 +03:00