Mod RPGM Sana Revamped [v0.1 Test, v0.1 Light Version] [WIP] [DevLog Thread]

5.00 star(s) 3 Votes

Big Chingus

Member
Nov 20, 2022
116
89
Mod Support Devlog 3: Creating Console Commands

Hey, it's me again :), Let's try to keep up this devlog weekly posting

I have finished working on the console module to allow mods to create custom commands.

The downside of this is that I had to change the way commands were created to support mod commands, which has resulted in many commands that I had previously created being missing now (like the teleport command), but at least modders can create commands without too much trouble, just a script call, I'll have to bring them back, but it's not a priority now.

While I was doing this, I have made some improvements to the console, some of them are purely aesthetic and others are necessary to avoid problems in the future.

As you can see, the console window can show text with colors on the screen, also, the window size is now bigger, so the output text is clearer.

The help command (man) has been modified to support mods


I have also made a modification to allow you to type long commands in the console input, previously, when the length of the command exceeded the width of the window, it was cut off, now you can type long commands and you can actually see what you are typing.



Now to the code part :geek:

The code needed to create commands is much simpler than the one needed to create mod settings, you can take a look in the spoiler below.

You don't have permission to view the spoiler content. Log in or register now.

You can define the command logic to run inside a block or declare a new module and create the functions there, which is tidier, it's up to you.

All the arguments that are sent to the command when called, are strings, that means, you will have to interpret the string and cast it to the type you need, to avoid having to copy and paste code, the mod has a module (Utils) that you can use to perform this cast (Utils.convert_to), you can check it out on the cmd3 function in the code above.

The console module also allows text to be written in its output buffer, the text will be split by each newline character ("\n") into a new line.

View attachment 3440092
Calling the cmd3 command to test the casting


View attachment 3440084
Using other mod commands (jdversion and jane_ss_ver)​

