Dusty Posted September 2, 2013 Posted September 2, 2013 So, I know you can use Dehaveb to decompile compiled icarus script (.ibi) files. And I've done it before. The only problem is recompiling them. It never works for me. Any suggestions? Note: I'm not trying to steal anyone's work or anything, I'm just doing some flow editing for the SP maps I'm melding into my mod that do not belong to me nor do I take any credit for.
mrwonko Posted September 2, 2013 Posted September 2, 2013 Could you post an example of a broken decompiled script?
therfiles Posted September 2, 2013 Posted September 2, 2013 Most of SP's scripts were released with SDK in the .icarus form. Tempust85 likes this
Tempust85 Posted September 2, 2013 Posted September 2, 2013 I find that decompiled scripts are only good for reference. I can never get them to work without redoing them.
Dusty Posted September 2, 2013 Author Posted September 2, 2013 I find that decompiled scripts are only good for reference. I can never get them to work without redoing them. So basically decompiled scripts are practically useless? Here's a script: // Generated by DEvaheb v1.0// Decompiled from file "C:\Documents and Settings\Chris\Desktop\pillar_down2.IBI" remove ( "peg1" );remove ( "peg2" );remove ( "peg3" );remove ( "peg4" );wait ( 777.000 ); affect ( "pillar", 56 ){move ( $tag( "pillar_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );} affect ( "sith_scepter", 56 ){move ( $tag( "scepter_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );} affect ( "peg5", 56 ){move ( $tag( "peg5_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );} affect ( "peg6", 56 ){move ( $tag( "peg6_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );} affect ( "peg7", 56 ){move ( $tag( "peg7_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );} affect ( "peg8", 56 ){move ( $tag( "peg8_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );} wait ( 3000.000 );remove ( "sith_end1" );remove ( "sith_end2" );remove ( "sith_end3" );remove ( "sith_end4" );remove ( "sith_end5" );remove ( "sith_end6" );remove ( "sith_end7" );remove ( "sith_end8" );remove ( "sith_end9" );remove ( "sith_end10" );remove ( "sith_end11" );camera ( 62 );camera ( 60, < 0.000 0.000 0.000 >, 1.000, < 0.000 0.000 0.000 >, 0.000, 99999.000 );camera ( 59, $tag( "outro_cam1", 54)$, 0.000 );camera ( 57, $tag( "outro_cam1", 53)$, < 0.000 0.000 0.000 >, 0.000 );use ( "end_cutscene" );wait ( 1000.000 );camera ( 60, < 0.000 0.000 0.000 >, 1.000, < 0.000 0.000 0.000 >, 0.000, 2000.000 );wait ( 1500.000 );camera ( 59, $tag( "outro_cam2", 54)$, 2000.000 );camera ( 57, $tag( "outro_cam2", 53)$, < 0.000 0.000 0.000 >, 2000.000 );wait ( 2000.000 );camera ( 59, $tag( "outro_cam3", 54)$, 2000.000 );camera ( 57, $tag( "outro_cam3", 53)$, < 0.000 0.000 0.000 >, 2000.000 );wait ( 2000.000 );camera ( 59, $tag( "outro_cam4", 54)$, 2000.000 );camera ( 57, $tag( "outro_cam4", 53)$, < 0.000 0.000 0.000 >, 2000.000 );wait ( 2000.000 );camera ( 59, $tag( "outro_cam5", 54)$, 2000.000 );camera ( 57, $tag( "outro_cam5", 53)$, < 0.000 0.000 0.000 >, 2000.000 );wait ( 2000.000 );camera ( 59, $tag( "outro_cam6", 54)$, 2000.000 );camera ( 57, $tag( "outro_cam6", 53)$, < 0.000 0.000 0.000 >, 2000.000 );wait ( 2000.000 );camera ( 59, $tag( "outro_cam7", 54)$, 2000.000 );camera ( 57, $tag( "outro_cam7", 53)$, < 0.000 0.000 0.000 >, 2000.000 );wait ( 2000.000 );camera ( 59, $tag( "outro_cam8", 54)$, 2000.000 );camera ( 57, $tag( "outro_cam8", 53)$, < 0.000 0.000 0.000 >, 2000.000 );wait ( 2000.000 );camera ( 59, $tag( "outro_cam1", 54)$, 2000.000 );camera ( 57, $tag( "outro_cam1", 53)$, < 0.000 0.000 0.000 >, 2000.000 );camera ( 60, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 1.000, 2500.000 );wait ( 3000.000 );use ( "endcredits" );camera ( 59, $tag( "intro_cam5", 54)$, 0.000 );camera ( 57, $tag( "intro_cam5", 53)$, < 0.000 0.000 0.000 >, 0.000 );camera ( 60, < 0.000 0.000 0.000 >, 1.000, < 0.000 0.000 0.000 >, 0.000, 1000.000 );set ( "SET_LOCK_PLAYER_WEAPONS", "true" );set ( "SET_PLAYER_LOCKED", "true" );set ( "SET_CLOSINGCREDITS", "DEFAULT" ); When I try to compile it, it just says "Could not spawn C:\Documents and Settings\Chris\Desktop\Folders\JAMP SDK (old version)\Tools\BehavEd and DEvaheb!". Not to mention upon loading the script it gives 72 errors just from reading it. Well I think something is wrong on my end, I just tried to compile a raven .icarus file and it didn't work.
Dusty Posted September 2, 2013 Author Posted September 2, 2013 I just fixed it. Now that same script stops at block 6 saying there's a command line error at affect ( "pillar", 56 ). It just says syntax error, identifier not found. krkarr likes this
Solution mrwonko Posted September 2, 2013 Solution Posted September 2, 2013 Yeah. 56 is either FLUSH or INSERT. Those names - like the second parameter of the tag() command, which can be either ORIGIN or ANGLES - are turned into numbers as described in behaved.bhc. Looks like the decompiler doesn't turn 'em back into the identifiers. You'll have to do that manually.
Dusty Posted September 2, 2013 Author Posted September 2, 2013 Oh, so the decompile didn't "de-compile" everything, some things are still in "compiled" form, amirite? EDIT: Anyone want to re-write Dehaveb so it pwns and makes me have to do no werk?
eezstreet Posted September 3, 2013 Posted September 3, 2013 EDIT: Anyone want to re-write Dehaveb so it pwns and makes me have to do no werk?Does it have source code? Tempust85 likes this
Dusty Posted September 5, 2013 Author Posted September 5, 2013 ^If it didn't come with the full source release of the engine and SP code, prolly not. Also, I'm going to mark this solved, as you guys have pretty much explained what needs to be done to fix scripts (basically turn the left over numbers back to their correct stuff), and I thank you for that!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now