Saturday, April 28, 2012

Hex Post 7 (Neko-Sentai) - Repeat/Execute Once

When triggering an effect to constantly repeat 10 will repeat over and over so if you have an effect that never goes away it will repeat over itself eventually causing crash I assume

So if you have a constant effect (a solid model or something that normally sits there) trigger with 14, it will auto trigger but only once

Hex Post 6 (Neko-Sentai) - Official Effect Weights

Slowly finding some 'official' -on weapon- effect weights. I assume these are universal (unless SE is completely renarded which I dont think they are from a cutting corners stand point)

8903 - Great Sword
9903 - Staff
A903 - Polearm/Scythe
B903 - Katana (Sub)
C903 - Katana (Main)

There is some weird shit going on from 7903<- and ->D903 but thats going to be crap nobody in the world will be confused by but me

It looks like for the single handed weapons they're going to stick with the method of linking the effects to the middle finger (symbolic) which are 7903 (main) and 6903 (sub), and also for the GKT they used the 7903

(no mention of a weights for those weapons effects wise in the skeleton dat either so no -on weapon- effects for those :/ )

There is mention of the following Galka Skeleton #s for effects but I do not know how to apply a weight to them yet:
80 - H2H Main
81 - The mother bone of the Sword/Club bone (82) ?
83 - Wand/Axe Main (Makes me think these are inaccessible since they used the middle finger cop out for the Axe they currently have with effects)
84 - The mother bone of the Great Katana bone (85) ?
86
88 - Katana Main
89
91 - The mother bone of the Great Axe bone (92) ?
93
95
97 - Wand/Axe Sub
98
100 - Katana Sub
101 - H2H Sub

72 - Middle finger left hand 6903
59 - Middle Finger right hand 7903

I listed 100 and 88 again because they are in there twice (2 of the same weight SEderp)

Honestly not sure what the mother bones are, I will test to see if they animate the same as the actual bones, if they do then we might have a weight for every weapon

-Tested very lightly-
Mother weights do seem to follow the child bone exactly so if I can figure out how to/if i can use these weights then effects on weapons should be back and fully official (until they decide to mix up their skeleton files beyond recognition again)

