Commit Graph

464 Commits

Author SHA1 Message Date
Antonio Niño Díaz
86955bc0a0 rich text: Allow the number of fonts to be specified dynamically
Some checks failed
Documentation / Generate website (push) Has been cancelled
Documentation / Publish website with GitHub pages (push) Has been cancelled
This switches the rich text library from using a constant for the max
number of fonts to allowing the user to specify how many fonts should be
used dynamically. To accomplish this, a new method is introduced to the
rich text system: `NE_RichTextStartSystem`, which accepts the number of
slots to allocate. Those slots are allocated and then freed when
`NE_RichTextResetSystem` is called.

To maintain compatibility, I have not removed `NE_MAX_RICH_TEXT_FONTS`
(instead opting to mark it as deprecated), and have added functionality
to automatically call `NE_RichTextStartSystem` with that old value (8)
if the user decides to init a rich text slot before calling
`NE_RichTextStartSystem` (which would likely be the previous default
behavior).
2025-05-25 01:32:55 +02:00
jonko0493
6e1dca996c rich text: Allow the number of fonts to be specified dynamically 2025-05-24 09:37:46 -07:00
Antonio Niño Díaz
02f3cd7012 github: Add workflow to publish the documentation
Some checks failed
Documentation / Generate website (push) Has been cancelled
Documentation / Publish website with GitHub pages (push) Has been cancelled
2025-05-14 00:02:21 +01:00
Antonio Niño Díaz
926bb4f361 docs: library: Update changelog and version number to 0.15.3 2025-03-26 18:08:47 +00:00
Antonio Niño Díaz
f6b0200be3 build: Build library with debug symbols enabled
They are excluded from the final binaries, so the only effect of this is
to help with debugging by using a bit more of disk space.
2025-03-26 18:06:36 +00:00
Antonio Niño Díaz
d42cb2c08e docs: Update changelog 2025-03-24 21:19:31 +00:00
Antonio Niño Díaz
d52a92812e examples: Use BLOCKSDS environment variables to find tools
Only use the hardcoded paths if the variable isn't set to anything.
2025-03-24 21:18:00 +00:00
Antonio Niño Díaz
cb2e62f953 examples: Refresh pre-converted textures in the repository 2025-03-24 21:05:15 +00:00
Antonio Niño Díaz
5a10679dfb build: docs: Remove outdated devkitARM makefiles
Nitro Engine doesn't work with the current libraries of devkitARM. It's
better to remove the makefiles and to stop pretending that devkitARM is
supported. Updating the makefiles wouldn't be enough, though, it's likely
that the library will require code changes, as well as the examples.
2025-03-24 21:03:01 +00:00
Antonio Niño Díaz
b67c60d5f0 docs: library: Update changelog and library version to 0.15.2 2025-01-15 18:26:00 +00:00
Antonio Niño Díaz
fff1a65647 docs: Add note about using devkitARM 2025-01-15 18:24:47 +00:00
Antonio Niño Díaz
efbf4b6546 docs: Fix link 2025-01-14 01:29:06 +00:00
Antonio Niño Díaz
dd20800334 docs: Mention BlocksDS package in setup instructions 2025-01-14 01:27:25 +00:00
Antonio Niño Díaz
39117696aa build: Uniformize all devkitARM makefiles
Add DATA and GRAPHICS directories to all of them so that it's easier to
maintain the files.
2024-12-31 16:20:02 +01:00
Antonio Niño Díaz
459d8f8960 build: Use ar from ARM toolchain instead of the system one 2024-12-30 02:13:53 +01:00
Antonio Niño Díaz
e5ae245674 examples: Fix build of example on devkitARM 2024-12-28 12:44:36 +01:00
Antonio Niño Díaz
8a18dfa586 doxygen: Update version number in Doxyfile 2024-12-23 00:50:19 +01:00
Antonio Niño Díaz
de9ca58286 docs: library: Update changelog and version number 2024-12-23 00:40:45 +01:00
Antonio Niño Díaz
446e27110e examples: Clarify some comments 2024-12-17 00:38:28 +00:00
Antonio Niño Díaz
09c3712431 build: Install licenses with the rest of the library 2024-12-01 13:42:18 +00:00
Antonio Niño Díaz
a6738a9ab5 docs: library: Update changelog and version number 2024-12-01 12:07:51 +00:00
W3SLAV/gt4ous
afdd56eda4 examples: Fix devkitARM makefile
Added missing data directory.
2024-11-30 13:38:07 +00:00
Antonio Niño Díaz
fe6e4a0dcc examples: Add example of assigning a matrix to a model 2024-10-11 13:33:33 +02:00
Antonio Niño Díaz
4642bdf982 library: Allow users to specify model transformation matrices
A manual matrix overrides scale, translation and rotation. It can be
removed to switch back to individual scale, translation and rotation.
2024-10-11 13:33:21 +02:00
Antonio Niño Díaz
26823c024f docs: library: Update changelog and bump version to 0.14.0 2024-09-10 18:18:30 +01:00
Antonio Niño Díaz
5a4824f461 library: Fix use-after-free in RichText module
When this function doesn't fail, it should preserve the buffers that
have just been allocated, as they will be used later.
2024-08-14 00:47:06 +01:00
Antonio Niño Díaz
de16a59722 library: Fixes to RichText module 2024-08-14 00:45:07 +01:00
Antonio Niño Díaz
4115a62800 libdsf: Update to v0.1.3 2024-08-14 00:44:23 +01:00
Antonio Niño Díaz
88d1b489f6 examples: Update BlocksDS Makefiles
They were missing several updates made over the last few months.
2024-08-14 00:43:55 +01:00
Antonio Niño Díaz
7d13c2d637 docs: Update Doxyfile 2024-08-01 18:02:17 +01:00
Antonio Niño Díaz
5dda97fe52 Use stdint.h types instead of libnds custom types 2024-07-29 00:09:41 +01:00
Antonio Niño Díaz
c2af70fe15 docs: Update changelog 2024-06-08 12:53:34 +01:00
Antonio Niño Díaz
dce5e99f0f library: Optimize copy of NE_RGB5 textures to VRAM
This is the same optimization made by asie here:

479ca8fb77
2024-06-05 02:28:40 +01:00
Antonio Niño Díaz
1c752174e9 examples: Stop using NE_RGB5 in examples
This texture format sets bit 15 manually to 1. This is slow, and it's
better if the developer converts graphics in a way that the bit is already
set to 1.
2024-06-03 18:39:33 +01:00
Antonio Niño Díaz
935f7eb084 examples: Update binaries used by the examples
This isn't strictly required, but this way running the global assets.sh
won't cause lots of files to be marked as modified.
2024-06-02 21:55:32 +01:00
Antonio Niño Díaz
0f92fc9da7 build: Use BlocksDS paths for assets conversion scripts 2024-06-02 21:50:06 +01:00
Antonio Niño Díaz
3f4bfbdb25 examples: Remove unused files 2024-06-02 18:06:51 +01:00
Antonio Niño Díaz
b52b704000 build: Rename BlocksDS makefile 2024-06-02 18:06:00 +01:00
Antonio Niño Díaz
902314a2ac docs: build: Add simplified global build targets 2024-06-02 17:38:55 +01:00
Antonio Niño Díaz
3ba35ba48e docs: build: library: examples: Set BlocksDS as main toolchain
Until now the main makefiles of Nitro Engine have been the ones of
devkitPro, forcing users to go through extra steps to build everything
under BlocksDS.

Now, the easy makefiles are the BlocksDS ones, and additional notes have
been added to warn about the limitations of devkitPro:

- No GRF support in libnds.
- NitroFS doesn't work in melonDS.
2024-06-02 17:38:52 +01:00
Antonio Niño Díaz
381e4071ac tools: Update md5_2_dsma
This fixes a bug where the base animation of the model (its standing pose)
would be exported with the wrong extension.
2024-06-02 12:08:08 +01:00
Antonio Niño Díaz
ccb3739f98 docs: Add note about ArchitectDS to the readme 2024-06-01 02:03:38 +01:00
Antonio Niño Díaz
230a65541e docs: Remove version from readme
This gets out of date easily and it isn't that useful anyway.
2024-04-09 01:53:49 +01:00
Antonio Niño Díaz
7dda3abe54 docs: Update changelog 2024-03-30 11:41:28 +00:00
Antonio Niño Díaz
3f3e266a4f library: Implement priority setting functions in RichText
This reverts commit 48ff37231f ("library: Remove unimplemented
functions from RichText system").

I thought the 3D drawing functions took a "depth" argument, but I was
wrong. I'm re-introducing the functions (and, this time, with an actual
implementation).
2024-03-30 00:34:39 +00:00
Antonio Niño Díaz
5ce71a9b02 library: Add function to calculate rendered text size
This simply exposes DSF_StringRenderDryRun() in a way that can be easily
used with Nitro Engine.
2024-03-29 22:21:22 +00:00
Antonio Niño Díaz
12b7389d1f examples: Remove asset from example that doesn't use it 2024-03-29 19:39:12 +00:00
Antonio Niño Díaz
48ff37231f library: Remove unimplemented functions from RichText system
They were never meant to be there, they are a copy-paste error from taking
the code of the original text system to create the original files of the
rich text system.
2024-03-29 14:56:55 +00:00
William
ff734036fc
fix: NE_RichTextMetadataLoadFAT returning error code on success 2024-03-28 14:19:30 +00:00
Antonio Niño Díaz
d7ecc5cc4d templates: examples: Fix linker invocation for C++
Using g++ to link object files automatically links the STD of C++. It looks
like this library is linked outside of the start/end-group commands with
the other libraries, which causes undefined reference errors when linking
C++ projects that use standard library functions that interface with the
OS, like `fopen()`.

Thanks to @lifehackerhansol for the report and testing the fix.
2024-03-26 18:54:35 +00:00