Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: New Guide for adding art/sprites to Stonesense #5207

Open
wants to merge 25 commits into
base: develop
Choose a base branch
from

Conversation

realSquidCoder
Copy link
Contributor

No description provided.

@realSquidCoder realSquidCoder changed the title Docs: New Guide for adding art/sprites to Stonesense Docs: New Guide for adding art/sprites to Stonesense (WIP) Jan 20, 2025
docs/images/Stonesene_sprite_template.png Outdated Show resolved Hide resolved
docs/plugins/stonesense.rst Outdated Show resolved Hide resolved
docs/plugins/stonesense.rst Outdated Show resolved Hide resolved
docs/plugins/stonesense.rst Outdated Show resolved Hide resolved
docs/guides/stonesense-art-guide.rst Outdated Show resolved Hide resolved
@realSquidCoder
Copy link
Contributor Author

i think i wanna call this good and forgo the XML tutorial since I want to restructure how its done. (non-code changes)

@realSquidCoder realSquidCoder changed the title Docs: New Guide for adding art/sprites to Stonesense (WIP) Docs: New Guide for adding art/sprites to Stonesense (Part 1) Jan 20, 2025
@realSquidCoder realSquidCoder marked this pull request as ready for review January 20, 2025 19:24
docs/plugins/stonesense.rst Outdated Show resolved Hide resolved
docs/plugins/stonesense.rst Outdated Show resolved Hide resolved
docs/plugins/stonesense.rst Outdated Show resolved Hide resolved
docs/guides/stonesense-art-guide.rst Outdated Show resolved Hide resolved
docs/guides/stonesense-art-guide.rst Outdated Show resolved Hide resolved
docs/guides/stonesense-art-guide.rst Outdated Show resolved Hide resolved
docs/guides/stonesense-art-guide.rst Outdated Show resolved Hide resolved
docs/guides/stonesense-art-guide.rst Outdated Show resolved Hide resolved
docs/guides/stonesense-art-guide.rst Outdated Show resolved Hide resolved
docs/guides/stonesense-art-guide.rst Outdated Show resolved Hide resolved
@realSquidCoder realSquidCoder changed the title Docs: New Guide for adding art/sprites to Stonesense (Part 1) Docs: New Guide for adding art/sprites to Stonesense (WIP) Jan 20, 2025
@realSquidCoder realSquidCoder changed the title Docs: New Guide for adding art/sprites to Stonesense (WIP) Docs: New Guide for adding art/sprites to Stonesense Jan 27, 2025
@realSquidCoder
Copy link
Contributor Author

ok i think it looks good now, im havign starry read it as she would be one of the target audiences

Copy link
Member

@myk002 myk002 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog entry in the Documentation section

Comment on lines +21 to +22
Note that, in order not to conflict with neighboring sprites, a sprite must actually be within a smaller
area than its 32x32 block, typically 30x30.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't quite understand this. Why would a sprite that uses its full allocated space "conflict" with its neighboring sprites? The DF sprite sheets have sprites up to their boundary pixels, adjacent to the next sprite over, and there aren't any issues there. What problems does Stonesense have with larger sprites?

Edit: Does this have to do with the layout requirements for isometric perspective? If so, I think that needs to be introduced earlier. Also, is it actually 30x30, or is it the boundary defined by the volume template below?

docs/guides/stonesense-art-guide.rst Show resolved Hide resolved
Comment on lines +9 to +13
Understanding how Stonesense deals with sprites is central to anyone who wishes to modify the content. The
scheme is not very complicated, and this guide will give a short introduction to how they work. With the
exception of floors, which we will discuss later, all sprites are 32x32 pixels big and come in groups known
as Sprite Sheets. All sprites are loaded and rendered in 32-bit full-color PNGs. The image files should have
a transparent background but pure magenta (RGB: 255,0,255) is also treated as transparent.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this section needs an introduction to isometric perspective. otherwise the following examples (especially the "template for the area" example) are hard to follow


Sprite sheets
-------------
There can be an arbitrary number of sprite sheets configured for Stonesense, though there are 3 sheets that are
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sprite sheets configured for Stonesense

configured where?

Sprite sheets
-------------
There can be an arbitrary number of sprite sheets configured for Stonesense, though there are 3 sheets that are
always present as they contain default sprites (see further down). Most of the content XML files allow users to
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of the content XML files

what are content XML files? This might need its own section to explain

There can be an arbitrary number of sprite sheets configured for Stonesense, though there are 3 sheets that are
always present as they contain default sprites (see further down). Most of the content XML files allow users to
specify sprite sheets, and this is done by adding a file attribute to the content nodes. By convention sprite
sheets should be placed in their appropriate folder, with creature sprite sheets in the creatures folder etc.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
sheets should be placed in their appropriate folder, with creature sprite sheets in the creatures folder etc.
sheets should be placed in the same folder as the XML file that references them.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this suggestion accurate?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i see your reasoning behind it tho you can put xml and the sheets wherever as long as you can provide a path to them in the xml


Sprite index
------------
Sprite Index (sometimes referred to as Sheet Index) is a concept for referring to a specific sprite on a sheet.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Sprite Index (sometimes referred to as Sheet Index) is a concept for referring to a specific sprite on a sheet.
The sprite index, or sheet index, is the zero-indexed offset of a sprite on its sprite sheet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

2 participants