ChibiEdo's avatar
If I remember correctly the actual coding is also in a zip file called src.zip (probably short for source code) and I once took a look at that a bit trying to understand how it works, but it's really difficult because there is a lot of code and I have never coded in java though my biggest problem was that I had no idea how to turn those files back into a working exe files to test anything. I think it's called compiling the files. I think back then I might have learned a lot about where in the file which parts are coded but I gave up quickly since I just had no clue how to turn it into the game. I did do some research and I think i also got the files needed to create a working game but I was really confused...
I don't know if core files is the correct word but it's the java code (not javascript). There is no javascript in this (I actually know a bit about javascript... It's a coding language that works pretty differently from Java. I don't want to say too much because I'm not sure if what I say will all be correct hahaha. But the files we already edited are xml files, they are only structure files. the actual java code reads those xml files and interprets what to do with that.
Maybe you can find something when searching for "editing shimeji java code tools" ?? Since the shimeji community is so large I wouldn't be surprised if someone made some kind of tutorial. (By the way in case you find anything interesting I'd be interested to read that too and note down the link for any future attempts.
By the way I like notepad++ for opening any kind of code files. It has a lot of setups for marking different coding languages and you can hide parts that you don't need right now to have a nicer overview (collapsing big loops or if cases etc)

Concerning custom animation. Or rather first concerning behavior and action.xml files.
If I remember correctly, if you create a conf folder inside the name folder of your shimeji... I mean here in this folder:  /img/nameofshimeji you can configue THIS shimeji with its own file while still keeping the main conf folder in the main shimeji folder untouched. Someone in the comments explained it..pretty much one of the beginning comments who had a lot of knowledge about coding shimeji I think. I didn't know this when I wrote the tutorial so I talked about copying the whole shimeji folder but that isn't really necessary.

From the behaviors you described you can do some of them but you have to be creative. XD 
For example your pitfall like swinging... In behaviors.xml there is:
<Behavior Name="ClimbAlongCeiling" Frequency="100" />
(you MIGHT be able to copy this line and put it directly under it and give it a new name, but I can't test anything because no shimeji working right now.XD)
It's enclosed by: 
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor)}"> <--this looks like there is some kind of variable that says: "Now the shimeji is on the ceiling" and since your swinging is a ceiling action it should probably go there.

Then in actions.xml: 
Just looking at the ClimbAlongCeiling one to learn:

<Action Name="ClimbAlongCeiling" Type="Sequence" Loop="false">
    <ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>

Hmmm... Ok so one thing... I really wonder why the loop = "false" since the shimeji repeats the action when crawling on the ceiling but there is probably some reason, probably the loop happens somewhere else.
The math on the right side looks as if it calculates the range of the shimeji on the ceiling (so it doesn't disappear from view.. I wonder if the Math.random here has something to do with how far it crawls till it drops down?
Asides from this guesswork it references another action named "ClimbCeiling" which looks like this:

   <Action Name="ClimbCeiling" Type="Move" BorderType="Ceiling">
<Animation>
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
</Animation>
</Action>

Since you read my tutorial you should know what the velocity does. In this case it moves the shimeji to the left on the x axis (horizontally). -1 in a duration of 4 (frames..? I don't know what the measurement is, not seconds that's for sure) is less of a movement than -2 in a duration of 4. 
0,0 is no movement for 16 frames so that's the little pause before it keeps crawling.

So if you enter smart velocity and duration you can make it move in a half circle or a parabola. Figuring this out is pure math. If I'd try this I'd probably try to use half circle calculations but I don't know that from the top of my head...

Found something here:
home.windstream.net/okrebs/pag…
I'm not sure if my first idea would be a bit too complicated but I'd write down a bunch of y values calculated with different x values (the whole amount would be depending on how fluid I wanted the motion to look like) and would have coordinates where the shimeji should be... but since the shimeji's coordinates are relative and not absolute you'd need to check the differences compared to the previous coordinate pair for all of them and write those into the velocity (basically velocity is a vector... I don't know how much math you know (or like) so sorry if I get too confusing).

The other problem is the vine where your shimeji should be swinging. It has to be part of your picture so you need to change the size of your shimeji in that action which also forces you to fiddle with the imageanchor.
Actually... I think you might not need the complicated math you can just draw out the full sequence of your swinging in a big size and make velocity 0,0 for the duration of each frame. You would need to put the image anchor at "0,0" (probably x not fully 0 there would have to be some experimenting what looks best since this is the start of your swing. I also think there should be a final frame which is back at normal size with velocity = x,0 (x= whatever the full range of your swing is) to ACTUALLY move your shimeji to the other side because before that it was just an image animation playing... Ughh this is hard to describe, not sure if you get it. There is also a lot of other things that I don't know ... can the animation be stopped in the middle or will it always fully play... would it cause to make the shimeji disappear into the other side by accident? Or if it stops in the middle of it, it probably drops and the jump from the middle of executing the swing to the falling animation which is normal sized again automatically will probably be a weird jump on the screen. (Unless you actually do the math circle way, since there the actual x and y coordinates of the shimeji move...

Ok now my brain hurts, I'll just leave it there for now maybe it'll spark some ideas? Before you try anything more complex try if you can manage a 'new' ceiling action first without breaking anything then you can try the next step. There might be a lot of other places which you have to edit, I don't know how intwined everything is.

As for your other animation ideas: jumping up the wall is probably something a bit similar to the swinging but a bit easier because there is no change in size... 

Something concerning the rope towards the ceiling could be created by kinda fake methods since there is no behavior that makes the shimeji move up to the ceiling.... or well I'm not going to continue thinking about this now, there might be possibilities if i look at the xml again.

Maybe also for the jumping from side to side but my first guess it's not possible.


About the Line Code we talked about:
Ah so there were two places. I actually DID remember there being two but when I looked for you I only found one and thought I remembered wrong. Now I wonder if I actually did try this in the past... The more I think about it the more I think I did...XD
Thanks for the minitutorial.

I might think more about your other animations, I like to think about things like thatXDDD only if I feel like it though.
I hope I could help you a little bit and if you manage to get something feel free to tell me what you did, I'd love to see your progress.
Yes, I read everything three times. Very solid stuff. Even though I don't code, I kind of got the gist of what you're saying. I was actually trying to get a new rainmeter taskbar that is why I didn't get to respond sooner. This is going to be a tough road ahead. Hopefully I don't give up. I'll see what I can mustard, not anytime soon though. Research.
ChibiEdo's avatar
That's good! I start rambling when I'm thinking about figuring something out..XD
What is a rainmeter taskbar?
And good luck with anything you'll try!
Example of a rainmeter taskbar. Or you could simply run a search for rainmeter on deviantart, and you'll get a taste of different taskbars people have created. Rainmeter is basically a customization for your desktop.

i128.photobucket.com/albums/p1…