XML:FILM: Difference between revisions
Jump to navigation
Jump to search
Paradox-01 (talk | contribs) mNo edit summary |
Paradox-01 (talk | contribs) mNo edit summary |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
=FILM | {{XML_File_Header | prev=DPge | type=FILM | next=HPge | name=Film}} | ||
==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> | |||
==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== | |||
* They will be saved next to the running game application. The first file will be named "saved_film000.dat". | |||
* Enter [[ | * 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 | ||
===FILM converting=== | |||
Converting FILM*oni to FILM*.xml:<br> | |||
onisplit -extract:xml xml_dir level''XX_name''/FILM*.oni | |||
Converting saved_film*.dat to saved_film*.xml:<br> | |||
onisplit film2xml xml_dir source_dir/saved_film*.dat | |||
Converting *.xml to *oni:<br> | |||
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> | |||
{{XML}} | |||
Latest revision as of 19:19, 14 November 2023
FILM : Film | ||
---|---|---|
XML
DPge << Other file types >> HPge |
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 levelX_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. THIS page can convert radians to degrees and vice versa.
- <Facing>
- <DesiredFacing>
- <HeadFacing>
- <HeadPitch>
BSL support
playback ai_name FILM_name playback script_id FILM_name
How to make your own FILM
- They will be saved next to the running game application. The first file will be named "saved_film000.dat".
- Enter Developer Mode to record a FILM.
- F9 - start record
- F10 - stop record
- F11 - play record
FILM converting
Converting FILM*oni to FILM*.xml:
onisplit -extract:xml xml_dir levelXX_name/FILM*.oni
Converting saved_film*.dat to saved_film*.xml:
onisplit film2xml xml_dir source_dir/saved_film*.dat
Converting *.xml to *oni:
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.
<Time> is used instead of <Frame>.
<MouseDelta> is an array of X and Y.
<Frame> <Time>0</Time> </Frame> <Frame> <Time>25</Time> <MouseDelta>0.25 0</MouseDelta> </Frame> <Frame> <Time>223</Time> <MouseDelta>0 -0.25</MouseDelta> <Keys>Forward</Keys> </Frame>