ROM Hack [Release]Kame Editor - 3DS Theme Editor for non-Windows Users

D

Deleted User

Guest
So finally, Kame Editor has reached v1.0.0 and can be used to create full featured 3DS themes. You can find the Mac builds here: https://bitbucket.org/beelzy/kame-editor/downloads/
I have a PKGBUILD in the AUR for Archlinux users here: https://aur.archlinux.org/packages/kame-editor-git
And you can find the source code here: https://gitlab.com/beelzy/kame-editor

If you are or know a distro maintainer who would be interested in packaging this app, there are packaging notes in the source repo, but it shouldn't be too complicated.

There will be more to come; currently, Kame Editor doesn't display the 3D folder in the top screen. I'm still trying to decide how best to do that.

Theoretically, Kame Editor should work on Windows; I've just never tried it and wasn't sure if there was interest for it.
Cool
 
D

Deleted User

Guest
So finally, Kame Editor has reached v1.0.0 and can be used to create full featured 3DS themes. You can find the Mac builds here: https://bitbucket.org/beelzy/kame-editor/downloads/
I have a PKGBUILD in the AUR for Archlinux users here: https://aur.archlinux.org/packages/kame-editor-git
And you can find the source code here: https://gitlab.com/beelzy/kame-editor

If you are or know a distro maintainer who would be interested in packaging this app, there are packaging notes in the source repo, but it shouldn't be too complicated.

There will be more to come; currently, Kame Editor doesn't display the 3D folder in the top screen. I'm still trying to decide how best to do that.

Theoretically, Kame Editor should work on Windows; I've just never tried it and wasn't sure if there was interest for it.

This is amazing I made a theme with it and it packages your theme to a .zip file for you not only that it has a sound converter built into it this is way more advanced then Usagi theme editor I also love the interface making it look like the 3ds is very cool keep up the great work as this is a amazing project:yay:
 

Tychon

Active Member
OP
Newcomer
Joined
Feb 22, 2010
Messages
41
Trophies
0
Website
deutschdeduktionspiel.blogspot.com
XP
431
Country
Canada
Thanks for the feedback. Sorry for the wait, but there's now another update.
Builds here: https://bitbucket.org/beelzy/kame-editor/downloads/

It mostly has bug fixes, but there's a special feature I wanted to include: autosave.

Autosave is important to me because no matter how well you write your software, anything can happen on your OS. And if you lose your work because of it, that sucks. So now Kame Editor has a feature that allows you to autosave your theme every interval or so, and if the program or your OS crashes unexpectedly, your work won't all be lost.

v1.2.6
  • Add autosave feature
  • Make open/close and folder back button visibility icons update correctly on theme load
  • Use ceilf instead of ceil when making certain operations with floats
  • Don't save smallicon path if it doesn't exist
  • Use correct position when capturing bottom screen preview
  • Save color picker position after dragging it
  • Persist animations pause/play when application closes
  • Fix folder animation bug when icon selection changes

As always, I am open to people offering translations.

I know people were looking forward to some other features for theme deploy and importing, which didn't make it to this release, but I'll be working on those soon.
 
D

Deleted User

Guest
Thanks for the feedback. Sorry for the wait, but there's now another update.
Builds here: https://bitbucket.org/beelzy/kame-editor/downloads/

It mostly has bug fixes, but there's a special feature I wanted to include: autosave.

Autosave is important to me because no matter how well you write your software, anything can happen on your OS. And if you lose your work because of it, that sucks. So now Kame Editor has a feature that allows you to autosave your theme every interval or so, and if the program or your OS crashes unexpectedly, your work won't all be lost.

v1.2.6
  • Add autosave feature
  • Make open/close and folder back button visibility icons update correctly on theme load
  • Use ceilf instead of ceil when making certain operations with floats
  • Don't save smallicon path if it doesn't exist
  • Use correct position when capturing bottom screen preview
  • Save color picker position after dragging it
  • Persist animations pause/play when application closes
  • Fix folder animation bug when icon selection changes
As always, I am open to people offering translations.

I know people were looking forward to some other features for theme deploy and importing, which didn't make it to this release, but I'll be working on those soon.

I am experiencing a issue for this application running Kubuntu the whole top screen is black and it stays black regardless to adding image or color I was wondering if there was a workaround for this thanks

Screenshot_20200113_145027.png
 

Tychon

Active Member
OP
Newcomer
Joined
Feb 22, 2010
Messages
41
Trophies
0
Website
deutschdeduktionspiel.blogspot.com
XP
431
Country
Canada
I am experiencing a issue for this application running Kubuntu the whole top screen is black and it stays black regardless to adding image or color I was wondering if there was a workaround for this thanks

View attachment 193184

