Chunithm Sun Plus, Int support #78

Merged
Midorica merged 18 commits from :develop into develop 2023-12-16 03:20:03 +00:00
Contributor

Sun Plus is version 14 in the schema. All changes to the DB are identical to what I've done in my local environment. Also updated Chunithm to utilize the game code structure, so e.g.
artemis.local:80/210/ChuniServlet -> artemis.local:80/SDHD/210/ChuniServlet

This was necessary to fetch the game codes from the requests, and support SDGS correctly. Speaking of...
SDGS support is accomplished by translating the versions from SDGS numbers to SDHD numbers. Examples:
Int 1.10 -> JP 2.00 (NEW!!)
Int 1.15 -> JP 2.05 (NEW PLUS!!)
Int 1.20 -> JP 2.10 (SUN)
Int 1.25 -> JP 2.15 (SUN PLUS)

Int also uses slightly modified endpoints. Every endpoint from JP is altered with a "C3Exp" on the end of the endpoint. To get around this, we simply remove that element from the endpoint if running Int, and pass the game through the regular endpoints. This works for now, but it means that Int shares the same imported data as JP, which in some cases may be a bad thing. Later modifications should separate Int versions into their entirely own sets of data, but for now, this allows the (very few) Int users to utilize Artemis.

Now, for the long awaited bit. Sun Plus support. Sun Plus changes the "isClear" and "isSuccess" fields in the DB from booleans (tinyint(1)) to full integers, to represent the final clear type with emblems such as "ABSOLUTE" or "CATASTROPHY". The enumeration is currently not documented, as my previous information about it was wrong, but the alterations to the DB are sufficient for the game to both save and recognize the new clear emblems without issue.

The game also now keeps track of the ticket used for a track clear, so we updated the playlog table to reflect that. Currently, no other major DB changes are noted, and most of the contributions from this PR pertain to separating the version out, as well as the previous Int support.

These changes were built on my live server, and work just fine, but I would recommend someone to give this a quick toss into a new instance just to make sure everything works correctly with the DB schema changes. I'm confident, but this is my largest contribution so far, and I don't want to end up wrecking someone's instance because of an oversight.

Apologies that these changes took so long to get PR'ed. The past week or two have been absolutely wild for me. Up next on the chopping block is fixing the rival music data, and implementing more game logic for teams.

Sun Plus is version 14 in the schema. All changes to the DB are identical to what I've done in my local environment. Also updated Chunithm to utilize the game code structure, so e.g. artemis.local:80/210/ChuniServlet -> artemis.local:80/SDHD/210/ChuniServlet This was necessary to fetch the game codes from the requests, and support SDGS correctly. Speaking of... SDGS support is accomplished by translating the versions from SDGS numbers to SDHD numbers. Examples: Int 1.10 -> JP 2.00 (NEW!!) Int 1.15 -> JP 2.05 (NEW PLUS!!) Int 1.20 -> JP 2.10 (SUN) Int 1.25 -> JP 2.15 (SUN PLUS) Int also uses slightly modified endpoints. Every endpoint from JP is altered with a "C3Exp" on the end of the endpoint. To get around this, we simply remove that element from the endpoint if running Int, and pass the game through the regular endpoints. This works for now, but it means that Int shares the same imported data as JP, which in some cases may be a bad thing. Later modifications should separate Int versions into their entirely own sets of data, but for now, this allows the (very few) Int users to utilize Artemis. Now, for the long awaited bit. Sun Plus support. Sun Plus changes the "isClear" and "isSuccess" fields in the DB from booleans (tinyint(1)) to full integers, to represent the final clear type with emblems such as "ABSOLUTE" or "CATASTROPHY". The enumeration is currently not documented, as my previous information about it was wrong, but the alterations to the DB are sufficient for the game to both save and recognize the new clear emblems without issue. The game also now keeps track of the ticket used for a track clear, so we updated the playlog table to reflect that. Currently, no other major DB changes are noted, and most of the contributions from this PR pertain to separating the version out, as well as the previous Int support. These changes were built on my live server, and work just fine, but I would recommend someone to give this a quick toss into a new instance just to make sure everything works correctly with the DB schema changes. I'm confident, but this is my largest contribution so far, and I don't want to end up wrecking someone's instance because of an oversight. Apologies that these changes took so long to get PR'ed. The past week or two have been absolutely wild for me. Up next on the chopping block is fixing the rival music data, and implementing more game logic for teams.
EmmyHeart added 13 commits 2023-12-13 06:50:27 +00:00
15204f8d8a Added Sun Plus support, and Int workaround
Int versions of Chunithm use nearly the same endpoints, just with C3Exp at the end. We can treat them the same as the regular versions of the game for now by simply removing the C3Exp portion of the endpoints and running our current logic. Note that later we should treat Int and JP as separate versions
a0dc8421eb Updated schema for changes in Sun Plus
isClear and isSuccess are now integers to represent different clear types, although more research is needed into what those types mean.
b6d1f2cd3a Updated playlog and best tables for Sun Plus
Lord have mercy, this is my first schema update
9b9d1f664d Rollback for Sun Plus changed
should hopefully never need to use this
EmmyHeart added 1 commit 2023-12-13 07:33:04 +00:00
EmmyHeart added 1 commit 2023-12-13 07:34:40 +00:00
626ea58f75 Updated game specific info for Sun Plus
Also removed some old info about rank scaling, since it got YEETed
EmmyHeart added 1 commit 2023-12-13 07:35:09 +00:00
EmmyHeart added 1 commit 2023-12-13 12:28:30 +00:00
EmmyHeart added 1 commit 2023-12-13 23:28:02 +00:00
Collaborator

Hello EmmyHeart,

Regarding the PR, the only issue i saw was the upgrade and downgrade script where you left aime. in them but otherwise, everything was tested and working.

Once that small change is done, I'll approve it.

Thank you

Hello EmmyHeart, Regarding the PR, the only issue i saw was the upgrade and downgrade script where you left aime. in them but otherwise, everything was tested and working. Once that small change is done, I'll approve it. Thank you
Collaborator

As discussed through the group, I will merge the PR and fix the SQL scripts right away

Thank you for the contribution as usual :)

As discussed through the group, I will merge the PR and fix the SQL scripts right away Thank you for the contribution as usual :)
Midorica merged commit 7b8611cee3 into develop 2023-12-16 03:20:03 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Hay1tsme/artemis#78
No description provided.