07th-mod / 07th-mod/umineko-question

Clothes switching functions cause old sprites to disappear

Open Beginner friendly
#119 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
98
Forks
10
PR merge metrics
No merged PRs in 30d

Description

In the question arcs, clothes switching is done by calling the clothes switch functions which rebind certain variables controling the sprites for each character:

example:
```
gosub *MAR_Isyou3
gosub *ROS_Isyou2
```
```
*ROS_Isyou2
mov $ROS_DefA1,"bmp\TATI\ROS\2\ROS_DefA1" ;楼座立ち絵デフォ
mov $ROS_WaraiA1,"bmp\TATI\ROS\2\ROS_WaraiA1" ;笑い
...
mov $ROS_IkariA4,"bmp\TATI\ROS\2\ROS_IkariA4"
mov $ROS_AseruA1,"bmp\TATI\ROS\2\ROS_AseruA1"
return
```

This works fine with the new sprites because there is a '2' folder inside the 'bmp\tati\ros' folder, but the old sprites do not have such a folder, causing the sprites to dissapear.

The easy solution is to add an if statement in each of the clothes switching functions which doesn't perform the switch if old sprites are enabled. Could also do a `fileexist` on the first sprite path.

I also tested what happens if you save after a clothes switch, and that appears to work correctly, so that means (probably) the sprite path variables are set as persistent (by being in the persistant variable range of numbers)

**EDIT:** I believe another way to fix this issue would be to generate upscaled ryukishi sprites and then just overwrite the normal sprites with them. Then we can deal with the missing sprites by just adding duplicate sprites for the alternate clothes.

Contributor guide

No contributing guide indexed for this repository

Research direction

Look for the clothes switching functions (like *ROS_Isyou2) in the script files. Check how sprite paths are set and where old vs. new sprite folders are referenced. Add a condition using fileexist or a flag for old sprites to skip the rebinding. Test by enabling old sprites and triggering a clothes switch to ensure sprites remain visible.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
game-dev
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.