Since you're running on Linux, can you tell me if there's anything in the console if you run kame-editor from a terminal? I suspect it may have something to do with OpenGL, since the entire top screen is being rendered with it. Another thing you can try is to run kame editor in no-msaa mode, although that will probably only really do anything if you have one of those integrated Intel graphics cards. In case you do though, try running kame-editor --no-msaa in the terminal.

Can you tell me if it was always black on start up?
 
  • Like
Reactions: Deleted User
D

Deleted User

Guest
Since you're running on Linux, can you tell me if there's anything in the console if you run kame-editor from a terminal? I suspect it may have something to do with OpenGL, since the entire top screen is being rendered with it. Another thing you can try is to run kame editor in no-msaa mode, although that will probably only really do anything if you have one of those integrated Intel graphics cards. In case you do though, try running kame-editor --no-msaa in the terminal.

Can you tell me if it was always black on start up?

It is black on startup i am unsure of how I would run this program from the terminal though I tried running Kame Editor and it did not open :unsure:
 
Last edited by ,

Tychon

Active Member
OP
Newcomer
Joined
Feb 22, 2010
Messages
41
Trophies
0
Website
deutschdeduktionspiel.blogspot.com
XP
431
Country
Canada
It is black on startup i am unsure of how I would run this program from the terminal though I tried running Kame Editor and it did not open :unsure:

I think it depends on how you installed it. If you used the .deb package, then I think it probably installed it in your path, which means you can open any terminal and just type "kame-editor" to open it. If not, you'll actually have to find out where the path to kame-editor is and run it with ./kame-editor in the directory where you find it.
 
D

Deleted User

Guest
I think it depends on how you installed it. If you used the .deb package, then I think it probably installed it in your path, which means you can open any terminal and just type "kame-editor" to open it. If not, you'll actually have to find out where the path to kame-editor is and run it with ./kame-editor in the directory where you find it.

Okay I ran the command and the screen is still black even with the --no-msaa added on while running the command this is the Konsole output

Code:
ryu@ryu-ThinkPad-T410:~$ kame-editor --no-msaa
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
QOpenGLTexture::setData() requires a valid current context
QOpenGLTexture::setData() requires a valid current context
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
QOpenGLShader::compile(Vertex): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES

*** Problematic Vertex shader source code ***
#version 330 core
#define lowp
#define mediump
#define highp
#line 1
layout(location = 0)in vec3 vertex;
layout(location = 1)in vec2 texCoords;

out vec2 uv;

uniform mat4 mvpMatrix;

void main() {
    uv = texCoords;
    gl_Position = mvpMatrix * vec4(vertex.x, vertex.y, vertex.z, 1.0);
}

***
QOpenGLShader::compile(Fragment): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES

*** Problematic Fragment shader source code ***
#version 330 core
#define lowp
#define mediump
#define highp
#line 1
in vec2 uv;

uniform vec4 color;
uniform sampler2D image;
uniform sampler2D ext;
uniform float alpha;
uniform float gradientbrightness;
uniform float gradientalpha;
uniform float alphaext;
uniform float time;

out vec4 fragColor;

void main() {
    vec2 newuv = uv;
    float ratioX = uv.x / 6.40625;
    float rate = 1 / 8000.0;
    newuv.y += 0.3 * (-2.0 * newuv.y + 1.0) * ratioX * (ratioX - 1.0);
    vec2 offset = vec2(newuv.x - (time * rate), newuv.y + time * rate);
    // Moving tiles
    vec4 c = texture(image, offset);
    // Ensure textures are grayscale
    c.rgb = vec3(dot(c.rgb, vec3(0.299, 0.587, 0.114)));
    c.a = min(c.r, c.a) * alpha;
    c.rgb = vec3(1);
    // Static tiles
    vec4 fixedTexture = texture(ext, newuv);
    fixedTexture.rgb = vec3(dot(fixedTexture.rgb, vec3(0.299, 0.587, 0.114)));
    fixedTexture.a = min(fixedTexture.a, fixedTexture.r) * alphaext;
    fixedTexture.rgb = vec3(1);

    // Background color
    vec4 bottom = color;
    bottom.a = 1;
    vec4 top = mix(bottom, vec4(gradientbrightness, gradientbrightness, gradientbrightness, 1), gradientalpha);
    top.a = 1;
    vec4 gradient = bottom * (1 - mod(uv.y / 3.75, 1.0)) + top * mod(uv.y / 3.75, 1.0);
    gradient.a = 1;
    vec4 opaque = mix(c, fixedTexture, 0.5);
    opaque.a = min(1, opaque.a * 2);
    opaque.rgb = vec3(gradientbrightness, gradientbrightness, gradientbrightness);
    fragColor = vec4(mix(gradient.rgb, opaque.rgb, opaque.a), gradient.a + opaque.a);
}

