Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ libctru exposes the actual 3DS input hardware. The Indigo input abstraction curr

Keep raw libctru key constants inside `input/` where possible.

Lists scroll three ways, all through `indigo_input`: up and down (D-pad or Circle Pad, repeating while held), L and R for a page (the C-Stick too), and a touch drag that begins on one of the list's rows. The drag is Wolfram's `wf_drag` (`wolfram/drag.h`), fed in `src/input/input.c` and read by `drag_rows` in `src/app/app.c`; do not re-grow your own tap-versus-drag logic. Core navigation must work on Old 3DS hardware. New 3DS-only inputs such as C-Stick and ZL/ZR can enhance the experience but cannot be required for basic operation.
Lists scroll three ways, all through `indigo_input`: up and down (D-pad or Circle Pad, repeating while held), L and R for a page (the C-Stick too), and a touch drag that begins on one of the list's rows. The drag is Wolfram's `wf_drag` (`wolfram/drag.h`), fed in `src/input/input.c` and read by `indigo_app_drag_rows` in `src/app/app_posts.c`; do not re-grow your own tap-versus-drag logic. Core navigation must work on Old 3DS hardware. New 3DS-only inputs such as C-Stick and ZL/ZR can enhance the experience but cannot be required for basic operation.

When adding a gesture or touchscreen-only interaction, provide a physical-control equivalent when the operation is important.

Expand Down Expand Up @@ -259,7 +259,7 @@ romfs/ cacert.pem, curated by tools/make_cabundle.py

Keep modules responsibility-focused.

Avoid turning `app.c` or `ui.c` into a catch-all.
Avoid turning `app.c` or `ui.c` into a catch-all: `app.c` is the spine (init, history, requests, dispatch), `app_posts.c` and `app_screens.c` handle input, `app_results.c` takes the results, and `app_internal.h` is what they share.

The flat VPATH used by the devkitPro Makefile means same-named source files can become ambiguous object names. Prefer descriptive filenames when two directories would otherwise both contain something such as `profile.c`.

Expand Down
2 changes: 1 addition & 1 deletion mk/host.mk
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ HOST_WOLFRAM_OBJS := $(addprefix $(HOST_OUT)/wf_,$(subst /,_,$(HOST_WOLFRAM_FILE
$(addprefix $(HOST_OUT)/wf_,$(subst /,_,$(HOST_WOLFRAM_CXX_FILES:.cpp=.o)))

# Sources that never touch libctru/citro2d.
HOST_SRCS := src/app/app.c src/app/search.c src/app/signin.c src/app/social.c src/app/timeline.c src/atproto/errors.c src/atproto/prefs.c src/media/media.c src/store/session_codec.c src/store/session_store.c src/store/settings_codec.c src/store/settings_store.c src/store/draft_store.c src/store/file.c src/gfx/canvas.c src/ui/layout.c src/ui/wrap.c src/util/log.c src/util/clock.c src/update/update.c src/update/updater.c src/update/update_sig.c src/media/cdn_url.c
HOST_SRCS := src/app/app.c src/app/app_posts.c src/app/app_screens.c src/app/app_results.c src/app/search.c src/app/signin.c src/app/social.c src/app/timeline.c src/atproto/errors.c src/atproto/prefs.c src/media/media.c src/store/session_codec.c src/store/session_store.c src/store/settings_codec.c src/store/settings_store.c src/store/draft_store.c src/store/file.c src/gfx/canvas.c src/ui/layout.c src/ui/wrap.c src/util/log.c src/util/clock.c src/update/update.c src/update/updater.c src/update/update_sig.c src/media/cdn_url.c
HOST_SANITIZE := -fsanitize=address,undefined -fno-omit-frame-pointer -g -O1

.PHONY: test warnings snapshots
Expand Down
Loading
Loading