Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
346 commits
Select commit Hold shift + click to select a range
138823b
Super select on maintained A + better display
Nov 24, 2019
ac72057
Increased timer for super selection
Nov 24, 2019
c0d81b0
Fix characters.txt and stages.txt
Nov 24, 2019
6bafb9b
Fix crash in options when having no sound for our current stage and t…
Nov 24, 2019
a880367
Fix use music from option
Nov 25, 2019
6568f46
add option input repeat delay
Bastnt Dec 3, 2019
6e22b8b
Fix set name and crash in music test
Dec 4, 2019
0e9c01f
Better handling of musics and defaulted musics
Dec 5, 2019
50c18f7
loc: update texts
Bastnt Dec 8, 2019
bd283ba
Merge pull request #128 from LeoGuirinec/master
jon12156 Dec 8, 2019
cd757d5
make it more clear custom input repeat delay applies only to offline …
jon12156 Dec 8, 2019
a7d3c5e
Merge pull request #133 from Bastnt/master
jon12156 Dec 8, 2019
e900451
Add an auto_updater
Bastnt Nov 25, 2019
8fb7b93
auto_updater: bug fix and improvements
Bastnt Nov 26, 2019
d8eb2cb
auto_updater: some fixes
Bastnt Nov 27, 2019
93797c1
change update server to panelattack.com and check_interval to zero
jon12156 Dec 8, 2019
ee34bf1
auto_updater: fix empty server and embedded file, add readme
Bastnt Dec 9, 2019
7acc450
Merge pull request #136 from Bastnt/auto_updater
jon12156 Dec 9, 2019
25476ec
Merge pull request #137 from panel-attack/beta-auto-updates
jon12156 Dec 9, 2019
6b883fc
loc: fix key problem for replay
Bastnt Dec 10, 2019
7451877
Merge pull request #20 from panel-attack/beta
jon12156 Dec 11, 2019
bdf974a
allow placement matches to be turned off
jon12156 Dec 11, 2019
291c6dc
fix messages to clients re: placement
jon12156 Dec 11, 2019
b9a3665
Merge pull request #21 from jon12156/ladder-reset
jon12156 Dec 11, 2019
f56333d
Merge pull request #139 from jon12156/beta
jon12156 Dec 11, 2019
5dbde04
auto_updater: now uses threads
Bastnt Dec 13, 2019
df6f0f8
auto_updater: make the game check for updates in-game
Bastnt Dec 14, 2019
2944eeb
Merge pull request #138 from Bastnt/beta
jon12156 Dec 14, 2019
3dd51be
Merge pull request #140 from Bastnt/auto_updater
jon12156 Dec 14, 2019
7c045d8
fix input repeat delay with replays
Bastnt Dec 14, 2019
980a246
Merge pull request #141 from Bastnt/beta
jon12156 Dec 15, 2019
f32b86f
Fix show ingame information
Dec 16, 2019
2646752
Merge pull request #142 from LeoGuirinec/master
jon12156 Dec 18, 2019
5b3e18d
server_queue: remove debug prints
Bastnt Dec 1, 2019
9e39837
server_queue: improve comments
Bastnt Dec 1, 2019
99c0be1
remove console
Bastnt Dec 22, 2019
66dec9c
server: properly logout on quit (to avoid name is taken error)
Bastnt Dec 26, 2019
dcfcfcd
Merge pull request #143 from Bastnt/beta
jon12156 Dec 28, 2019
d9349e8
auto_updater: prevent from downloading if version up to date
Bastnt Dec 28, 2019
0fa06a7
improve error messages
Bastnt Dec 29, 2019
d94bdfe
Add pdp_ta panels back
Dec 31, 2019
3dc53e7
update loc
Bastnt Dec 31, 2019
bc8e724
Merge pull request #144 from Bastnt/auto_updater
jon12156 Jan 1, 2020
b7d67f7
Merge pull request #145 from LeoGuirinec/beta
jon12156 Jan 1, 2020
de5596c
Merge pull request #146 from Bastnt/beta
jon12156 Jan 1, 2020
3f7bef6
Ranked mode by default
Jan 1, 2020
27440ed
Merge pull request #147 from LeoGuirinec/beta
jon12156 Jan 1, 2020
fd1b639
auto_updater: use embedded version if same as latest version
Bastnt Jan 2, 2020
3a9598a
Merge pull request #149 from Bastnt/auto_updater
jon12156 Jan 2, 2020
bbce166
resolve EX mode conflicts
jon12156 Jan 2, 2020
e27bc56
bump to version 041, use official server instead of beta
jon12156 Jan 2, 2020
d34ffc7
Merge pull request #150 from panel-attack/beta
jon12156 Jan 2, 2020
0aee261
update rating thresholds
jon12156 Jan 2, 2020
d2801c1
Merge branch 'master' of https://github.com/panel-attack/panel-attack
jon12156 Jan 2, 2020
0af01c7
loc: some fixes
Bastnt Jan 2, 2020
182b21f
fix bad var IMG panels
Bastnt Jan 3, 2020
2af731f
Merge pull request #151 from Bastnt/master
jon12156 Jan 3, 2020
b813b35
now display a warning instead of error for server_queue
Bastnt Jan 3, 2020
c1c4a74
loc: some fixes
Bastnt Jan 3, 2020
e95f0d6
Merge pull request #152 from Bastnt/master
jon12156 Jan 3, 2020
1a05c88
Create empty folders in appdata by default
Jan 3, 2020
93f0877
Fix configure input
Jan 3, 2020
76c307e
Merge pull request #153 from LeoGuirinec/beta
jon12156 Jan 4, 2020
44f1026
change main title image
Bastnt Jan 4, 2020
1dfe4f8
Fix super selection
Jan 5, 2020
9ebd3c8
Merge pull request #154 from LeoGuirinec/master
jon12156 Jan 5, 2020
3ab3d09
server_queue: improve warning message
Bastnt Jan 5, 2020
47ce50a
Merge pull request #155 from Bastnt/master
jon12156 Jan 6, 2020
448404c
fix server_queue renaming mistake
Bastnt Jan 6, 2020
2cbcc35
Merge pull request #156 from Bastnt/master
jon12156 Jan 6, 2020
2078cfc
EX mode working again
jon12156 Jan 19, 2020
95341f8
disallow ranked EX mode
jon12156 Jan 19, 2020
5d80e87
Merge pull request #157 from panel-attack/remove-duplicate-code-in-ma…
jon12156 Jan 20, 2020
1805cff
allow connecting to the server with a different port
jon12156 Jan 20, 2020
df9c47e
Merge pull request #158 from panel-attack/ex-mode-ranked-server
jon12156 Jan 20, 2020
237bef8
fix prevent manual raise after rise_lock ends
jon12156 Jan 22, 2020
f2e8573
Bump to version 042
jon12156 Jan 22, 2020
ef9ce55
Merge pull request #159 from panel-attack/fix-15-/-16-raise-lock
jon12156 Jan 22, 2020
b525110
add spaces after "Not ranked."
jon12156 Jan 22, 2020
05d978f
ensure we load combo_echo sfx, even if we have to reuse combo or chain
jon12156 Feb 3, 2020
154bb93
bunch of untested code
jon12156 Feb 3, 2020
731d5ce
click_menus starting to come together
jon12156 Feb 5, 2020
0e84145
working clickable main_menu and net_vs_lobby
jon12156 Feb 6, 2020
6fea06e
enabled touch. coordinate scaling needs work
jon12156 Feb 6, 2020
72f2975
now transforms clicks and touches to the correct coordinates
jon12156 Feb 8, 2020
a15ec4a
initial android keyboard for set_name
jon12156 Feb 8, 2020
d03a106
increase spacing between menu items
jon12156 Feb 8, 2020
6fe8fd6
avoid lobby_menu.active_idx being nil
jon12156 Feb 11, 2020
62b9582
don't crash on using keyboard instead of clicks in menu
jon12156 Feb 11, 2020
86b457d
try to prevent game start timeout
jon12156 Feb 11, 2020
27980b2
give the main menu buttons outlines and padding
jon12156 Feb 13, 2020
b942fcf
untested progress on configure_input menu
jon12156 Feb 13, 2020
130604d
Default characters moved to their own subfolder
Feb 16, 2020
5de2651
Default characters are only copied when needed
Feb 16, 2020
8cfe1dc
auto_updater: expose check interval and timeout to user
Bastnt Jan 6, 2020
f75a116
disable warning messages
Bastnt Feb 16, 2020
87b7c9e
main_start and select_screen_start compatibility
Feb 16, 2020
c1c81b1
Merge pull request #160 from LeoGuirinec/master
jon12156 Feb 17, 2020
90d1c09
Merge pull request #161 from Bastnt/master
jon12156 Feb 17, 2020
eab6b16
Optional overlays
Feb 17, 2020
19e870d
Music test stops main menu music upon entering
Feb 17, 2020
92ece05
Moved most default data into their own folder
Feb 17, 2020
416ce77
Default stages now get copied only if needed
Feb 17, 2020
bc5c4a4
Merge pull request #162 from LeoGuirinec/master
jon12156 Feb 19, 2020
fc94ee3
menu_validate is not played when a selection sfx is played
Feb 19, 2020
20ee712
.flac and .wav support
Feb 19, 2020
b20200e
Fix EX level position in select_screen
Feb 19, 2020
baee4af
garbage_land sfx
Feb 19, 2020
f0443c5
Merge pull request #163 from LeoGuirinec/master
jon12156 Feb 20, 2020
7e8c164
stages bundles loading and display
Feb 23, 2020
0f9b695
stages bundles: random handling
Feb 23, 2020
47c66b5
Misc fixes on stage bundles (online)
Feb 26, 2020
a844ebc
Readme for stage bundles
Feb 26, 2020
f275bfb
character bundles: loading and display
Feb 26, 2020
729bfd0
character bundles: random handling
Feb 29, 2020
a47c68d
character bundles: selection sfx compatibility
Feb 29, 2020
d472e47
latest loc
Feb 29, 2020
c3b0170
Implement basic replay browser.
Raspberryfloof Mar 1, 2020
2232ce5
Merge pull request #165 from Raspberryfloof/replay-browser
jon12156 Mar 1, 2020
0447c8c
Merge branch 'beta' into master
jon12156 Mar 1, 2020
db95863
Merge pull request #164 from LeoGuirinec/master
jon12156 Mar 1, 2020
2de8b5e
Update localization.csv
jon12156 Mar 1, 2020
dffe4f3
change updater name to panel-beta
jon12156 Mar 1, 2020
38663b5
change source for beta updates
jon12156 Mar 1, 2020
3f2b483
stages and characters: fix order
Mar 3, 2020
8aba383
Merge branch 'master' of http://github.com/LeoGuirinec/panel-attack
Mar 3, 2020
d836ded
stage bundles: fix thumbnail compatibility
Mar 3, 2020
cfbf8c6
music: fix looping starts for theme music files
Mar 3, 2020
bc4f656
Merge pull request #166 from LeoGuirinec/master
jon12156 Mar 3, 2020
1e3aa5f
character and stage visibility feature
Bastnt Mar 3, 2020
44abc5b
Merge pull request #167 from Bastnt/beta
jon12156 Mar 4, 2020
8789ccf
music: fix _start would be played again in some cases
Mar 6, 2020
f62ef74
Merge pull request #168 from LeoGuirinec/beta
jon12156 Mar 10, 2020
aebd29e
Merge pull request #169 from panel-attack/beta
jon12156 Mar 18, 2020
122672c
change updater to main-release config
jon12156 Mar 18, 2020
330413f
Fix character access while fallbacking through display_name
LeoGuirinec Mar 19, 2020
3b9c0b9
Merge pull request #170 from LeoGuirinec/master
jon12156 Mar 19, 2020
0dc0f3d
more config.json checks, updated readmes
LeoGuirinec Mar 30, 2020
fc7feb4
Merge branch 'master' into master
LeoGuirinec Mar 30, 2020
c63a6c7
2P given red frame
SirBlockles Mar 30, 2020
f769455
Merge pull request #171 from LeoGuirinec/master
jon12156 Mar 31, 2020
a020fd2
Merge pull request #172 from SirBlockles/master
jon12156 Mar 31, 2020
e6ee6a6
Analytics: refactor, swap and move count
LeoGuirinec Apr 1, 2020
5018768
Fix crash related to the bundle handling
LeoGuirinec Apr 4, 2020
3752c80
Merge pull request #173 from LeoGuirinec/master
jon12156 Apr 5, 2020
62dff88
Fix previous fix on random
LeoGuirinec Apr 6, 2020
300b505
Merge pull request #174 from LeoGuirinec/master
jon12156 Apr 6, 2020
dcb0c0e
Updated readme for themes
LeoGuirinec Apr 9, 2020
2739039
New chain sfx system (per_chain)
LeoGuirinec Apr 11, 2020
e9db805
Merge pull request #175 from LeoGuirinec/master
jon12156 Apr 12, 2020
a5db2ae
fix "Dowloading" typo in updater
jon12156 Apr 12, 2020
fb8e7a5
Fix per_chain sfx
LeoGuirinec Apr 13, 2020
c2b3dd6
Merge pull request #176 from LeoGuirinec/master
jon12156 Apr 13, 2020
27980b8
Fix overlapping garbage spawns
Raspberryfloof Apr 12, 2020
7315b02
Increase version number
Raspberryfloof Apr 12, 2020
4046743
Properly fix garbage fall timing
Raspberryfloof Apr 13, 2020
059a00d
Revert some debugging changes
Raspberryfloof Apr 14, 2020
54fa9e4
Prevent garbage from being lost if it can't spawn
Raspberryfloof Apr 14, 2020
a1bd2e6
also bump server version
jon12156 Apr 15, 2020
850d285
Merge pull request #177 from Raspberryfloof/overlapping-garbage-fix
jon12156 Apr 15, 2020
960707b
Revert garbage spawns
Raspberryfloof Apr 17, 2020
80b3845
Merge pull request #178 from Raspberryfloof/overlapping-garbage-fix
jon12156 Apr 17, 2020
6d6a933
Pause and unpause the music when the game is paused or unpaused
Zeimyth May 21, 2020
4e924ee
Graff - EX button Fix
Graffiiti Jun 1, 2020
3f4b5e3
Graff - EX change
Graffiiti Jun 1, 2020
a2ebe4b
Update FRAMECOUNT_RISE in "speed_times" mode
starburst997 Jun 7, 2020
23298d7
Makes sure speed won't overflow in "panels_to_speedup" mode
starburst997 Jun 7, 2020
c50f608
Flag support for characters
LeoGuirinec Jul 15, 2020
2350345
Merge pull request #179 from Zeimyth/master
jon12156 Jul 23, 2020
3a6542f
Merge pull request #180 from Graffiiti/patch-6
jon12156 Jul 23, 2020
09ab818
Merge pull request #181 from starburst997/master
jon12156 Jul 23, 2020
c5550ad
Merge pull request #182 from LeoGuirinec/master
jon12156 Jul 23, 2020
b9e0e1f
bump to version 045
jon12156 Jul 23, 2020
52a47fe
Fix sub_characters handling in solo modes
LeoGuirinec Jul 28, 2020
61216da
Prevent character bundle reset while playing online
LeoGuirinec Jul 28, 2020
70fc8a9
Latest loc
LeoGuirinec Jul 28, 2020
f6b0f5c
Merge pull request #183 from LeoGuirinec/master
jon12156 Jul 29, 2020
3043b40
Merge branch 'master' into touch-and-mouse
jon12156 Aug 23, 2020
421bc6d
update from master: bg no longer used.
jon12156 Aug 24, 2020
038e16f
touch/mouse input-menu appears to be working now
jon12156 Aug 25, 2020
4fe88bb
trim user_id to fix #113
jlaceda Sep 5, 2020
81c45c8
Merge pull request #185 from jlaceda/trim-user-id
jon12156 Jan 11, 2021
dea2dab
Quick return to menu
Graffiiti Feb 22, 2021
06a02ac
Removed unused code
Graffiiti Feb 22, 2021
e9b507b
Update mainloop.lua
Graffiiti Feb 22, 2021
d34d6e8
Implemented popping particles, added attack spritesheet for all chara…
Fantoser May 14, 2021
5c34526
Fixed popsfxs not working in replays
Fantoser May 14, 2021
d0d670e
Made better the animation on popfx (and removed an added menupoint)
Fantoser May 14, 2021
cf1c737
Set things back to original state for pull request.
Fantoser May 14, 2021
22590ae
Updated popfx, so it work with any dimension as long as the frames ha…
Fantoser May 15, 2021
3f104d5
Implemented garbage popping make popfx
Fantoser May 15, 2021
f9eadd1
Putting things back to default state
Fantoser May 15, 2021
ff0950c
Implemented portrait fade at the beginning of a game
Fantoser May 15, 2021
08f26a1
Fixed an issue caused by modifying grectangle, implemented gectangle_…
Fantoser May 15, 2021
1608d1f
Fixed timing issue with portrait fade
Fantoser May 15, 2021
54526b4
Setting for portrait darkness implemented, started updating popfx wit…
Fantoser May 16, 2021
912e4a8
Setting for popfx implemented, big particle from popfx taken out unti…
Fantoser May 16, 2021
a5ad13b
Fixed setting with popfx
Fantoser May 16, 2021
2f589d1
Implemented popfx_rotation in characters config.json, fixed popfx ali…
Fantoser May 17, 2021
2224a1e
Merge pull request #201 from panel-attack/touch-and-mouse
jon12156 May 20, 2021
8a37096
Merge pull request #200 from Fantoser/master
jon12156 May 20, 2021
6530161
Made possible to use fade and burst popfx at the same time, burst and…
Fantoser May 20, 2021
9fb8b4b
Merge pull request #202 from Fantoser/master
jon12156 May 24, 2021
fbb2769
mark as beta
jon12156 May 24, 2021
2da688a
Merge branch 'beta2021-05' of https://github.com/panel-attack/panel-a…
jon12156 May 24, 2021
337356c
use beta-updates url for updater
jon12156 May 24, 2021
fdf16d8
New default panels - from mizunoketsuban
jon12156 May 24, 2021
a1febf9
Added/edited missing files, implemented cardfx
Fantoser May 26, 2021
a554be8
HUD overhaul which configurable from theme via config.json file
Fantoser May 31, 2021
902bf47
Rating HUD element and graphic, made popfx default to theme based.
Fantoser Jun 2, 2021
869b80b
Fixed bugs: crash when player present without rating, joining match w…
Fantoser Jun 14, 2021
c9c0ed5
Fixed bug regarding rating, ovehauled HUD symmetry in graphic.lua, mu…
Fantoser Jun 21, 2021
82c92dd
Fixing issue when player don't have rating
Fantoser Jun 22, 2021
3494377
Merge pull request #205 from Fantoser/master
jon12156 Jul 16, 2021
b5726b4
Reduced bit-depth to 32 or less for mobile
C-Kudo Jul 18, 2021
44f0077
Centered post-game text
C-Kudo Jul 18, 2021
0ecd79d
use Krahie's multibar and healthbar
jon12156 Jul 19, 2021
bdf5067
Merge branch 'beta2021-05' into pr/206
jon12156 Jul 19, 2021
5858f52
Merge pull request #206 from C-Kudo/beta2021-05
jon12156 Jul 19, 2021
57411ff
better-matching-color health bar frames from Miz
jon12156 Jul 21, 2021
c5ab558
replaced TA character garbage
jon12156 Jul 21, 2021
f7de830
burst.png bit-depth reduction
C-Kudo Jul 21, 2021
471e9ca
Merge branch 'panel-attack:beta2021-05' into beta2021-05
C-Kudo Jul 24, 2021
1a35d47
Unused assets bit-depth
C-Kudo Jul 24, 2021
ca27161
Merge pull request #207 from C-Kudo/beta2021-05
jon12156 Jul 24, 2021
7a509ab
Merge pull request #190 from Graffiiti/patch-7
jon12156 Jul 24, 2021
ba43d92
Revert "Merge pull request #190 from Graffiiti/patch-7"
jon12156 Jul 24, 2021
983b256
updated config_input menu to let you change players via touch
jon12156 Aug 1, 2021
041bc78
initial work on scrolling click_menu
jon12156 Aug 2, 2021
adc31e7
some progress. buggy.
jon12156 Aug 3, 2021
791bf82
scrolling lobby menu. keeps active_idx when lobby updates
jon12156 Aug 5, 2021
c378ec6
draw menu controls (they don't do anything yet)
jon12156 Aug 5, 2021
4f33991
touch/click menu buttons for up/down
jon12156 Aug 6, 2021
3c6088e
work towards hiding control buttons when appropriate
jon12156 Aug 6, 2021
24a4248
menu working properly again after changes
jon12156 Aug 8, 2021
d9e2e1a
only show menu controls if scrolling is necessary.
jon12156 Aug 8, 2021
2bcaafd
make input menu fit without scrolling
jon12156 Aug 8, 2021
e1d3f8d
removed a bunch of debug console prints
jon12156 Aug 8, 2021
c7b66a1
removed test dummy entries in lobby menu, one more print
jon12156 Aug 8, 2021
40e9362
force saving window y position to a minimum of 30 px so the title bar…
jon12156 Aug 18, 2021
845e878
make a public facing leaderboard CSV
jon12156 Sep 29, 2021
d97bcbf
Merge pull request #216 from panel-attack/public-leaderboard
jon12156 Sep 29, 2021
382f721
"defaultname" Prompt
AegisCrusader Oct 3, 2021
43f5241
Merge pull request #219 from panel-attack/beta2021-05
jon12156 Oct 4, 2021
6b40d1a
change updater config from beta to stable
jon12156 Oct 4, 2021
a5c8935
loop main_set_name until you haven't chosen defaultname
jon12156 Oct 5, 2021
2b5b853
Merge pull request #218 from Shosoul/patch-3
jon12156 Oct 5, 2021
fa0a416
Fix fullscreen bug, it save if the program closed in fullscreen mode …
Fantoser Oct 8, 2021
a06d579
still don't allow saving of <30 for Y value
jon12156 Oct 8, 2021
4b7c343
Merge branch 'master' into master
jon12156 Oct 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
47 changes: 0 additions & 47 deletions Custom Characters Readme.txt

This file was deleted.

30 changes: 0 additions & 30 deletions Custom Graphics Readme.txt

This file was deleted.

13 changes: 0 additions & 13 deletions Custom Sounds Readme.txt

This file was deleted.

128 changes: 98 additions & 30 deletions analytics.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
local analytics_version = 2
local analytics = {}

analytics = {
local analytics_version = 3

local analytic_data_cap = 999999 -- prevents overflow

local analytics_data = {
-- The lastly used version
version = analytics_version,

Expand All @@ -10,6 +14,10 @@ analytics = {
destroyed_panels = 0,
-- the amount of sent garbage
sent_garbage_lines = 0,
-- the amount of times the cursor was moved
move_count = 0,
-- the amount of times the panels were swapped
swap_count = 0,
-- 1 to 12, then 13+, 1 is obviously meaningless
reached_chains = { },
-- 1 to 40, 1 to 3 being meaningless
Expand All @@ -22,6 +30,10 @@ analytics = {
destroyed_panels = 0,
-- the amount of sent garbage
sent_garbage_lines = 0,
-- the amount of times the cursor was moved
move_count = 0,
-- the amount of times the panels were swapped
swap_count = 0,
-- 1 to 12, then 13+, 1 is obviously meaningless
reached_chains = { },
-- 1 to 40, 1 to 3 being meaningless
Expand All @@ -32,6 +44,8 @@ analytics = {
local function analytic_clear(analytic)
analytic.destroyed_panels = 0
analytic.sent_garbage_lines = 0
analytic.move_count = 0
analytic.swap_count = 0
analytic.reached_chains = {}
analytic.used_combos = {}
end
Expand Down Expand Up @@ -69,27 +83,49 @@ local function refresh_sent_garbage_lines(analytic)
analytic.sent_garbage_lines = sent_garbage_lines_count
end

function analytics_init() pcall(function()
function analytics.init() pcall(function()
if not config.enable_analytics then
return
end

local file = love.filesystem.newFile("analytics.json")
file:open("r")
local read_data = {}
local analytics_file, err = love.filesystem.newFile("analytics.json", "r")
if analytics_file then
local teh_json = analytics_file:read(analytics_file:getSize())
for k,v in pairs(json.decode(teh_json)) do
read_data[k] = v
end
end

local teh_json = file:read(file:getSize())
for k,v in pairs(json.decode(teh_json)) do
analytics[k] = v
if read_data.version and type(read_data.version) == "number" then
analytics_data.version = read_data.version
end
local analytics_filters = { "last_game", "overall" }
local number_params = { "destroyed_panels", "sent_garbage_lines", "move_count", "swap_count" }
local table_params = { "reached_chains", "used_combos" }
for _,analytic in pairs(analytics_filters) do
if read_data[analytic] and type(read_data[analytic]) == "table" then
for n,param in pairs(number_params) do
if read_data[analytic][param] and type(read_data[analytic][param]) == "number" then
analytics_data[analytic][param] = math.min(read_data[analytic][param],analytic_data_cap)
end
end
for m,param in pairs(table_params) do
if read_data[analytic][param] and type(read_data[analytic][param]) == "table" then
analytics_data[analytic][param] = read_data[analytic][param]
end
end
end
end

analytic_clear(analytics.last_game)
analytic_clear(analytics_data.last_game)

-- do stuff regarding version compatibility here, before we patch it
if analytics.version < 2 then
refresh_sent_garbage_lines(analytics.overall)
if analytics_data.version < 2 then
refresh_sent_garbage_lines(analytics_data.overall)
end

analytics.version = analytics_version
analytics_data.version = analytics_version
file:close()
end) end

Expand All @@ -98,13 +134,15 @@ local function output_pretty_analytics() pcall(function()
return
end

local analytics_filters = { analytics.last_game, analytics.overall }
local analytics_filters = { analytics_data.last_game, analytics_data.overall }
local titles = { "Last game\n-------------------------------------\n", "Overall\n-------------------------------------\n" }
local text = ""
for i,analytic in pairs(analytics_filters) do
text = text..titles[i]
text = text.."Destroyed "..analytic.destroyed_panels.." panels.\n"
text = text.."Sent "..analytic.sent_garbage_lines.." lines of garbage.\n"
text = text.."Moved "..analytic.move_count.." times.\n"
text = text.."Swapped "..analytic.swap_count.." times.\n"
text = text.."Performed combos:\n"
for k,v in pairs(analytic.used_combos) do
if k then
Expand All @@ -127,91 +165,121 @@ local function output_pretty_analytics() pcall(function()
end) end


function analytics_draw(x,y)
function analytics.draw(x,y)
if not config.enable_analytics then
return
end

gprint("Panels destroyed: "..analytics.last_game.destroyed_panels, x, y)
gprint("Panels destroyed: "..analytics_data.last_game.destroyed_panels, x, y)
y = y+15

gprint("Sent garbage lines: "..analytics_data.last_game.sent_garbage_lines, x, y)
y = y+15

gprint("Moved "..analytics_data.last_game.move_count.." times", x, y)
y = y+15

gprint("Sent garbage lines: "..analytics.last_game.sent_garbage_lines, x, y)
gprint("Swapped "..analytics_data.last_game.swap_count.." times", x, y)
y = y+15

local ycombo = y
for i=2,13 do
local chain_amount = analytics.last_game.reached_chains[i] or 0
local chain_amount = analytics_data.last_game.reached_chains[i] or 0
gprint("x"..i..": "..chain_amount, x, y)
y = y+15
end

local chain_above_13 = compute_above_13(analytics.last_game)
local chain_above_13 = compute_above_13(analytics_data.last_game)
gprint("x?: "..chain_above_13, x, y)

local xcombo = x + 50
for i=4,15 do
local combo_amount = analytics.last_game.used_combos[i] or 0
local combo_amount = analytics_data.last_game.used_combos[i] or 0
gprint("c"..i..": "..combo_amount, xcombo, ycombo)
ycombo = ycombo+15
end
end

function write_analytics_files() pcall(function()
local function write_analytics_files() pcall(function()
if not config.enable_analytics then
return
end

local file = love.filesystem.newFile("analytics.json")
file:open("w")
file:write(json.encode(analytics))
file:write(json.encode(analytics_data))
file:close()

output_pretty_analytics()
end) end

function analytics_register_destroyed_panels(amount)
function analytics.register_destroyed_panels(amount)
if not config.enable_analytics then
return
end

local analytics_filters = { analytics.last_game, analytics.overall }
local analytics_filters = { analytics_data.last_game, analytics_data.overall }
for _,analytic in pairs(analytics_filters) do
analytic.destroyed_panels = analytic.destroyed_panels + amount
if amount > 3 then
if not analytic.used_combos[amount] then
analytic.used_combos[amount] = 1
else
analytic.used_combos[amount] = analytic.used_combos[amount] + 1
analytic.used_combos[amount] = math.min(analytic.used_combos[amount]+1,analytic_data_cap)
end
analytic.sent_garbage_lines = analytic.sent_garbage_lines + amount_of_garbages_lines_per_combo[amount]
end
end
end

function analytics_register_chain(size)
function analytics.register_chain(size)
if not config.enable_analytics then
return
end

local max_size = math.min(size, 13)

local analytics_filters = { analytics.last_game, analytics.overall }
local analytics_filters = { analytics_data.last_game, analytics_data.overall }
for _,analytic in pairs(analytics_filters) do
if not analytic.reached_chains[size] then
analytic.reached_chains[size] = 1
else
analytic.reached_chains[size] = analytic.reached_chains[size]+1
analytic.reached_chains[size] = math.min(analytic.reached_chains[size]+1,analytic_data_cap)
end
size = math.min(size, 13)
analytic.sent_garbage_lines = analytic.sent_garbage_lines + (max_size-1)
end
end

function analytics_game_ends()
function analytics.register_swap()
if not config.enable_analytics then
return
end

local analytics_filters = { analytics_data.last_game, analytics_data.overall }
for _,analytic in pairs(analytics_filters) do
analytic.swap_count = math.min(analytic.swap_count + 1,analytic_data_cap)
end
end

function analytics.register_move()
if not config.enable_analytics then
return
end

local analytics_filters = { analytics_data.last_game, analytics_data.overall }
for _,analytic in pairs(analytics_filters) do
analytic.move_count = math.min(analytic.move_count + 1,analytic_data_cap)
end
end

function analytics.game_ends()
if not config.enable_analytics then
return
end

write_analytics_files()
analytic_clear(analytics.last_game)
end
analytic_clear(analytics_data.last_game)
end

return analytics
Binary file removed assets/Stock PdP_TA/blueend10.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/blueend11.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/blueface1.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/bluemid1.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/bluepop.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/char_sel_cursors.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/garbage.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/menu/title.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/redend10.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/redend11.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/redface1.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/redmid1.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/redpop.png
Binary file not shown.
Binary file removed assets/Stock PdP_TA/stages/1.png
Binary file not shown.
9 changes: 9 additions & 0 deletions auto_updater/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Here is the process to publish the auto_updater:
- configure UPDATER_NAME in main.lua
- configure updater_config.lua with the server_url
- copy the last version of the game here in this folder "any-name.love"
- make the exe auto_updater, publish with a name like "panel.zip" or "panel-beta.zip", ...

Here is the process to release a version of the game:
- make a love file
- upload it to the server with a name like "panel-beta-DATE_HOUR.love"
7 changes: 7 additions & 0 deletions auto_updater/_config.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
updater_config = {
auto_update= true,
launch_check_interval= 6 * 3600, -- in seconds (default 6h) will check for updates at launch if interval has passed (it will always check for updates ingame in background)
launch_check_timeout= 0.4, -- in seconds (default 400ms) time before aborting the check for updates request at launch, it will always take all the time needed ingame in background
server_url= "http://panelattack.com/updates",
force_version= "", -- ex: "panel-2019-11-17.love"
}
12 changes: 12 additions & 0 deletions auto_updater/class.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
function class(init)
local c,mt = {},{}
c.__index = c
mt.__call = function(class_tbl, ...)
local obj = {}
setmetatable(obj,c)
init(obj,...)
return obj
end
setmetatable(c, mt)
return c
end
Loading