All commands (optionally) can have information, this information is automatically used by the help command (man) to display it on the console.
You are not obliged to set the information of each command (#set_info) but it is a good practice, to know how to use it.

In order to avoid modders overwriting the vanilla commands, all mod commands will be added once all sana revamped commands are created, so they all will appear in that order on the manual, as you can see on this pic

That's it for now :geek:

For the next devlog, I was planning to work on the localisation module to allow mods to add their translations and modify the current ones, but I think I'll leave that for the one after the next and get to work on adding support for game pictures, which I started working on today.

I want to allow modders to modify all pictures shown in-game without overwriting the vanilla pics, combine this with the sex framework animations and you will be able to change the whole game art, without touching the RPG Maker editor at all or worrying about breaking the game by overwriting something by mistake or whatever.
Does this mean that someone would be able to potentially replace all the art in the game with their own?
 

tygct

Member
Jun 6, 2017
130
612
Does this mean that someone would be able to potentially replace all the art in the game with their own?
Yeah, that's the plan :)

For the next devlog I'm currently working on the images that are shown during the game (using the [Show Picture] command inside in-game events) but I will support all types of pictures (like the window skin, battle backgrounds, faces, tilesets, characters...), pretty much everything inside the Graphics folder.
 

Lightgot

Newbie
Sep 12, 2017
25
17
Phew work has been kicking my ass lately but dont fret yall
Im still working on Sana update CGs for the revamp
Here are some examples
View attachment 3478089 View attachment 3478090 View attachment 3478091 View attachment 3478092
love the spanking art


Mod Support Devlog 3: Creating Console Commands

Hey, it's me again :), Let's try to keep up this devlog weekly posting

I have finished working on the console module to allow mods to create custom commands.

The downside of this is that I had to change the way commands were created to support mod commands, which has resulted in many commands that I had previously created being missing now (like the teleport command), but at least modders can create commands without too much trouble, just a script call, I'll have to bring them back, but it's not a priority now.

While I was doing this, I have made some improvements to the console, some of them are purely aesthetic and others are necessary to avoid problems in the future.

As you can see, the console window can show text with colors on the screen, also, the window size is now bigger, so the output text is clearer.

The help command (man) has been modified to support mods


I have also made a modification to allow you to type long commands in the console input, previously, when the length of the command exceeded the width of the window, it was cut off, now you can type long commands and you can actually see what you are typing.



Now to the code part :geek:

The code needed to create commands is much simpler than the one needed to create mod settings, you can take a look in the spoiler below.

You don't have permission to view the spoiler content. Log in or register now.

You can define the command logic to run inside a block or declare a new module and create the functions there, which is tidier, it's up to you.

All the arguments that are sent to the command when called, are strings, that means, you will have to interpret the string and cast it to the type you need, to avoid having to copy and paste code, the mod has a module (Utils) that you can use to perform this cast (Utils.convert_to), you can check it out on the cmd3 function in the code above.

The console module also allows text to be written in its output buffer, the text will be split by each newline character ("\n") into a new line.

View attachment 3440092
Calling the cmd3 command to test the casting


View attachment 3440084
Using other mod commands (jdversion and jane_ss_ver)​

All commands (optionally) can have information, this information is automatically used by the help command (man) to display it on the console.
You are not obliged to set the information of each command (#set_info) but it is a good practice, to know how to use it.

In order to avoid modders overwriting the vanilla commands, all mod commands will be added once all sana revamped commands are created, so they all will appear in that order on the manual, as you can see on this pic

That's it for now :geek:

For the next devlog, I was planning to work on the localisation module to allow mods to add their translations and modify the current ones, but I think I'll leave that for the one after the next and get to work on adding support for game pictures, which I started working on today.

I want to allow modders to modify all pictures shown in-game without overwriting the vanilla pics, combine this with the sex framework animations and you will be able to change the whole game art, without touching the RPG Maker editor at all or worrying about breaking the game by overwriting something by mistake or whatever.
also glad to see more follow ups
 

tygct

Member
Jun 6, 2017
130
612
Mod Support Devlog 4: Game Pictures

Welp... There goes my "weekly update" plans! :(

Hey! First sorry for the radio silence! I've been MIA for half April and May (and probably won't be as active as before for this week and the next one) mainly because I had some important family matters to attend to this month and my job doesn't leave me much free time either.

Nonetheless, I finished adding mod support for game pictures sometime in mid April but I did not find time to come here and share with y'all, so here we go!

To show this I've created a test image in the unmodded game, this file is called mod_test.png and I created an event on the game that shows this image, and it looks like this:

img_vanilla.gif


As you can see, the game shows an image with an A drawn on the center of the screen when you interact with the event.

You will be able to replace this image (and any image that you want) with custom images in the Graphics/Pictures directory, as a rule, the image must have the same name and extension to replace it.

As an example, this is the contents of the example_mod mod folder:
example_mod

├── Graphics\
│----│
│----└── Pictures\
│----------└── mod_test.png

├── scripts\
│----└── init.rb

└── mod_info.json

Now, if you run the game and interact with the same event with that mod active, you will see how the original image is replaced on runtime:

img_example_mod.gif

And, of course, the image shown on that event will depend on which mod wins the conflict, in case there are more than one mod replacing the same image, so as an example, here's another mod replacing the same image, example_mod_2:
example_mod_2

├── Graphics\
│----│
│----└── Pictures\
│----------└── mod_test.png


├── scripts\
│----└── mcm.rb

└── mod_info.json

And here's the result, example_mod_2 wins the conflict:

img_example_mod_2.gif

This works for all images that are inside the Graphics/Pictures folder, so you can easily create a mod and replace all game art to your own, though replacing the sex animations images will have a different approach to do it, I'll deal with this later.

It ain't nothing mindblowing but it works and it does not cause any frame drop at all, since all images that a mod provides is loaded at game start.

This devlog is probably way shorter than the others but I'm still a bit busy and do not have much time, I'll be back to normal in early June and hopefully I can finish adding mod support for the rest of the aspects of the game before June ends, once I'm done with that I still need to do a big refactor to the mod support module then I will consider it finished at that point, resume the sex framework work, which it is pretty much the only big thing left before v0.2

The next thing about mod support will be about adding and replacing translations on the game, see ya!
 

Saddog12355

New Member
Feb 5, 2022
6
5
Hello guys, first of all I would like to congratulate and thank to tygct and Its_Dat_Boi_Ryuna for the great work you are doing. Sana is possibly the first NTR-themed game that I have come to like, before this game I used to avoid any similar ones as if they were plagues, but the designs and way of telling the story that is handled in Sana is undoubtedly attractive. Knowing that there is someone out there trying to give new life to this spectacular game certainly brings a smile to my face every time I remember, so again thanks for what you guys are doing. And well the main reason why I make this comment is to know if you can make any release of the new cgs you are working on
 

tygct

Member
Jun 6, 2017
130
612
Hello guys, first of all I would like to congratulate and thank to tygct and Its_Dat_Boi_Ryuna for the great work you are doing. Sana is possibly the first NTR-themed game that I have come to like, before this game I used to avoid any similar ones as if they were plagues, but the designs and way of telling the story that is handled in Sana is undoubtedly attractive. Knowing that there is someone out there trying to give new life to this spectacular game certainly brings a smile to my face every time I remember, so again thanks for what you guys are doing. And well the main reason why I make this comment is to know if you can make any release of the new cgs you are working on
Thanks, hopefully we can get something of quality out of this!

About the question, Ryuna usually post some sneak peeks from time to time on the thread, not all new art created is posted tho, but it is up to him since he is the one working on that part
 

Hybr1d0

Member
Nov 23, 2021
392
283
Glad youre all patient with this mod we're doing
As my update
Most of my work with the revamped CGs is almost complete, i still have few difficult ones that i need to finish which i left for last

and while i was at it i decided to see how they looked in the game
View attachment 3762025 View attachment 3762026 View attachment 3762027 View attachment 3762028
What do tall think with the sneak peek
Patience is a virtue. The mod deserves the necessary time.
I am delighted that you plan to add more erotic events of NTR hidden behind the protagonist. nice nice !
 

tygct

Member
Jun 6, 2017
130
612
Question about the penis/censorship will it be drawn to match our goddess Sana
I do not think I'll be able to remove the censorship from the CGs since I'm no artist, don't know if Its_Dat_Boi_Ryuna has considered doing this for the new art tho, but if he does not, it is still way better than the original tbh.

Nevertheless, like I said in the last mod system devlog the mod will allow modders to replace any image on the game without troubles, so who knows, it may happen in the future.

PS: A follow-up of the last mod support devlog.

Any image file inside the Graphics folder (battle backgrounds, faces, characters, tilesets, parallaxes...) should be covered by now

The supported image formats a mod can provide are: PNG, JPG and BMP

Original window skin
window.jpg

Window skin from a mod
window_replaced.jpg


The resulting image will depend on which mod is winning the conflict, as you can see in the log, "example_mod_3" is winning the conflict for the system window skin image.

window_log.png

A file inside the Mods folder will dictate the load order:

load_order.png

I also changed how pictures are handled, now it will only load the bitmap once it is requested by the game, in the previous post all images were loaded as soon as they were detected (base game also) and it managed to use almost 1 GB of RAM
 

AntiVeraX

Member
Mar 17, 2018
277
692
Not gonna lie, I do not have confidence you will ever get to a 'ready to ship' status with this revamp. Nevertheless it's lovely to see how you use this project to learn more and more of this rather abstract knowledge and build upon your own ideas.

I guess if nothing else, if there are one more modder out there that gained a valuable knowledge and understand the basic pipeline as well as how they are usually processed is a big win. That's how today's top modders grow out from skyrim originally. :D
 
  • Like
Reactions: tygct

tygct

Member
Jun 6, 2017
130
612
Not gonna lie, I do not have confidence you will ever get to a 'ready to ship' status with this revamp. Nevertheless it's lovely to see how you use this project to learn more and more of this rather abstract knowledge and build upon your own ideas.

I guess if nothing else, if there are one more modder out there that gained a valuable knowledge and understand the basic pipeline as well as how they are usually processed is a big win. That's how today's top modders grow out from skyrim originally. :D
I see the project as a matter of time and patience rather than difficulty, since it doesn't depend on someone else's wishes and I don't have to meet goals or anything like that.

I believe the reason why people might think it will never come out is kinda my fault because when I finish implementing one thing I come up with two other ideas that might be good and end up implementing them in the mod (delaying the release), I could say that this "development hell" kindof has been the reason why the next version has been delayed so much in the past.

In fact, related to the above, the only reason I'm implementing mod support is to try to make myself see that I can't implement everything I can think of (like this was a private and personal project or smth) and leave other ideas for the future adding them as mod packages, because I'd never end up releasing a playable version.

But I totally understand what you mean, regardless if it ends up coming out or not, the knowledge I've gained on how the RPG Maker (RGSS) engine works internally is definitely a good thing :)
 
Nov 1, 2019
58
273
I see the project as a matter of time and patience rather than difficulty, since it doesn't depend on someone else's wishes and I don't have to meet goals or anything like that.

I believe the reason why people might think it will never come out is kinda my fault because when I finish implementing one thing I come up with two other ideas that might be good and end up implementing them in the mod (delaying the release), I could say that this "development hell" kindof has been the reason why the next version has been delayed so much in the past.

In fact, related to the above, the only reason I'm implementing mod support is to try to make myself see that I can't implement everything I can think of (like this was a private and personal project or smth) and leave other ideas for the future adding them as mod packages, because I'd never end up releasing a playable version.

But I totally understand what you mean, regardless if it ends up coming out or not, the knowledge I've gained on how the RPG Maker (RGSS) engine works internally is definitely a good thing :)
Watching your progress actually has me excited what you will implement more as you go on, the more time you work on this, the better the outcome will be
Hell youd be faster at working on more mods in the future with all the experience you gained with this one
And when the time comes, ill help with the art once again if needed
 
  • Like
Reactions: tygct

madeupfakery2

Newbie
Jun 28, 2021
27
34
Makes sense. Modding tools mean anyone can mess with that, maybe get some fun stuff out of it. And when that's done you can make the stuff you want. What would you focus on after the mods are in?
 
  • Like
Reactions: tygct
5.00 star(s) 3 Votes