I had a request for a simple SCASM example for a damageable library object for CFS2.
A damageable object in CFS2 is a library object. It can be easily made in SCASM code:
DickCode:Header( 1 N90:00:00.00 S90:00:00.00 E180:00:00.00 W180:00:00.00 ) LatRange( S90:00:00.00 N90:00:00.00 ) ; ---------------------------------------- ; Library Object #1 ; ---------------------------------------- ;//////////////////////////////////////////ObjID is a unique GUID number to identify the library object ObjID( 2C1D3FFB 4259FA73 4B77FAA3 D3FB5C50 ) ;//////////////////////////////////////////SIZE and SCALE should be available from the code???? LibObj( PWR 0 SIZE 10 SCALE 0.5 TYPE 0 NAME "inf_rhumba_object" ) IfVarAnd( :_Undamaged_code 0024 0040 ) BGLVersion( 0732 ) ; /////////////////////////////////////////<your code from damage model> MaterialList( 0 ; material 0 0.467 0.525 0.196 1.000 ; diffuse color 0.467 0.525 0.196 1.000 ; ambient color 0.000 0.000 0.000 1.000 ; specular color 0.000 0.000 0.000 1.000 ; emissive color 0.000 ; specular power ) VertexList( 0 -9.000 9.000 0.000 -0.863 -0.357 0.357 0.000 1.000 ; vertex 0 -9.000 9.000 0.000 -0.863 -0.357 -0.357 0.000 1.000 ; vertex 1 -9.000 9.000 0.000 -0.863 0.357 0.357 0.000 1.000 ; vertex 2 -9.000 9.000 0.000 -0.863 0.357 -0.357 0.000 1.000 ; vertex 3 -6.360 2.640 0.000 -0.863 -0.357 0.357 0.000 1.000 ; vertex 4 -6.360 2.640 0.000 -0.863 -0.357 -0.357 0.000 1.000 ; vertex 5 -6.360 2.640 0.000 -0.378 -0.912 0.157 0.000 1.000 ; vertex 6 -6.360 2.640 0.000 -0.378 -0.912 -0.157 0.000 1.000 ; vertex 7 -6.360 9.000 6.360 -0.863 -0.357 0.357 0.000 1.000 ; vertex 8 -6.360 9.000 6.360 -0.863 0.357 0.357 0.000 1.000 ; vertex 9 -6.360 9.000 6.360 -0.357 -0.357 0.863 0.000 1.000 ; vertex 10 -6.360 9.000 6.360 -0.357 0.357 0.863 0.000 1.000 ; vertex 11 -6.360 9.000 -6.360 -0.863 -0.357 -0.357 0.000 1.000 ; vertex 12 -6.360 9.000 -6.360 -0.863 0.357 -0.357 0.000 1.000 ; vertex 13 -6.360 9.000 -6.360 -0.357 -0.357 -0.863 0.000 1.000 ; vertex 14 -6.360 9.000 -6.360 -0.357 0.357 -0.863 0.000 1.000 ; vertex 15 -6.360 15.360 0.000 -0.863 0.357 0.357 0.000 1.000 ; vertex 16 -6.360 15.360 0.000 -0.863 0.357 -0.357 0.000 1.000 ; vertex 17 -6.360 15.360 0.000 -0.378 0.912 0.157 0.000 1.000 ; vertex 18 -6.360 15.360 0.000 -0.378 0.912 -0.157 0.000 1.000 ; vertex 19 -4.496 2.640 4.496 -0.863 -0.357 0.357 0.000 1.000 ; vertex 20 -4.496 2.640 4.496 -0.378 -0.912 0.157 0.000 1.000 ; vertex 21 -4.496 2.640 4.496 -0.357 -0.357 0.863 0.000 1.000 ; vertex 22 -4.496 2.640 4.496 -0.157 -0.912 0.378 0.000 1.000 ; vertex 23 -4.496 2.640 -4.496 -0.863 -0.357 -0.357 0.000 1.000 ; vertex 24 -4.496 2.640 -4.496 -0.378 -0.912 -0.157 0.000 1.000 ; vertex 25 -4.496 2.640 -4.496 -0.357 -0.357 -0.863 0.000 1.000 ; vertex 26 -4.496 2.640 -4.496 -0.157 -0.912 -0.378 0.000 1.000 ; vertex 27 -4.496 15.360 4.496 -0.863 0.357 0.357 0.000 1.000 ; vertex 28 -4.496 15.360 4.496 -0.378 0.912 0.157 0.000 1.000 ; vertex 29 -4.496 15.360 4.496 -0.357 0.357 0.863 0.000 1.000 ; vertex 30 -4.496 15.360 4.496 -0.157 0.912 0.378 0.000 1.000 ; vertex 31 -4.496 15.360 -4.496 -0.863 0.357 -0.357 0.000 1.000 ; vertex 32 -4.496 15.360 -4.496 -0.378 0.912 -0.157 0.000 1.000 ; vertex 33 -4.496 15.360 -4.496 -0.357 0.357 -0.863 0.000 1.000 ; vertex 34 -4.496 15.360 -4.496 -0.157 0.912 -0.378 0.000 1.000 ; vertex 35 0.000 0.000 0.000 -0.378 -0.912 0.157 0.000 1.000 ; vertex 36 0.000 0.000 0.000 -0.378 -0.912 -0.157 0.000 1.000 ; vertex 37 0.000 0.000 0.000 -0.157 -0.912 0.378 0.000 1.000 ; vertex 38 0.000 0.000 0.000 -0.157 -0.912 -0.378 0.000 1.000 ; vertex 39 0.000 0.000 0.000 0.157 -0.912 0.378 0.000 1.000 ; vertex 40 0.000 0.000 0.000 0.157 -0.912 -0.378 0.000 1.000 ; vertex 41 0.000 0.000 0.000 0.378 -0.912 0.157 0.000 1.000 ; vertex 42 0.000 0.000 0.000 0.378 -0.912 -0.157 0.000 1.000 ; vertex 43 0.000 2.640 6.360 -0.357 -0.357 0.863 0.000 1.000 ; vertex 44 0.000 2.640 6.360 -0.157 -0.912 0.378 0.000 1.000 ; vertex 45 0.000 2.640 6.360 0.157 -0.912 0.378 0.000 1.000 ; vertex 46 0.000 2.640 6.360 0.357 -0.357 0.863 0.000 1.000 ; vertex 47 0.000 2.640 -6.360 -0.357 -0.357 -0.863 0.000 1.000 ; vertex 48 0.000 2.640 -6.360 -0.157 -0.912 -0.378 0.000 1.000 ; vertex 49 0.000 2.640 -6.360 0.157 -0.912 -0.378 0.000 1.000 ; vertex 50 0.000 2.640 -6.360 0.357 -0.357 -0.863 0.000 1.000 ; vertex 51 0.000 9.000 9.000 -0.357 -0.357 0.863 0.000 1.000 ; vertex 52 0.000 9.000 9.000 -0.357 0.357 0.863 0.000 1.000 ; vertex 53 0.000 9.000 9.000 0.357 -0.357 0.863 0.000 1.000 ; vertex 54 0.000 9.000 9.000 0.357 0.357 0.863 0.000 1.000 ; vertex 55 0.000 9.000 -9.000 -0.357 -0.357 -0.863 0.000 1.000 ; vertex 56 0.000 9.000 -9.000 -0.357 0.357 -0.863 0.000 1.000 ; vertex 57 0.000 9.000 -9.000 0.357 -0.357 -0.863 0.000 1.000 ; vertex 58 0.000 9.000 -9.000 0.357 0.357 -0.863 0.000 1.000 ; vertex 59 0.000 15.360 6.360 -0.357 0.357 0.863 0.000 1.000 ; vertex 60 0.000 15.360 6.360 -0.157 0.912 0.378 0.000 1.000 ; vertex 61 0.000 15.360 6.360 0.157 0.912 0.378 0.000 1.000 ; vertex 62 0.000 15.360 6.360 0.357 0.357 0.863 0.000 1.000 ; vertex 63 0.000 15.360 -6.360 -0.357 0.357 -0.863 0.000 1.000 ; vertex 64 0.000 15.360 -6.360 -0.157 0.912 -0.378 0.000 1.000 ; vertex 65 0.000 15.360 -6.360 0.157 0.912 -0.378 0.000 1.000 ; vertex 66 0.000 15.360 -6.360 0.357 0.357 -0.863 0.000 1.000 ; vertex 67 0.000 18.000 0.000 -0.378 0.912 0.157 0.000 1.000 ; vertex 68 0.000 18.000 0.000 -0.378 0.912 -0.157 0.000 1.000 ; vertex 69 0.000 18.000 0.000 -0.157 0.912 0.378 0.000 1.000 ; vertex 70 0.000 18.000 0.000 -0.157 0.912 -0.378 0.000 1.000 ; vertex 71 0.000 18.000 0.000 0.157 0.912 0.378 0.000 1.000 ; vertex 72 0.000 18.000 0.000 0.157 0.912 -0.378 0.000 1.000 ; vertex 73 0.000 18.000 0.000 0.378 0.912 0.157 0.000 1.000 ; vertex 74 0.000 18.000 0.000 0.378 0.912 -0.157 0.000 1.000 ; vertex 75 4.496 2.640 4.496 0.157 -0.912 0.378 0.000 1.000 ; vertex 76 4.496 2.640 4.496 0.357 -0.357 0.863 0.000 1.000 ; vertex 77 4.496 2.640 4.496 0.378 -0.912 0.157 0.000 1.000 ; vertex 78 4.496 2.640 4.496 0.863 -0.357 0.357 0.000 1.000 ; vertex 79 4.496 2.640 -4.496 0.157 -0.912 -0.378 0.000 1.000 ; vertex 80 4.496 2.640 -4.496 0.357 -0.357 -0.863 0.000 1.000 ; vertex 81 4.496 2.640 -4.496 0.378 -0.912 -0.157 0.000 1.000 ; vertex 82 4.496 2.640 -4.496 0.863 -0.357 -0.357 0.000 1.000 ; vertex 83 4.496 15.360 4.496 0.157 0.912 0.378 0.000 1.000 ; vertex 84 4.496 15.360 4.496 0.357 0.357 0.863 0.000 1.000 ; vertex 85 4.496 15.360 4.496 0.378 0.912 0.157 0.000 1.000 ; vertex 86 4.496 15.360 4.496 0.863 0.357 0.357 0.000 1.000 ; vertex 87 4.496 15.360 -4.496 0.157 0.912 -0.378 0.000 1.000 ; vertex 88 4.496 15.360 -4.496 0.357 0.357 -0.863 0.000 1.000 ; vertex 89 4.496 15.360 -4.496 0.378 0.912 -0.157 0.000 1.000 ; vertex 90 4.496 15.360 -4.496 0.863 0.357 -0.357 0.000 1.000 ; vertex 91 6.360 2.640 0.000 0.378 -0.912 0.157 0.000 1.000 ; vertex 92 6.360 2.640 0.000 0.378 -0.912 -0.157 0.000 1.000 ; vertex 93 6.360 2.640 0.000 0.863 -0.357 0.357 0.000 1.000 ; vertex 94 6.360 2.640 0.000 0.863 -0.357 -0.357 0.000 1.000 ; vertex 95 6.360 9.000 6.360 0.357 -0.357 0.863 0.000 1.000 ; vertex 96 6.360 9.000 6.360 0.357 0.357 0.863 0.000 1.000 ; vertex 97 6.360 9.000 6.360 0.863 -0.357 0.357 0.000 1.000 ; vertex 98 6.360 9.000 6.360 0.863 0.357 0.357 0.000 1.000 ; vertex 99 6.360 9.000 -6.360 0.357 -0.357 -0.863 0.000 1.000 ; vertex 100 6.360 9.000 -6.360 0.357 0.357 -0.863 0.000 1.000 ; vertex 101 6.360 9.000 -6.360 0.863 -0.357 -0.357 0.000 1.000 ; vertex 102 6.360 9.000 -6.360 0.863 0.357 -0.357 0.000 1.000 ; vertex 103 6.360 15.360 0.000 0.378 0.912 0.157 0.000 1.000 ; vertex 104 6.360 15.360 0.000 0.378 0.912 -0.157 0.000 1.000 ; vertex 105 6.360 15.360 0.000 0.863 0.357 0.357 0.000 1.000 ; vertex 106 6.360 15.360 0.000 0.863 0.357 -0.357 0.000 1.000 ; vertex 107 9.000 9.000 0.000 0.863 -0.357 0.357 0.000 1.000 ; vertex 108 9.000 9.000 0.000 0.863 -0.357 -0.357 0.000 1.000 ; vertex 109 9.000 9.000 0.000 0.863 0.357 0.357 0.000 1.000 ; vertex 110 9.000 9.000 0.000 0.863 0.357 -0.357 0.000 1.000 ; vertex 111 ) SetMaterial( 0 -1 ) DrawTriList( 0 52 44 22 ; 0 68 29 18 ; 1 69 19 33 ; 2 71 35 65 ; 3 73 66 88 ; 4 75 90 105 ; 5 74 104 86 ; 6 72 84 62 ; 7 60 53 11 ; 8 60 11 30 ; 9 28 9 2 ; 10 28 2 16 ; 11 17 3 13 ; 12 17 13 32 ; 13 34 15 57 ; 14 34 57 64 ; 15 67 59 101 ; 16 67 101 89 ; 17 91 103 111 ; 18 91 111 107 ; 19 106 110 99 ; 20 106 99 87 ; 21 85 97 55 ; 22 85 55 63 ; 23 70 61 31 ; 24 52 22 10 ; 25 8 20 4 ; 26 8 4 0 ; 27 1 5 24 ; 28 1 24 12 ; 29 14 26 48 ; 30 14 48 56 ; 31 58 51 81 ; 32 58 81 100 ; 33 102 83 95 ; 34 102 95 109 ; 35 108 94 79 ; 36 108 79 98 ; 37 96 77 47 ; 38 96 47 54 ; 39 38 23 45 ; 40 36 6 21 ; 41 37 25 7 ; 42 39 49 27 ; 43 41 80 50 ; 44 43 93 82 ; 45 42 78 92 ; 46 40 46 76 ; 47 ) EndVersion Return ; ///////////////////////////////////////// :_Undamaged_code BGLVersion( 0732 ) ; /////////////////////////////////////////<your code from normal model> MaterialList( 0 ; material 0 0.969 0.063 0.278 1.000 ; diffuse color 0.969 0.063 0.278 1.000 ; ambient color 0.000 0.000 0.000 1.000 ; specular color 0.000 0.000 0.000 1.000 ; emissive color 0.000 ; specular power ) VertexList( 0 -10.000 0.000 10.000 -1.000 0.000 0.000 0.000 1.000 ; vertex 0 -10.000 0.000 10.000 0.000 -1.000 0.000 0.000 1.000 ; vertex 1 -10.000 0.000 10.000 0.000 0.000 1.000 0.000 1.000 ; vertex 2 -10.000 0.000 -10.000 -1.000 0.000 0.000 0.000 1.000 ; vertex 3 -10.000 0.000 -10.000 0.000 -1.000 0.000 0.000 1.000 ; vertex 4 -10.000 0.000 -10.000 0.000 0.000 -1.000 0.000 1.000 ; vertex 5 -10.000 20.000 10.000 -1.000 0.000 0.000 0.000 1.000 ; vertex 6 -10.000 20.000 10.000 0.000 0.000 1.000 0.000 1.000 ; vertex 7 -10.000 20.000 10.000 0.000 1.000 0.000 0.000 1.000 ; vertex 8 -10.000 20.000 -10.000 -1.000 0.000 0.000 0.000 1.000 ; vertex 9 -10.000 20.000 -10.000 0.000 0.000 -1.000 0.000 1.000 ; vertex 10 -10.000 20.000 -10.000 0.000 1.000 0.000 0.000 1.000 ; vertex 11 10.000 0.000 10.000 0.000 -1.000 0.000 0.000 1.000 ; vertex 12 10.000 0.000 10.000 0.000 0.000 1.000 0.000 1.000 ; vertex 13 10.000 0.000 10.000 1.000 0.000 0.000 0.000 1.000 ; vertex 14 10.000 0.000 -10.000 0.000 -1.000 0.000 0.000 1.000 ; vertex 15 10.000 0.000 -10.000 0.000 0.000 -1.000 0.000 1.000 ; vertex 16 10.000 0.000 -10.000 1.000 0.000 0.000 0.000 1.000 ; vertex 17 10.000 20.000 10.000 0.000 0.000 1.000 0.000 1.000 ; vertex 18 10.000 20.000 10.000 0.000 1.000 0.000 0.000 1.000 ; vertex 19 10.000 20.000 10.000 1.000 0.000 0.000 0.000 1.000 ; vertex 20 10.000 20.000 -10.000 0.000 0.000 -1.000 0.000 1.000 ; vertex 21 10.000 20.000 -10.000 0.000 1.000 0.000 0.000 1.000 ; vertex 22 10.000 20.000 -10.000 1.000 0.000 0.000 0.000 1.000 ; vertex 23 ) SetMaterial( 0 -1 ) DrawTriList( 0 17 14 20 ; 0 12 15 4 ; 1 11 22 19 ; 2 19 8 11 ; 3 5 16 21 ; 4 21 10 5 ; 5 4 1 12 ; 6 20 23 17 ; 7 13 2 7 ; 8 7 18 13 ; 9 0 3 9 ; 10 9 6 0 ; 11 ) EndVersion Return ; ///////////////////////////////////////// EndObj
Bookmarks