Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- the std file structure(std file is the file that controls 3d bkg)
- file header:
- word data_count
- word (the count of that statements whose second parameter is 0x1c(28))
- dword address_moredata
- dword address_script
- dword unknown
- string anm
- data address(begin from 90):
- dword data_address_01
- dword data_address_02
- ......
- data(which is the objects in std)(create object using "script" number in anm):
- [data 0]
- word std_object_id(usually same as data number)
- word anm_script_id
- float x
- float y
- float z
- float width
- float height
- float depth
- (the following statements follows the upper statements directly, and may repeat many times)
- word 0(0 means a quad, 0xffff means the end WHATISTHIS.jpg)
- word 1Ch
- word anm_script_id
- float x
- float y
- float z(x y z are the position of the upper-left corner)
- float width
- float height(if not 0, this data will cover the width and height in anm, otherwise the program will use datas in anm)
- ......
- word FFFF
- [data 1]
- ......
- more data(put objects that are set up in data to somewhere in the space):
- [more data]
- word std_object_id
- word 100h
- float x
- float y
- float z
- ......
- script(script zone):
- ......
- FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
- std scripts
- name number parameters usage
- setCamForward 0600 1400 float x, float y, float z set the camera's direction(usually(0.0f,1.0f,0.0f))
- setCamFOV 0700 0C00 float angle set the camera field
- setFog 0800 1400 [byte R, byte G, byte B], byte alpha, float start_z, float end_z create fogs with specified color and alpha in the field start_z~end_z
- changeFog 0900 1C00 dword time, dword mode, [byte R, byte G, byte B], byte alpha, float start_z, float end_z change "setFog"'s parameter by time
- setCamPos 0200 1400 float x, float y, float z set the camera's position
- moveCamPos 0300 1C00 dword time, dword mode, float x, float y, float z change "setCamPos"'s parameter by time
- setCamTarget 0400 1400 float x, float y, float z set the camera's facing target position
- moveCamTarget 0500 1C00 dword time, dword mode, float x, float y, float z change "setCamTarget"'s parameter by time
- jump 0100 1000 dword bytes, dword time jump to given bytes' address within given time pos
- setFlag 0C00 0C00 dword flag give the bkg some effect by given flag. following is in HSiFS: 1:the camera position jump left and right; 2:bkg rotates counterclockwise from 0.0f(HSiFS stage6); 3:the camera position floats up and down, facing floats left and right;
- 4:bkg rotates clockwise
- UNKNOWN 0D00 0C00 dword unknown unknown
- unset 1000 0C00 dword a cooperate with ins_630 in ecl(630 in th14, 527 in th12, 441 in th10). when ins_630 is called, std will jump to ins_16(1000 0C00)(int a)
- UNKNOWN 0E00 1400 dword unknown_00, dword unknown_01, dword unknown_02( dword unknown_00, dword unknown_01 in MoF) unknown
- UNKNOWN 1300 0C00 dword unknown unknown
- moveCamForward 1200 1C00 dword time, dword mode, float x, float y, float z change "setCamForward"'s parameter by time
- UNKNOWN 1100 0C00 dword unknown used in HSiFS stage1, the parameter is 1, in which the lower half bkg twists
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement