Commit Graph

38 Commits

Author SHA1 Message Date
alex
d4219ed94c
fix [rainbow] in msg compiler (#416)
It's unused but I saw the typo
2021-09-08 19:36:06 +09:00
Ethan Roseman
3ed6f5b382
Don't uniq warnings and write initial build to file (#407)
* Don't uniq warnings and write initial build to file

* Don't build twice, turn ccache off by default
2021-08-30 01:48:23 +09:00
Muskellunge
c58b4098f5
decomped AC function (#401)
* rename func_80242178_7ECE88

* matched tiny function

* decomp AC func

* renamed some vars

* made requested changes

* named temp_s0
2021-08-27 01:44:37 -04:00
jdaster64
3627d909fc
Power Shock - Adding 4/5 matching funcs (#389)
* Tidal Wave update function

* Tidal Wave merge issues, re-delete ASM

* action_cmd_tidal_wave_update (#379)

* Adding Power Shock 4/5 matching, NON_MATCHING update func

* Responses to comments

* disable ccache on Jenkins :(

* oops

* Fix type warnings for HUD scripts, add function declarations

* Fixing a couple more Power Shock warnings

* Change HudElements* to s32s in Power Shock code

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2021-08-26 03:08:35 +09:00
alex
d0be37641b
Fix a bunch of warnings (#388)
* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "5d7a6c0813"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "5d7a6c0813"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* configure: add --no-warn

* clean up hud_element.h

* fix some warnings
2021-08-25 21:34:03 +09:00
EllipticEllipsis
0e1100de7f
Remove jumpscare, couple of additions to CONTRIBUTING.md (#386)
* Remove jumpscare

Allow the faint of heart to build the repo

* Clarify make_expected and add -3 info

* Add info about mips_to_c and m2ctx.py

* Mention -h

* Remove unneded version stuff for make_expected
2021-08-25 01:08:42 -04:00
alex
f81658b0fa
never use ccache in permuter_settings.toml 2021-08-24 18:11:05 +01:00
alex
78a729a7a3
NPC animation cleanup (#384)
* remove BattleID and NpcAnimId typedefs

* change NPC_ANIM generation

* struct for StaticNpc.animations

* ~peach_make_disguise_npc
2021-08-25 01:42:29 +09:00
alex
d726b26287
Enforce warnings count in pull requests (#380)
* add warnings_count

Stolen from https://github.com/zeldaret/mm.

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* emit only new warnings

* add jp warnings

* fix ccache (lmao)

* slug comments about warnings

* oops

* oops again

* oops again again

* adjust message

* truncate warnings list if there are more than 100

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2021-08-24 22:30:35 +09:00
Ethan Roseman
f5a6d26ca8
Full GCC Compiler (#378)
* fx table work

* fx data

* blah

* render_effects_UI

* split out effects.c

* initial testing of full gcc compiler

* don't touch undefined syms/funcs auto

* git subrepo pull --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "25b848a230"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "25b848a230"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* 4 npc funcs

* nine sef commands

* test

* test2

* run undefined_syms through cpp, remove bss and dead syms files

* nuContQueryRead

* update compiler

* configure fixes

* Update compiler binaries with latest build

* permuter_settings

* xgcc -> gcc

* change permissions

* .

* fix permuter stuff

* gcc is the bane of my existence

* non-dumb mac cpp

* build .cpp files with g++

* ccache

* hide stdout/stderr from ccache check

* fix #374

* tar something and other

* ok!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* lol

* fix linux install

* 👍

* 👍👍

* Make cousin J happy

* always 👍

* git subrepo pull (merge) tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "09a5715405"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "09a5715405"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

Co-authored-by: alex <16batesa@gmail.com>
2021-08-23 06:55:26 +09:00
alex
de800e9c9f
mass script to evt type rename (#377)
* add process_scripts.py

* mass evt rename
2021-08-23 06:50:10 +09:00
Ethan Roseman
2c0cb43181
Tidying (#375)
* don't touch undefined syms/funcs auto

* git subrepo pull --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "25b848a230"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "25b848a230"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* 4 npc funcs

* nine sef commands

* test

* test2

* run undefined_syms through cpp, remove bss and dead syms files

* nuContQueryRead

* Remove unnecessary flags

* oops

* oops2
2021-08-22 22:10:06 +09:00
alex
048b166d0c
configure: use relative paths & fix arm toolchain 2021-08-18 18:10:11 +01:00
alex
49bee8512b
hud_element.c (#371)
* generate permuter_settings.toml
* remove -Wshadow (#366)

Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>
2021-08-18 17:28:32 +01:00
Ethan Roseman
aaf44dceac
effect overlay refactor (#369)
* fx table work

* fx data

* blah

* render_effects_UI

* split out effects.c

* battle state menu functions

* render_frame

* clean

* clean

* 4 camera funcs

* state_step_end_battle & symbol names

* state_file_select done

* 111f0 done

* .

* the great effect migration

* PR comments

* main func renames

* proper symbols for the effects table! (mostly)

* effect entry table cleanup

* comments

* Remove old asm, fix fx table

* cleanup

* cleanup
2021-08-17 12:24:26 +01:00
Ethan Roseman
3c887e6ac3
curtains.c data work, assorted funcs, new file, etc and cleanup: misc decomp (#360)
* PlayEffect progress, two insane funcs

* PartnerActionStatus struct and some cleanup

* file split

* physics funcs

* data migration, some decomp

* curtains data, etc

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "b8bf80cd07"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "b8bf80cd07"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "265b837554"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "265b837554"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* PR comments
2021-08-14 02:27:57 +09:00
alex
932876f423
use cpp-11 if installed on macOS 2021-08-09 16:59:05 +01:00
Ethan Roseman
5d69c3454f
effect shims and more battle matches (#347) 2021-07-31 15:32:19 +01:00
alex
e789b7542a
configure: allow specification of cflags on a per-file basis in splat.yaml (#345)
* fix #339

* add --debug and --non-matching configure flags
2021-07-28 20:47:05 +09:00
Ethan Roseman
24e32f8b48
Effect code generation (#338)
* Update symbol_addrs

* effects.h and cleanup

* effect code generation!
2021-07-21 23:46:58 +09:00
alex
cbb656f3c9
add remaining opcode support to script DSL (#329)
* update dsl caserange and bind syntax

* add bind_padlock

* use dsl buf and arr commands

* clean up foliage.inc.c

* disasm rest of battle/partner/goombario scripts

* fix rest of SI_CMD uses
2021-07-21 02:43:16 +09:00
Ethan Roseman
1beee32dc6
Message work (#315)
* msg wip

* var name restoration

* rodata padding

* New compiler that supports .bss section attribute!

* -fno-common & cleanup

* clean

* extern bss for now

* msg work

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "8588eaae7b"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "8588eaae7b"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* msg_draw_prim_rect

* draw_message_window

* render_messages

* draw_string progress

* remove dumb file

* images, data
2021-07-17 03:27:27 +09:00
alex
fcf84633a7
Split jp map_data (#313)
* split jp mapfs

* fix us pm_map_data

* jp title_data

* oops

* avoid placing build files in assets/

* match load_hit_asset

* match load_stage_collision

* name gMapConfig and gMap
2021-07-16 20:08:22 +09:00
alex
7cf8bf0b88
Split charsets, matching load_font and load_font_data (#312)
Also use snake_case for splat_ext types
2021-07-16 10:28:37 +01:00
Ethan Roseman
7cb1790789
Fix alignment of many data sections (#305)
* generate c includes for img segments

* flatten battle/item/dusty_hammer.c

needs custom splat

* use .inc.c for c incbins

* fixy

* new stuff

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "6120d18600"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "6120d18600"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* remove dumb

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "8a179e74ba"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "8a179e74ba"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* yaml cleaning

* Further yaml cleanup & battle item refactor

* remove rawptr

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "fe30b60b75"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "fe30b60b75"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* further cleanup

* Further cleanup & match gfx_draw_background

* clean & wip

Co-authored-by: Alex Bates <hi@imalex.xyz>
2021-07-12 18:15:00 +09:00
Ethan Roseman
647db26552
Mass function rename from Star Rod + a couple funcs (#298)
* .

* yaml update

* git subrepo pull --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "cd690f725d"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "cd690f725d"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* separate main bss syms

* renames and one match

* SR symbol rename

* fix symbol_addrs

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "5fa8aa24ca"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "5fa8aa24ca"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* remove old artifacts
2021-06-30 11:27:12 +09:00
Ethan Roseman
8c690d23d1
Assorted Morsels (#297)
* bss

* 3 audios

* d5a50 stuff

* some icon funcs

* get_icon_render_pos

* PlayerLandJump

* func_80248170

* cleanup

* splat update prep

* git subrepo pull --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "81c4b35b89"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "81c4b35b89"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "9b791a654a"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "9b791a654a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "2cf2a5e5d8"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "2cf2a5e5d8"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* fix loop in PaperMarioNpcSprites

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "2fab217750"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "2fab217750"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* add sha1 to yaml

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "426b08200d"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "426b08200d"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* varTable -> union :( + player_api funcs

* 6 more

* 4 more

* 5 mo

* 1 mo

* 1 mo 2

* 5 mo

* player_jump

* 3 mo

* some 18F340

* 6 more

* 6 mo

* nm

* 1

* 1 more

* some PR feedback

* symbol addr update

* UnsetCamera0Flag1000

* SetPlayerSpriteSet2

* action 18

* encounter + a smol hammer

* git subrepo pull (merge) tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "8cf482fe57"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "4c0a93eaed"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* 3 and cleanup

* undo yucky union

* PR comments

* get_enemy_safe

* cleanup

* move VirtualEntity

* attempt to fix doxygen

* 3, cleanup

* broken

* fixed!

* progress

* 2

* 3 and cleanup

* 6 map_api funcs

* 3 map api

* CreateNpc

* BringPartnerOut & NpcFlyTo

* npc_api complete

* update_scripts

* 4 si bois inc si_execute_next_command

* update symbol_addrs

* 2 more and cleanup

* camera struct & do_camera_type_0

* PR feedback

* small tidying
2021-06-21 13:30:57 +09:00
alex
39029a810e
split and pack title_data (#293) 2021-05-08 15:54:34 +09:00
Maide
0ec2010b9b
dro and flo (#285)
* dro_01

* UnkFunc25

* UnkFunc26

* UnkFunc27

* Fixup old UnkFuncs

* a

* UnkFunc28

* UnkFunc29

* UnkFunc30

* dro_02

* UnkFunc30

* UnkFunc31

* UnkFunc33

* UnkFunc34

* UnkFunc35

* UnkFunc36

* Fix splat.yaml and remove asm

* Fixed finally

* a

* flo_00

* update func

* flo_03

* flo_07

* flo_08

* UnkFunc37 & 38

* UnkFunc39

* UnkFunc40

* a

* Some copies

* Func

* flo_09

* Fix linker alignment warnings

* flo_10 (partial)

* flo_11

* flo_12

* flo_13

* UnkFunc41

* Copy funcs

* UnkFunc42

* flo_14

* UnkFunc43

* UnkFunc44

* flo_16

* UnkFunc44

* UnkFunc45

* flo_15

* flo_17

* flo_18

* flo_19

* flo_21

* flo_22

* flo_23

* flo_24

* flo_25

* cya asm

* a

* a

* Finally OK!

* Alter scripts

* Fix food func

* PR1

* PR2

* Add tree structs to disassembly and change names

* tabs to spaces and callback &

* Fix the script too

* PR3

* Fucking newlines
2021-04-30 02:09:30 +09:00
alex
d530ca24cd
Various script cleanup (#284)
* update star_rod_idx_to_c for battles

* name spiked_goomba and paragoomba animations

* name cleft animations

* finish battle struct disasm

* fix for kmr part 3

* name jr troopa animations

Co-authored by: T00nbink <martyntoby@gmail.com>

* ignore star rod crash.xml

* foliage.inc.c

* foliage data

* script: =f -> = (float)

* script: add (int) cast
2021-04-28 17:58:21 +09:00
Ethan Roseman
011a957985
Compiler's Worst Nightmare (#278)
* 25.00%

* remove __naked__ and name printContext->unk_4E8

* change rodata strings to []

* actually remove

* fix headers

* git subrepo pull --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "eec8ac0cb8"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "eec8ac0cb8"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* progress

* .

* .

* some stuff

* git subrepo pull --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "4e012eaad6"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "imgflip"
  commit:   "4e012eaad6"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* :OK:

* 2 graphics funcs!

* woo

* more

* match func_802A15A0_733670 (#276)

* .

* gfx_draw_frame, other fixes

* macros begone!

Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>
2021-04-23 20:55:30 +09:00
Alex Bates
b786f3860b
remove temp print() in img/build.py 2021-04-22 09:26:16 +01:00
alex
9900e9a2b8
More image splits (#272)
* A number of new image splits

* Address comments.

* git subrepo pull --force --branch=imgflip tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "9caaa45df9"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "imgflip"
  commit:   "9caaa45df9"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* use flip_y over flip

* git subrepo pull --force --branch=imgflip tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "ef663ec0d5"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "imgflip"
  commit:   "ef663ec0d5"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* use flip_y

* git subrepo pull --force --branch=imgflip tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "3144dc17f6"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "imgflip"
  commit:   "3144dc17f6"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

Co-authored-by: JoshDuMan <Joshua.Shoup.1996@gmail.com>
2021-04-22 01:01:00 +09:00
alex
a3e4140101
Sprite stuff (#270)
* root-level configure script

* fix configure on macos?

* fix macos again maybe

* fix messages, add asset stack

* generate map headers from xml maps

* fix sprite_dir asset

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "5e36c45558"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "5e36c45558"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* name sprite.c

* almost match func_802DD8F8

* match func_802DD8F8

* crusade against unsigned integers

* name some sprite data

* add pylibyaml to requirements.txt
2021-04-19 00:01:59 -04:00
alex
060486c85e
Configure updates for modding (#262)
* root-level configure script

* fix configure on macos?

* fix macos again maybe

* fix messages, add asset stack

* generate map headers from xml maps

* fix sprite_dir asset

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "5e36c45558"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "5e36c45558"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"
2021-04-18 22:26:00 +09:00
Ethan Roseman
3976b4d614
Fixing the mac build (#263) 2021-04-17 22:31:33 -04:00
alex
a557e4cd96
Fix configure on macOS (#261)
* root-level configure script

* fix configure on macos?
2021-04-17 20:53:34 +09:00
Ethan Roseman
3315d6010f
Splat refactor (#257)
* all non-world rodata migrated

* data disasm

* kinda working

* updated yaml

* bloop

* linker header

* configure 2.0

* bin

* mass rename to remove code_

* pause rename

* battle partner stuff

* whew

* more renames

* more renames

* more renaming

* it builds!

* updates

* remove main prefix

* one more thing

* crc, yay0

* .data, .rodata, .bss

* img

* dead_atan2

* it buildsgit add -A

* split battle/partner/6FAD10

* rm &s on sleepy_sheep syms

* sha1sum ninja rule description

* OK but commented out PaperMarioMapFS and PaperMarioNpcSprites

* uncomment

* fix mapfs

* match func_8003CFB4

* .

* clean up and name npc_iter_no_op

* npc.c

* enable cc warnings

* name npc_find_near

* use singular options.asset_path

* smores

* cc_dsl only when needed

* kinda fix configure for splat refactor2

* ok!

* new msg format

* remove old msg format docs

* slight bug fixes, splat adjustment

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "cfc140bb76"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "cfc140bb76"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "85349befcd"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "85349befcd"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Update symbol addrs

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "a44631e194"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "a44631e194"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

Co-authored-by: Alex Bates <hi@imalex.xyz>
2021-04-13 16:47:52 +09:00