Logo

Prevent noteskin rotation, and change freeze body offsets

登録 ログイン フォーラム戻る

ポスト #1 · 2015-05-26 10:21:27pmにポスト 8.9年前

Offline MadkaT
MadkaT Avatar Member
820 ポスト
Not Set
Reg. 2009-11-24


Last updated: 2015-05-26 10:24pm
Hello friends, I'm making the DDR official noteskins, and I have two little problems. Sorry for my ignorance.

The first thing I need to do is to prevent the Right arrow generation by rotating the down arrow one, this cause the original Angelfish noteskin, in the right position only has an horizontal mirror applied, and not a 270 degrees rotation, left is SM, right is DDR dump positions:

http://i.imgur.com/L8lzlvt.jpg

The second item that I want to know. Is there a way to change the inital offset of the body form a shock arrow? Some noteskins have not aligned the body of the freese arrow to the center of the tile, and they look strange, an example of this is the pixel, arrow, on the right side, I've colores in blue, the start of the body, it need to be lower:

http://i.imgur.com/PX0bgRP.jpg

That is mainly the troubles that I have, if someone could help me, it would be highly appreciated. Big Grin Thanks for reading!

ポスト #2 · 2015-05-27 02:21:58pmにポスト 8.9年前

Offline Mad Matt
Mad Matt Avatar Member
65 ポスト
United States
Reg. 2011-10-26

Quote: MadkaT
Is there a way to change the inital offset of the body form a hold arrow?
There is a NoteSkin metric to control that called "StartDrawingHoldBodyOffsetFromHead". You can put NoteSkin metrics under the tag [NoteDisplay] to apply to all columns, or under the tag [ButtonName] (e.g. [Left] ) to apply to a single column.

Quote: MadkaT
The first thing I need to do is to prevent the Right arrow generation by rotating the down arrow one, this cause the original Angelfish noteskin, in the right position only has an horizontal mirror applied, and not a 270 degrees rotation
This is a little more complicated, because it could be coming from several different locations and there are more potential ways to handle it.

Assuming you copied another noteskin as a base, it comes from the NoteSkin.lua through the NoteSkin's fallback. If you look in the NoteSkin.lua it probably begins with something like "local ret = ... or {}". This means that it starts with the table returned by it's fallback skin's NoteSkin.lua. So to know what the table fully contains, you'll have to trace back until you reach the "common" NoteSkin ( /NoteSkins/Common/common ).

If you look at the Load function from the table returned by the common NoteSkin, you'll notice that right before returning the actor definition it says "t.BaseRotationZ = ret.Rotate[sButton]". The first thing to do is to change the z rotation. If your NoteSkin.lua delcares a "Rotate" table, you'll have to change it's rotation value for the right arrow from ( either 270 or -90 ) to 90. Otherwise, it's being set in one of the fallbacks for your NoteSkin, so you can probably simply declare ret.Rotate.Right = 90 to override that part of the table.

The next thing you have to do is to make all right arrows mirror horizontally. There are 2 ways to do this: either BaseRotationY = 180, or BaseZoomX = -1; You can alter the results of the load function doing something like this:

local load = ret.Load;

function ret.Load()
local t = load();
if Var "Button" == "Right" then
t.BaseRotationY = -1
end
return t;
end


You can add more conditionals as needed to control which elements are affected.

ポスト #3 · 2015-05-27 10:24:02pmにポスト 8.9年前

Offline MadkaT
MadkaT Avatar Member
820 ポスト
Not Set
Reg. 2009-11-24

Thanks, the freeze offset is working so nice, I'll test the arrow rotation those week.
登録 ログイン フォーラム戻る

0 User(s) Viewing This Thread (Past 15 Minutes)

©2006-2024 Zenius -I- vanisher.com -5th style- IIPrivacy Policy
Web Server: 2% · Database: 4% · Server Time: 2024-05-04 04:30:38
このページは0.003秒サーバータイム使用する。
Theme: starlight · Language: japanese
Reset Theme & Language