-Tested more thoroughly-
Tested with sword, Mother weight seemed to do most everything exactly the same as child bone, however when engaging/disengaging there are a few frames where they do not match :(
GKT matches in battle, but while disengaged it is horribly off

Hex Post 5 (Neko-Sentai) - Pet Call/Dismiss

Modding pets. Specifically Automatons.

Very complex compared to others due them calling skeleton files as opposed to each being their own whole NPC.

Anyways pulling out skeletons and putting them on their own files isnt too bad, but the thing I had trouble with was the appear/disappear schedules.

For depop schedules one /can/ skip the following, however to time things out correctly you will need to add the following in.

For pop schedule it should be noted that along with the other effect calls this HEX

Code:
0000 0000 2904 0000 0200 3200 8080 8080
represents spawning the pet. If this is neglected but there is still an effect schedule, the monster will not spawn (it will just be invisible with a name)

I have not tested depop (tested, ineed it is true!) however one can assume this HEX

Code:
0000 0000 2904 0000 0E00 2000 8080 8000
will cause the mob to depop from sight.

The red indicates the placeholder for the 4 letter call name

Hex Post 4 (Neko-Sentai) - Animation Lock

Was subbing DNC and was curious how animation lock worked. I remembered some custom stuff I put animations in did not lock, so I assumed I could find the answer by modifying a dat.

I chose drain samba because.. i have it so I can test it in game.


Code:
6D61 696E 8707 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
4000 0000 5000 0000 E000 0000 FF00 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0001 0000 0000 0000 0000 0000 0000 0000 
0102 0000 0000 0000 0304 0000 0000 0000 
6463 3030 0000 0000 0304 0000 0000 0000 
6869 6465 0000 0000 5902 0000 0000 F000 
2E02 0000 0000 0000 2F02 0000 0000 F000 
5603 0000 0000 F000 0000 0000 050A 0000 
D700 F000 6463 303F 0000 0000 0000 803F 
0000 803F 0000 0000 0000 0100 0000 0000 
0000 0000 0304 0000 2800 0000 7368 6F77 
0000 0000 0002 0000 0000 0000 0000 0000 
0001 0000 0000 0000 0000 0000 0000 0000
Essentially this is the entire MAIN schedule of the dance, it calls longer schedules within it so its semi small. The only thing I worried about was the animation call. Upon further investigation and comparison I found out that animation calls have quite a few different attributes that are called within the schedule (aside from just the speed)

After a few tests I found that turning 2E02 from ON (F0) to OFF (00) the animation lock disappeared.

I would, however, like to find out what makes an animation repeat until you move. Then I could make a real /dance instead of a lame one animation thing.

Hex Post 3 (Neko-Sentai) - Altered Size Schedules Fix

Alright this was infuriating, my "Empty Dusters" H2H weapons were freezing my game for seemingly no reason at all so I spent forever debugging and found out something that is apparently required for this new on off weapon effect crap.

Code:
2177 3030 8705 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
4000 0000 5000 0000 A000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0001 0000 0000 0000 0000 0000 0000 0000 
0102 0000 0000 0000 1E04 0000 0000 0000 
6772 3030 0000 0000 1E04 0000 0000 0000 
6772 3031 0000 0000 1E04 0000 0000 0000 
6772 3032 0000 0000 1E04 0000 0000 0000 
6772 3033 0000 0000 0002 0000 0000 0000 
0001 0000 0000 0000 0000 0000 0000 0000
This is your basic schedule, for the weapon effect. During my infuriating session with this I discovered that the green number before the even number of the block size is the odd number. in this case it is 11 lines, so 5 is the even number ( = 10) and to add one you add an 87 in front of it. If its even you will add a 07 in front of it.

I noticed the numbering system is different depending on /what type/ of block you are sizing, it just happens in this case for the main schedules it is 87 odd, 07 even wheras if we were sizing an effect block it would be a different numbering system. Easy to figure out though by looking through other effect blocks, you're bound to come across an even and an odd to get the numbers.

Anyways back to what was fucking my shit up is the red number. It is apparently reading HOW MANY LINES??? are in the schedule STARTING FROM ZERO (top line = 0, then 1,2,3,etc)

In the example it is 11 lines, so starting from 0-1,2,3,4,5,6,7,8,9,A = 11 total lines. So A0 goes in that byte.

I did not change this and the effect was constantly freezing my game at random intervals ._.; (Tested by spamming up down to unequip reequip in wardrobe) But it seems to be working fine now. Ugh

Hex Post 2 (Neko-Sentai) - Single Byte Porting

If opened in Hex one can do a Hex search for one of two things depending on if said dat has been put through VRS or not.

If the dat has been VRS'd you will do a search for "0000000000000000"
In the search results go down until you find a section resembling this example:

(If quick scrolling it will stand out as a large section of .......................)

Code:
0000 B43E 2904 F603 F903 0000 753F 0000 
D03E 0000 7C3F 0000 B43E 0000 703F 0000 
BA3E 2904 0904 1604 0000 753F 0000 D03E 
0000 673F 0000 E23E 0000 633F 0000 C83E 
1204 0004 0204 0000 5A3F 0000 703E 0000 
513F 0000 643E 0000 543F 0000 2C3E 2804 
2F04 2C04 0000 523F 0000 CA3E 0000 4E3F 
0000 C63E 0000 4D3F 0000 B83E FFFF 6900 
3004 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
If the dat has not been through VRS do a search for "0040000000400000"
In the search results go down until you find a section resembling this example:

(If quick scrolling it will stand out as a large section of ...@...@...@...@)

Code:
0000 D03E 3F00 4100 3E00 0000 A03E 0000 
D03E 0000 243F 0000 D03E 0000 A03E 0000 
2C3F 4000 3E00 4100 0000 243F 0000 2C3F 
0000 A03E 0000 2C3F 0000 243F 0000 D03E 
0200 0300 0100 0000 803C 0000 803C 0000 
803C 0000 803E 0000 E03E 0000 803C 0000 
0100 0300 0000 E03E 0000 803E 0000 E03E 
0000 803C 0000 803C 0000 803E FFFF 5D00 
7600 0000 0040 0000 0040 0000 0040 0000 
0040 0000 0040 0000 0040 0000 0040 0000 
0040 0000 0040 0000 0040 0000 0040 0000 
0040 0000 0040 0000 0040 0000 0040 0000 
0040 0000 0040 0000 0040 0000 0040 0000 
0040 0000 0040 0000 0040 0000 0040 0000 
0040 0000 0040 0000 0040 0000 0040 0000 
0040 0000 0040 0000 0040 0000 0040 0000 
0040 0000 0040 0000 0040 0000 0040 0000 
When you find this section you will need to check out the little sections marked in Purple as these will change all the weights at once.

The FFFF I marked purple as it is an easy way to point out which byte to change. The single ## byte directly following FFFF is the weight number in hexidecimal format (i.e. 0-F instead of 1-16)

Thus simply change that byte to whatever the weight you want it to be in Hex. i.e. the bottom example (Hume F main H2H) shows that number to be 5D, which in decimal format is 93. If you were to look in VRS and change weights through envelope, one would find the weight to be Skeleton-93.

However a simple way of doing this:

If for example you are porting Hume F main H2H to Galka main H2H, simply open up a pre-existing Galka main H2H and find the section/byte, it will have the HEX number you need already, then you can copy paste it into the Hume F one and it will be weighted correctly.

When doing this remember to always copy and paste the infoE section at the bottom of the dat as this is the call for what motions your character will use.

(If you were to change the weight of the Hume F to Galka and swap it over without doing this the Galkan animations would not be correct.)

Hex Post 1 (Neko-Sentai) - Effect Block Overview

Code:
6730 3034 850F 0000 0000 0000 0000 0000 
6901 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 803F 0000 803F 0000 803F 0000 803F 
0000 803F 0000 803F 0000 803F 0000 803F 
80C1 B601 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0100 0010 0000 10C0 9C01 
9000 0000 A000 0000 B001 0000 E001 0000 
1102 0000 FF03 0000 0001 0000 0000 0000 
010C 0000 0100 8000 0000 0000 6769 3832 
0000 0100 3E63 40BD 0AD7 50BE 0AD7 603D 
4C0E 3200 1400 0000 0000 0000 0000 0000 
02E4 0100 0000 0000 BBBB 3000 0000 303B 
03E4 0100 0000 0000 0000 0000 0000 0000 
0604 0000 0000 0000 0000 0000 0000 0000 
41E2 0100 6F12 033B 3D61 0100 3E63 0100 
0AD7 A33C 0AD7 A33C 0904 0000 0000 0000 
0000 0000 0000 0000 0BE4 0000 0000 0000 
0000 0000 0000 0000 0CE4 0000 0000 0000 
0000 0000 20F9 0E3C 0A04 0000 0000 0000 
0000 0000 560E 4940 0F04 0000 CECC 00B0 
CECC 00B0 0000 00B0 1102 0000 CCCC 4C3D 
1264 0000 16B7 5139 16B7 5139 0000 0000 
1E02 0000 4400 0000 1602 0000 3030 3000 
2D04 0000 0000 0000 6B30 3031 0000 0000 
1D02 0000 0000 0000 0001 0000 0000 0000 
0E01 0000 02E1 0100 2964 0100 20F9 8E3D 
20F9 8E3D 0000 0000 05E1 0000 0861 0000 
0D01 0000 1B01 0000 0001 0000 0000 0000 
0001 0000 0000 0000 0000 0000 0000 0000
Name of Effect Block (4 letters, any 4, used to call Effect Block from Schedule)
Size of Block (Goes for all Blocks in dat, first ## determine if block size is odd number (depending on TYPE of block numbers will vary. Look at an odd and an even, those are the 2 numbers you will need for this byte. If main schedules it is 87=odd 07=even) and second ## determine block size to the closest even number (will amount to 1/2 of total block size) (if number is odd it will be 1 under) In this effect block above, it states the block size is 0F, which = 15, if you count the lines of Hex there are 30, thus 30/2 = 15 = 0F. If this is not correct (if you add/delete a line without changing this) game will crash.
Weight - Designated by SE via skeleton dats.
Not entirely sure, however I seem to remember while working on Elemental Staves+2 this number being 4004 meant the effect would be scaled according to race/size
This seems to be the rate at which the effect is repeated 00 being the fastest and increasing slowed the speed
Auto Start/Repeat 10 on 00 off (for official set 10 call kill&init schedule)
Follow/Relative - FF03=follow 100%, err dont remember what other is but hate it. SET FF03 BEFORE EDITING POSITION OR POSITIONS WONT BE FINAL
Name of Effects texture/model data (4 letters, do a search to find the corresponding texture and model which have blocks with the same name)
Position - XYZ (0000 directly after followed by mystery #### then actual positioning. Actual positioning bytes are First## = fine tune position 00-FF, Second## = General position (changes position largely) Positive goes from BB-BF, Negative 3B-3F. In this example #### 40BD #### 50BE #### 603D are the only ones I edit.
Emitter Information - New to this (Just found today) Follows same structure of actual position bytes. As for each line I am not sure, however while making cigar smoke I found the top line 02E4 controlled the direction/speed of the smoke being emitted (XYZ, higher= faster&further)
Will revisit.
Rotation - XYZ again same structure in random order
Scale - XYZ same, random, however for emitter effects this will simply change the size of particle/polygons being emitted not the size/distance of emitted effect
Color/transparency (depending on what the effect is using) follows the structure 0000 #### ##00 where # = Color value in HEX (color wheel in image editor)
Name of Effect Modifier block (More ofthen than not there are more than 1 of these. 4 letters, do search to find small usually 3 or 4 line block in Effect Block section of dat)
--Unknown Values (Edit later?) for THIS effect (emit smoke (Galka firebreathing npc))--
4C0E
0BE4
0CE4
0A04
1102 - (Unsure if takes up 1/2 line, 1 line, 1.5 lines?)
1E02
2D04

Others not listed are uncharted territory which editing tends to cause the game to crash, good chance those are very specific values that need to be entered as opposed to a range/slider. Would require finding other effects with similar #### blocks.