XML:FILM: Difference between revisions

2,473 bytes added ,  14 November 2023
m
no edit summary
mNo edit summary
mNo edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=FILM: animation playbacks=
{{XML_File_Header | prev=DPge | type=FILM | next=HPge | name=Film}}


{{Template:XMLModdingHints}}
==General information==
* The XML code on this page is compatible with OniSplit '''v0.9.61.0''' and '''v0.9.68.0'''.
* FILM*.oni files are level-specific (they are usually used in cutscenes and can be found in level''X''_Final).
* For best results (esp. for running and jumping), use the same character for recording and playing the FILM files.
* Holster and unholster is the same key event, so make sure the character has their weapon holstered/unholstered as you planned or it will affect their ability to sprint.
* The tags below have their values in radians. [http://www.unitconversion.org/angle/radians-to-degrees-conversion.html THIS] page can convert radians to degrees and vice versa.
: <Facing>
: <DesiredFacing>
: <HeadFacing>
: <HeadPitch>


'''general information'''
==BSL support==
* FILM*.oni are level specific. (They can be found in level''XX''_...)
 
 
'''BSL support'''
  playback ''ai_name FILM_name''
  playback ''ai_name FILM_name''
  playback ''script_id FILM_name''
  playback ''script_id FILM_name''


 
==How to make your own FILM==
'''How to make an own FILM'''
* They will be saved next to the running game application. The first file will be named "saved_film000.dat".
* Enter [[Developer_Mode|Developer Mode]] to record a FILM.
* Enter [[Developer Mode]] to record a FILM.
: F9 - start record
: F9 - start record
: F10 - stop record
: F10 - stop record
: F11 - play record
: F11 - play record
* They become stored in Oni/edition folder. First file is named "saved_film000.dat"


===FILM converting===
Converting FILM*oni to FILM*.xml:<br>
onisplit -extract:xml xml_dir level''XX_name''/FILM*.oni


'''FILM converting'''
Converting saved_film*.dat to saved_film*.xml:<br>
onisplit film2xml xml_dir source_dir/saved_film*.dat


for original FILM*oni to FILM*.xml
Converting *.xml to *oni:<br>
onisplit -extract:xml xml_dir level''XX_name''/FILM*.oni
for new saved_film*.dat to saved_film*.xml
onisplit film2xml xml_dir source_dir/saved_film*.dat
for converting original/new *.xml to *oni
  onisplit -create oni_dir xml_dir/*.xml
  onisplit -create oni_dir xml_dir/*.xml


==<Keys>==
: None
: Escape
: Console
: Pause
: Cutscene1
: Cutscene2
: F4
: F5
: F6
: F7
: F8
: StartRecord
: StopRecord
: PlayRecord
: F12
: LookMode
: Screenshot
: Forward
: Backward
: TurnLeft
: TurnRight
: StepLeft
: StepRight
: Jump
: Crouch
: Punch
: Kick
: Block
: Walk
: Action
: Hypo
: Reload
: Swap
: Drop
: Fire1
: Fire2
: Fire3
==Sample XML==
"[...]" below stands for additional <FILMFrame>...</FILMFrame> blocks.
<?xml version="1.0" encoding="utf-8"?>
<Oni>
    <Instance id="0" type="FILM">
        <Position>414.461334 50 666.26355</Position>
        <Facing>4.767578</Facing>
        <DesiredFacing>4.767578</DesiredFacing>
        <HeadFacing>0</HeadFacing>
        <HeadPitch>-0.196971774</HeadPitch>
        <FrameCount>165</FrameCount>
        <Animations>
            <String></String>
            <String></String>
        </Animations>
        <Frames>
            <FILMFrame>
                <MouseDelta>0 0</MouseDelta>
                <Keys></Keys>
                <Frame>0</Frame>
            </FILMFrame>
            '''''[...]'''''
        </Frames>
    </Instance>
</Oni>
==Frame structures==
FILM allows two structures for <Frames>.
===Fixed structure===
There are always 4 elements within <FILMFrame>.
            <FILMFrame>
                <MouseDeltaX>0</MouseDeltaX>
                <MouseDeltaY>0</MouseDeltaY>
                <Keys></Keys>
                <Frame>0</Frame>
            </FILMFrame>
===Modular structure===
There can be one up to three elements.
<nowiki><Time></nowiki> is used instead of <Frame>.
<MouseDelta> is an array of X and Y.
            <Frame>
                <nowiki><Time>0</Time></nowiki>
            </Frame>
            <Frame>
                <nowiki><Time>25</Time></nowiki>
                <MouseDelta>0.25 0</MouseDelta>
            </Frame>
            <Frame>
                <nowiki><Time>223</Time></nowiki>
                <MouseDelta>0 -0.25</MouseDelta>
                <Keys>Forward</Keys>
            </Frame>


'''known issues'''
{{XML}}
* no ONCC data included: take care of jumps
* holster issue: holster and unholster is same key event, make sure character has (un)holstered weapon as you planed, else it can affect sprint
8,464

edits