Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

kgm

29
Posts
3
Topics
24
Followers
2
Following
A member registered Aug 18, 2017 · View creator page →

Creator of

Recent community posts

(4 edits)

Thanks. At least we know a way to fix it now :)

I will make a new release with the fix soon (See https://github.com/Kagamma/satania-buddy/commit/906a08dc9e79fc51281d42f307342b43...). In the meantime you can try to patch it yourself, by opening data/scripts/libs/common/download.evil using the editor and replace line 82 with:

size = number(string_trim(headers['content-length']))

And line 131 with:

pos += number(string_trim(part.headers['content-length']))

Save and then run koboldcpp script again. (note: The app does cache scripts in-memory to avoid having to recompile a script multiple times, so if you already run the script before, you need to close the app and then open the app again)

(5 edits)

Hm I cannot reproduce the error on my system, even tho it has the same settings as yours.

Can you help me test the following code and show me the result? You can open the editor in Scripts -> Script editor, paste the code in and press "Run" button:

a = http_fetch('HEAD', 'https://github.com/LostRuins/koboldcpp/releases/download/v1.69.1/koboldcpp_nocuda.exe', [], null)
while !http_is_success(a) yield
res = http_result_get(a)
talk('This should be fine: ' + res.headers['content-length'])
talk('This is what causes error: ' + string(number(res.headers['content-length'])))

This code will make a HEAD request to get the file size, the 5th line is where the error happens.

If the error does happen, please also try the following code:

talk(number(string_trim(" 62253068")))
talk(number(" 62253068"))

That's strange. I just test mine and it runs fine. 62253068 is the size (in bytes) of koboldcpp_nocuda.exe, and it is a valid float number. Can you try it again? If it still fails, please tell me:

- Your operating system.

- The Decimal separator that your OS is using.

You need koboldcpp. You can let satania set it up by running Scripts -> koboldcpp (then run the script again once she finished install it in order to start koboldcpp everytime you want to chat with her) , or you can install and run it yourself, which allows you to pick a more suitable AI model for your PC and your use cases than the one installed by satania. 

Can you try this one instead: https://drive.google.com/file/d/1wdIc7T20aqXzP0nBcZ9L6WEKLzZ8hB3o/view?usp=drive...

I tested it on a clean machine and it works for me.

The reason behind it is because the bundled libbert.dll depends on a few runtime libraries, which is not include in satania-buddy. My PC has those libs installed so I haven't detected them until now.

I spent some time to rebuild libbert.dll with proper static linking flags enabled. Can you download this version of libbert.dll and replace the one in satania-buddy to see if it works? https://drive.google.com/file/d/1fBral0PhubrrKTC5QzB3q5KNlixSJMAq/view?usp=drive...

Interesting. So the library is found, but somehow the app cannot load it. I am on vacation and won't be back until the end of next week so I cant look at the problem for now. I will look into it after I come back.

Can you try to download the app again, run it, and then screenshot me the log in Menu -> Console when this error occurs? Something like this:

The directory layout should look like this:

Depending on your system, either libbert.dll (on Windows) or libbert.so (on Linux) is not loading. Try to verify to see if one of the file is in the app's directory. Also:

  • Which operating system are you using to run the app? If you are on Linux, make sure to run "satania-buddy.sh" instead.
  • Are you trying to run the app via the itch.io client? I honestly never tested this, so it may not work correctly.

I guess I will have to make software renderer a priority. This would address both the requirement for a compositor on Linux and any problems with AMD + OpenGL on Windows.

Windows 10 is fine. "Aero" (or dwm, to be precise) is always on and cannot be disabled starting from Windows 8. My worry is that this might be another case of AMD card and OpenGL not playing nice with each other on Windows.

That requirement is for windows vista & 7. Can you give me the full spec of your laptop so I can take a look at it?

(6 edits)

Are you on Linux without a compositor? satania-buddy is essentially a 3D full-screen app with a transparent background, so it requires a compositor. While I might work on making the app run without a compositor in the future, that would involve creating a software renderer fast enough for polygonal rendering.

If you're on Windows, could you try clicking somewhere else that's not Satania? Sometimes this happens to me, and clicking elsewhere usually restores the transparent background.

You can access context menu in the tray icon. Or you can delete her config file manually in either ~/.config/satania-buddy (Linux), or C:\Users\<Your acc name>\AppData\Local\satania-buddy (Windows)


Which distro are you using? Based on the error, there's a high chance that the qt5pas library comes with that distro is from an older version and does not have QLCLOpenGLWidget_Create(), which is necessary to initialize OpenGL context.

(3 edits)

To answer this question, I decided to divide the app into three parts:

- UI part: Sadly there's no support for foreign languages at the moment. The app does support i18n, but no .po files are included in the current release. I think I will start providing .po files in future releases so that anyone interested in it can provide translations for other languages.

- Speech recognition part: The answer is yes, although it is not included by default. The app uses Vosk as a cross-platform speech recognition backend, and you can get the Russian / Ukrainian model from the website (see https://alphacephei.com/vosk/models), unpack it into the `data/nn/vosk/` directory, then set the model in Settings > Speech recognition to that model.

- LLM part: Just like Speech recognition, you can run your own instance of koboldcpp with a Russian / Ukrainian model, then let satania-buddy connects to it.

The blinking green panel is intentional btw, to show where the interaction panel is. See https://kgm.itch.io/satania-buddy/devlog/635604/2023-11-14-character-importer

Thanks. It seems this is another case of AMD being strict when it comes to OpenGL on Windows. While I don't have any PC with AMD card around, I did detect some errors when testing the app on another PC of mine running Intel GPU + Windows and made a quick fix (details in this post). Can you try to download and test it again?

Interesting. Does it only happen with the bloomers costume, or does it also happen with her school uniform? They actually use different renderers; the bloomers is a Spine model and run using my custom renderer, while the school uniform is an X3D model and piggybacks on Castle Game Engine's renderer.
Also can you give me more info about your PC spec: OS, graphics card, the number of monitors, and the placement of your taskbar position?

(1 edit)

Sorry for late reply. The set() and get() functions allow you to save and retrieve flags that will be kept alive in memory until satania-buddy is closed. This means you can use them to mark and execute a part of the code only once:

if get('code_executed') = 0 { // in current development version, get('code_executed') will return null instead of 0

  // Execute your code here

  set('code_executed', 1)

}

That being said, it has been over a year since the last release, and unfortunately, the documentation for evil script on wiki page is currently available for the development version only (the script engine has been rewritten and improved a lot since then, as well as a lot of other stuff like koboldcpp /chatgpt integration etc). I am considering releasing a new version this weekend, even though it's not finished yet (I haven't completed animating her new model).

(1 edit)

Sorry for late reply. Right now I have no plan on adding stuff involving on parsing user data / files. Although I may add the ability to executing apps by looking at shortcuts on Dekstop & Start Menu at least.

(1 edit)

Each set of animations should have at least 1, to serve as example for "Fanservice" setting. It also depends on characters, as I plan to add more in the future.

Hi! Right now it doesn't support any external Email clients. Instead it has it's own IMAP protocol implementation, so if your email server supports IMAP protocol (most email servers support it), then you can set it up by opening Settings dialog and navigate to IMAP tab.

The default Email script comes with it only displays the number of unread emails, and the latest received email's sender and subject. The app was designed with modding in mind so if you like modding then you can open the script in data/scripts/satania/menu/Email.evil and modify it to your likeness. See Help -> Scripting APIs for reference.

Thanks for the quick fix!

I am playing with mfunc feature and get this error when I try the log example on the wiki:

After that the IDE does not allow me to type on anything (editor, rename resource, search) until I restart it.

I tried GMEdit-Beta-Windows (by overriding the official release) and noticed sort resource tree menu disappeared.


Thank you it works now. And thanks for your suggestion! I am capable of writting my own interpreter although I prefer to spend the time to improve my art instead (I am more of an illustrator than a coder) so I just use anything that's already exist in my library and GMLive does the job perfectly.

(1 edit)

I am working on a built-in editor for my game and whenever I tried to execute GML code that make calls to my custom scripts live_result always return this error even though the script exists on my resource tree:

execute_string[L1,c37] `scr_item_add` is not a function or script

(5 edits)

I got this error while loading a JSON room from include file:


___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of  Step Event0
for object o_map_external:

layer_set_visible argument 2 incorrect type (undefined) expecting a Number (YYGB)
 at gml_Script_room_pack_raw_add_layer (line 87) -                             layer_set_visible(l_rl,l_ql[?"visible"]);
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Script_room_pack_raw_add_layer (line 87)
called from - gml_Script_room_pack_raw_run_impl2 (line 13) -        room_pack_raw_add_layer(l_lrs[|l_lrk]);
called from - gml_Script_room_pack_load_map (line 18) - room_pack_raw_run_impl2(l_map);
called from - gml_Object_o_map_external_Step_0 (line 17) -               room_pack_load_map(json_rooms[?map_name], x, y, flags);


The room was store in a file which contain multiple rooms. The flags was: room_pack_flag_instances | room_pack_flag_sprites | room_pack_flag_tiles. Also sometimes this same room can be loaded successfully without errors on a different room in my game.

Here's the code I used to load the room:


        // Parse file to json        
        var json = json_decode(s);
        // Load map info
        var room_prefab = json[?map_name];
        var room_settings = room_prefab[?"roomSettings"];
        var room_h= room_settings[?"Height"];
        // Get the map
        room_pack_load_map(room_prefab, x, y - room_h, flags);
        ds_map_destroy(json);

(1 edit)

Hello! I just bought the extension today and after some testing I noticed some strange behaviors:

- I got "Expected a statement, got ident" error when I try to pass a hexadecimal to a variable (example: var a = 0x5;). It works fine if I use "$" instead of "0x".

- The output window filled with "Couldn't find instance `<a number>`" if I tried to access deactivated instances.

- If a script return without value, it got "Expected a value, got semico" error.