***
QOpenGLShader::compile(Vertex): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES

*** Problematic Vertex shader source code ***
#version 330 core
#define lowp
#define mediump
#define highp
#line 1
layout(location = 0)in vec3 vertex;
layout(location = 1)in vec2 texCoords;

out vec2 uv;

uniform mat4 mvpMatrix;

void main() {
    uv = texCoords;
    gl_Position = mvpMatrix * vec4(vertex.x, vertex.y, vertex.z, 1.0);
}

***
QOpenGLShader::compile(Fragment): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES

*** Problematic Fragment shader source code ***
#version 330 core
#define lowp
#define mediump
#define highp
#line 1
in vec2 uv;

uniform sampler2D image;
uniform float time;

out vec4 fragColor;

void main() {
    vec2 newuv = vec2(uv.x - time / 1008.0, uv.y + 16 / 256.0);
    fragColor = texture(image, newuv);
}

***
QOpenGLShader::compile(Vertex): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES

*** Problematic Vertex shader source code ***
#version 330 core
#define lowp
#define mediump
#define highp
#line 1
layout(location = 0)in vec3 vertex;
layout(location = 1)in vec3 aNormal;

uniform mat4 mvpMatrix;
uniform mat4 mMatrix;

out vec3 fragPos;
out vec3 lightPos;
out vec3 normal;
out vec3 vertexOut;

void main() {
    gl_Position = mvpMatrix * vec4(vertex.x, vertex.y, vertex.z, 1.0);
    fragPos = vec3(mMatrix * vec4(vertex, 1.0));
    lightPos = vec3(mMatrix * vec4(0, 15, 1, 1.0));
    normal = aNormal;
    vertexOut = vertex;
}

***
QOpenGLShader::compile(Fragment): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES

*** Problematic Fragment shader source code ***
#version 330 core
#define lowp
#define mediump
#define highp
#line 1
in vec3 fragPos;
in vec3 lightPos;
in vec3 normal;
in vec3 vertexOut;

uniform vec4 maincolor;
uniform vec4 dark;
uniform vec4 light;

out vec4 fragColor;

void main() {
    vec3 ambientcolor = mix(vec3(maincolor), vec3(light), min(1, abs(vertexOut.z - normal.b)));
    ambientcolor = mix(ambientcolor, vec3(dark), min(1, abs(normal.r)));
    vec3 lightColor = vec3(1, 1, 1);
    float ambientStrength = 0.7;
    vec3 ambient = ambientStrength * lightColor;

    // diffuse
    vec3 norm = normalize(normal);
    vec3 lightDir = normalize(lightPos - fragPos);
    float diff = max(dot(norm, lightDir), 0.0);
    vec3 diffuse = diff * lightColor;

    vec3 result = (ambient + diffuse) * ambientcolor;
    fragColor = vec4(result, 1.0);
}

***
 

Tychon

Active Member
OP
Newcomer
Joined
Feb 22, 2010
Messages
41
Trophies
0
Website
deutschdeduktionspiel.blogspot.com
XP
431
Country
Canada
Well I had some suspicion this could be the problem. So it seems the shader is not working because it expects a core OpenGL profile of 3.3 or higher. To find out what that is on your machine, I think you can just type glxinfo | grep version into the Terminal, and it should say something like OpenGL core profile version ... as well as shading language.

But that's strange; I assume you're on the same machine as last time, and it worked.
 
D

Deleted User

Guest
Well I had some suspicion this could be the problem. So it seems the shader is not working because it expects a core OpenGL profile of 3.3 or higher. To find out what that is on your machine, I think you can just type glxinfo | grep version into the Terminal, and it should say something like OpenGL core profile version ... as well as shading language.

But that's strange; I assume you're on the same machine as last time, and it worked.
I tried the glxinfo | grep "OpenGL version" command but it does not work for my distro
 

Tychon

Active Member
OP
Newcomer
Joined
Feb 22, 2010
Messages
41
Trophies
0
Website
deutschdeduktionspiel.blogspot.com
XP
431
Country
Canada
Ja, that's why. Unfortunately, I've had to do it this way because of the way it works on a Mac. It's very picky about what version of OpenGL you tell it to use, and I don't know if I can get away with using older versions of OpenGL. What I'm wondering though was why it worked before, since I assumed you were using Kame Editor before I released 1.2.6. The KDE link I posted seems to indicate that you can change OpenGL versions though (although it can also be hardware dependent).

Otherwise, I can just test with older versions of OpenGL just to see what happens.
 
D

Deleted User

Guest
Ja, that's why. Unfortunately, I've had to do it this way because of the way it works on a Mac. It's very picky about what version of OpenGL you tell it to use, and I don't know if I can get away with using older versions of OpenGL. What I'm wondering though was why it worked before, since I assumed you were using Kame Editor before I released 1.2.6. The KDE link I posted seems to indicate that you can change OpenGL versions though (although it can also be hardware dependent).

Otherwise, I can just test with older versions of OpenGL just to see what happens.

I am using the same PC but instead of using Linux Mint 19.4 Tricia I am using Kubuntu 18.04 LTS do you recon this is why it is not working
 

Tychon

Active Member
OP
Newcomer
Joined
Feb 22, 2010
Messages
41
Trophies
0
Website
deutschdeduktionspiel.blogspot.com
XP
431
Country
Canada
Well, if Kubuntu configures OpenGL differently, it's possible it has the wrong version. I was having strange problems with OpenGL on my Nvidia card as well, until I figured out how to configure the correct libglx paths.

If you know what graphics card you have, you can also try and find out what version of OpenGL it should support. If it's higher than 2.1, then something's not configured correctly. But I'm seeing in your console output that you're on a Thinkpad T410? Which should support OpenGL > 2.1. The only other possibility I can think of for why it's not configured correctly is that you have one of those Optimus setups where it contains an integrated Intel graphics that is OpenGL 2.1, as well as an Nvidia graphics card that can do OpenGL 3 and up. And Kubuntu has just somehow decided to use the integrated Intel one over the Nvidia one. In which case there should be some way to switch between them. I have a laptop like that, but mine is a hardware switch; you go into the BIOS and pick the card you want to use. Not sure how it is on yours, but if Mint got it correct, it could be a software switch.
 
Last edited by Tychon,
D

Deleted User

Guest
Well, if Kubuntu configures OpenGL differently, it's possible it has the wrong version. I was having strange problems with OpenGL on my Nvidia card as well, until I figured out how to configure the correct libglx paths.

If you know what graphics card you have, you can also try and find out what version of OpenGL it should support. If it's higher than 2.1, then something's not configured correctly. But I'm seeing in your console output that you're on a Thinkpad T410? Which should support OpenGL > 2.1. The only other possibility I can think of for why it's not configured correctly is that you have one of those Optimus setups where it contains an integrated Intel graphics that is OpenGL 2.1, as well as an Nvidia graphics card that can do OpenGL 3 and up. And Kubuntu has just somehow decided to use the integrated Intel one over the Nvidia one. In which case there should be some way to switch between them. I have a laptop like that, but mine is a hardware switch; you go into the BIOS and pick the card you want to use. Not sure how it is on yours, but if Mint got it correct, it could be a software switch.

Okay if I am not mistaken my graphics card is intel so I will see about what you wrote
 
D

Deleted User

Guest
Well, if Kubuntu configures OpenGL differently, it's possible it has the wrong version. I was having strange problems with OpenGL on my Nvidia card as well, until I figured out how to configure the correct libglx paths.

If you know what graphics card you have, you can also try and find out what version of OpenGL it should support. If it's higher than 2.1, then something's not configured correctly. But I'm seeing in your console output that you're on a Thinkpad T410? Which should support OpenGL > 2.1. The only other possibility I can think of for why it's not configured correctly is that you have one of those Optimus setups where it contains an integrated Intel graphics that is OpenGL 2.1, as well as an Nvidia graphics card that can do OpenGL 3 and up. And Kubuntu has just somehow decided to use the integrated Intel one over the Nvidia one. In which case there should be some way to switch between them. I have a laptop like that, but mine is a hardware switch; you go into the BIOS and pick the card you want to use. Not sure how it is on yours, but if Mint got it correct, it could be a software switch.

I have had no luck in fixing this issue so I suppose I will use Wine and Usagi :(
 
D

Deleted User

Guest
So what happened, are you supposed to have OpenGL > 2.1?

I found my version if I update my OpenGL version Kame might work

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
Max core profile version: 0.0
Max compat profile version: 2.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 2.0
OpenGL version string: 2.1 Mesa 19.0.8
OpenGL shading language version string: 1.20
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 19.0.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
 

Tychon

Active Member
OP
Newcomer
Joined
Feb 22, 2010
Messages
41
Trophies
0
Website
deutschdeduktionspiel.blogspot.com
XP
431
Country
Canada
Ja, that looks like the older OpenGL version. As if you were on an integrated graphics card. If you have an optimus setup, I think you may need something like bbswitch or nvidia prime for the switching. I'm on an Arch though; not sure how Mint/Kubuntu do it. If you're not sure if you have one of those, you can try this guide: https://www.reddit.com/r/linux_gaming/comments/aoh5be/guide_hybrid_graphics_on_linux_nvidia_optimus/

You may also have problems with other software as well, including Krita or OBS, since they also require OpenGL 3+.
 

Site & Scene News

Popular threads in this forum

Recent Content

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: good night