ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Tue Dec 12, 2017 12:22 pm

All times are UTC




Post new topic  Reply to topic  [ 32 posts ]  Go to page Previous 1 2
Author Message
 Post subject: Re: Project Cars 2
PostPosted: Sat Sep 23, 2017 11:05 am 
User avatar

Joined: Fri Aug 12, 2016 1:18 pm
Posts: 6
del


Last edited by Andrakann on Sat Sep 23, 2017 3:19 pm, edited 1 time in total.

Top
   
 Post subject: Re: Project Cars 2
PostPosted: Sat Sep 23, 2017 1:06 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 7228
Script 0.2.5, apparently it was just a new key :)
http://aluigi.org/bms/nfsshift.bms


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Sat Sep 23, 2017 3:19 pm 
User avatar

Joined: Fri Aug 12, 2016 1:18 pm
Posts: 6
Great! :)


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Sun Sep 24, 2017 1:06 am 

Joined: Mon Jan 04, 2016 2:45 pm
Posts: 3
don't work for me :oops:


- select the BMS script to use
- select the input archives/files to extract, type * or "" for whole folder and subfolders
- select the output folder where extracting the files
- open input file C:\Users\Piero\Desktop\quickbms\Ferrari_488_GT3.bff
- open script C:\Users\Piero\Desktop\quickbms\nfsshift.bms
- set output folder C:\Users\Piero\Desktop\quickbms\Ferrari_488_GT3

offset filesize filename
--------------------------------------
unavailable key, contact me

- 0 files found in 0 seconds
coverage file 0 0% 1769 14238322 . offset 0000012e
coverage file -1 0% 0 16 . offset 00000000
coverage file -3 105% 511 486 . offset 00000000

Press ENTER or close the window to quit


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Sun Sep 24, 2017 10:50 am 

Joined: Fri Sep 22, 2017 10:36 am
Posts: 4
works great.
Only now can not open *.meb files))))


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Sun Sep 24, 2017 11:44 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 7228
@sderenno
You have not downloaded the new script, you are still using the one in your browser's cache


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Sun Sep 24, 2017 6:24 pm 

Joined: Thu Jul 27, 2017 5:09 pm
Posts: 3
aspec7878 wrote:
works great.
Only now can not open *.meb files))))


yep, I had opened it, but I can't open Meb files now, even 3dsimed3.1k or zmodeler2.6, maybe I had to use zmodeler3


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Sun Sep 24, 2017 8:04 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 7228
Regarding MEB, I made a quick analysis just yesterday and the X vertexes (4 bytes each 12) is encrypted.

I leave here what I wrote about MEB:
Code:
I just checked the file LAM_HURA_16_BODY_LODA.meb and the difference
is that 4 bytes every 12 bytes are obfuscated in some way.
What I mean is easily visible by using xoring the original file with
the new one and watching the obtained file with a hex editor.

This sort of obfuscation covers only a part of the meb file so it's
applied to specific data of this format and note to the whole file
as-is.

I don't know what obfuscation is used, but there are a lot of 0xaa
bytes when you xor the 2 files.
Considering that it's a list of 32bit float numbers (X axis of
XYZ coordinates of something?) it may be just a float-related math
operation used as obfuscation, for example:
1.583825246319139e-314 -> 3.458537934047377e-315


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Sun Sep 24, 2017 9:24 pm 

Joined: Fri Sep 22, 2017 10:36 am
Posts: 4
aluigi wrote:
Regarding MEB, I made a quick analysis just yesterday and the X vertexes (4 bytes each 12) is encrypted.

and what would that mean?)))


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Sun Sep 24, 2017 11:49 pm 

Joined: Thu Jul 27, 2017 5:09 pm
Posts: 3
it means it could be a hell off job to make it

https://null-byte.wonderhowto.com/how-t ... g-0156158/

I tried to open it using wtceed and it opens but nothing comes with, only a empty material...


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Mon Sep 25, 2017 4:59 am 

Joined: Fri Sep 22, 2017 10:36 am
Posts: 4
sergiorc wrote:
it means it could be a hell off job to make it

https://null-byte.wonderhowto.com/how-t ... g-0156158/

I tried to open it using wtceed and it opens but nothing comes with, only a empty material...

and means wait for an update from the 3d simed and zmodeler? :cry:


Top
   
 Post subject: Re: Project Cars 2
PostPosted: Tue Oct 03, 2017 10:44 pm 
User avatar

Joined: Fri Aug 12, 2016 1:18 pm
Posts: 6
aluigi wrote:
Regarding MEB, I made a quick analysis just yesterday and the X vertexes (4 bytes each 12) is encrypted.

Tried to capture 2016 Lambo Huracan with Ninja Ripper and have no luck, all ripped meshes looks like this one:
Image
So, i think decryption is done by shaders, because Ninja Ripper get meshes before shaders apply.
Shaders is also captured and decompiled by ripper, there are 1 .gs shader, 350 .vs shaders and 575 .ps shaders in this rip (for 495 meshes and 112 textures). Uploaded here.
Full rip (with shaders) is uploaded here.
GS shader example:
Code:
//
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
//
// Buffer Definitions:
//
// cbuffer bokeh
// {
//
//   row_major float4x4 g_mInvProj;     // Offset:    0 Size:    64 [unused]
//   float4 g_viewports[6];             // Offset:   64 Size:    96
//   float2 g_depthBufferSize;          // Offset:  160 Size:     8
//   float2 g_dofTexSize;               // Offset:  168 Size:     8 [unused]
//   float2 g_screenSize;               // Offset:  176 Size:     8
//   float2 g_scale;                    // Offset:  184 Size:     8
//   float2 g_switchover1;              // Offset:  192 Size:     8
//   float2 g_switchover2;              // Offset:  200 Size:     8
//   float g_cameraFarPlane;            // Offset:  208 Size:     4
//   float g_fMaxCoCRadiusNear;         // Offset:  212 Size:     4
//   float g_fFocusLength;              // Offset:  216 Size:     4
//   float g_fFocalPlane;               // Offset:  220 Size:     4
//   float g_fFNumber;                  // Offset:  224 Size:     4
//   float g_fMaxCoCRadiusFar;          // Offset:  228 Size:     4
//   float g_fIrisTextureOffset;        // Offset:  232 Size:     4
//   float g_initialEnergyScale;        // Offset:  236 Size:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// energies                          texture  float4          2d    0        1
// t0                                texture  float4          2d    1        1
// bokeh                             cbuffer      NA          NA    1        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue Format   Used
// -------------------- ----- ------ -------- -------- ------ ------
// SV_PrimitiveID           0    N/A   primID   PRIMID   uint    YES
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue Format   Used
// -------------------- ----- ------ -------- -------- ------ ------
// m0:SV_POSITION           0   xyzw        0      POS  float   xyzw
// m0:SV_ViewportArrayIndex     0   x           1  VPINDEX   uint   x   
// m0:TEXCOORD              0   xy          2     NONE  float   xy 
// m0:WEIGHT                0     z         2     NONE  float     z
// m0:TEXCOORD              1   xyz         3     NONE  float   xyz
//
gs_5_0
dcl_globalFlags refactoringAllowed
dcl_immediateConstantBuffer { { 1.000000, 0, 0, 0},
                              { 0, 1.000000, 0, 0},
                              { 0, 0, 1.000000, 0},
                              { 0, 0, 0, 1.000000},
                              { -1.000000, -1.000000, 0, 1.000000},
                              { -1.000000, 3.000000, 0, -1.000000},
                              { 3.000000, -1.000000, 2.000000, 1.000000} }
dcl_constantbuffer cb1[15], dynamicIndexed
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input vPrim
dcl_temps 14
dcl_inputprimitive point
dcl_stream m0
dcl_outputtopology trianglestrip
dcl_output_siv o0.xyzw, position
dcl_output_siv o1.x, viewport_array_index
dcl_output o2.xy
dcl_output o2.z
dcl_output o3.xyz
dcl_maxout 12
ishl r0.x, vPrim, l(2)
utof r0.x, r0.x
mul r0.y, cb1[11].x, l(0.500000)
round_ni r0.y, r0.y
div r0.z, r0.x, r0.y
ftou r1.y, r0.z
utof r0.z, r1.y
mad r0.x, -r0.z, r0.y, r0.x
ftou r1.x, r0.x
mul r0.xy, cb1[11].zwzz, cb1[11].xyxx
mad r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(16.000000, 16.000000, 0.000000, 0.000000)
ftou r0.xy, r0.xyxx
ult r0.xy, r0.xyxx, r1.xyxx
or r0.x, r0.x, r0.y
if_z r0.x
  mov r1.z, l(0)
  ld_indexable(texture2d)(float,float,float,float) r0.xyzw, r1.xyzz, t1.xyzw
  mul r2.x, r0.w, cb1[13].x
  mad r0.w, r0.w, cb1[13].x, -cb1[13].w
  div r2.x, |r0.w|, r2.x
  mul r2.y, cb1[13].z, cb1[13].z
  add r2.z, -cb1[13].z, cb1[13].w
  mul r2.z, r2.z, cb1[14].x
  div r2.y, r2.y, r2.z
  mul r2.x, r2.x, r2.y
  mul r2.x, r2.x, cb1[10].x
  mul r2.x, r2.x, l(14.285714)
  lt r2.z, r0.w, l(0.000000)
  movc r2.w, r2.z, cb1[13].y, cb1[14].y
  min r2.x, r2.x, r2.w
  mul r3.xy, cb1[11].xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  mul r4.xy, r2.xxxx, l(0.500000, 0.250000, 0.000000, 0.000000)
  ge r0.w, r0.w, l(0.000000)
  and r2.x, r0.w, l(1)
  dp2 r2.w, cb1[12].xyxx, icb[r2.x + 0].xyxx
  ge r2.w, r4.x, r2.w
  mul r4.z, cb1[14].w, l(0.250000)
  mov r4.w, l(2)
  mov r5.x, r4.x
  mov r5.y, cb1[14].w
  mov r5.z, l(0)
  movc r6.xyz, r2.wwww, r4.yzwy, r5.xyzx
  dp2 r2.x, cb1[12].zwzz, icb[r2.x + 0].xyxx
  ge r2.x, r6.x, r2.x
  mul r7.xy, r6.xyxx, l(0.500000, 0.250000, 0.000000, 0.000000)
  mov r7.z, l(4)
  movc r6.xyz, r2.xxxx, r7.xyzx, r6.xyzx
  lt r2.x, r6.x, l(1.000000)
  movc r2.x, r2.x, l(0), r6.x
  movc r2.x, r2.z, r2.x, r6.x
  add r2.x, r2.x, r2.x
  iadd r7.xyw, r1.xxxx, l(2, 1, 0, 3)
  mov r1.w, r7.y
  ld_indexable(texture2d)(float,float,float,float) r8.xyzw, r1.wyzz, t1.xyzw
  mul r2.z, r8.w, cb1[13].x
  mad r2.w, r8.w, cb1[13].x, -cb1[13].w
  div r2.z, |r2.w|, r2.z
  mul r2.z, r2.z, r2.y
  mul r2.z, r2.z, cb1[10].x
  mul r2.z, r2.z, l(14.285714)
  lt r3.z, r2.w, l(0.000000)
  movc r3.w, r3.z, cb1[13].y, cb1[14].y
  min r2.z, r2.z, r3.w
  mul r4.xy, r2.zzzz, l(0.500000, 0.250000, 0.000000, 0.000000)
  ge r2.z, r2.w, l(0.000000)
  and r2.w, r2.z, l(1)
  dp2 r3.w, cb1[12].xyxx, icb[r2.w + 0].xyxx
  ge r3.w, r4.x, r3.w
  mov r5.w, r4.x
  movc r9.xyz, r3.wwww, r4.yzwy, r5.wyzw
  dp2 r2.w, cb1[12].zwzz, icb[r2.w + 0].xyxx
  ge r2.w, r9.x, r2.w
  mul r10.xy, r9.xyxx, l(0.500000, 0.250000, 0.000000, 0.000000)
  mov r10.z, l(4)
  movc r9.xyz, r2.wwww, r10.xyzx, r9.xyzx
  lt r2.w, r9.x, l(1.000000)
  movc r2.w, r2.w, l(0), r9.x
  movc r2.w, r3.z, r2.w, r9.x
  add r2.w, r2.w, r2.w
  round_ne r2.xw, r2.xxxw
  mov r7.yz, r1.yyzy
  ld_indexable(texture2d)(float,float,float,float) r10.xyzw, r7.xyzz, t1.xyzw
  mul r1.z, r10.w, cb1[13].x
  mad r3.z, r10.w, cb1[13].x, -cb1[13].w
  div r1.z, |r3.z|, r1.z
  mul r1.z, r1.z, r2.y
  mul r1.z, r1.z, cb1[10].x
  mul r1.z, r1.z, l(14.285714)
  lt r3.w, r3.z, l(0.000000)
  movc r6.x, r3.w, cb1[13].y, cb1[14].y
  min r1.z, r1.z, r6.x
  mul r4.xy, r1.zzzz, l(0.500000, 0.250000, 0.000000, 0.000000)
  ge r1.z, r3.z, l(0.000000)
  and r3.z, r1.z, l(1)
  dp2 r6.x, cb1[12].xyxx, icb[r3.z + 0].xyxx
  ge r6.x, r4.x, r6.x
  mov r5.x, r4.x
  movc r11.xyz, r6.xxxx, r4.yzwy, r5.xyzx
  dp2 r3.z, cb1[12].zwzz, icb[r3.z + 0].xyxx
  ge r3.z, r11.x, r3.z
  mul r12.xy, r11.xyxx, l(0.500000, 0.250000, 0.000000, 0.000000)
  mov r12.z, l(4)
  movc r11.xyz, r3.zzzz, r12.xyzx, r11.xyzx
  lt r3.z, r11.x, l(1.000000)
  movc r3.z, r3.z, l(0), r11.x
  movc r3.z, r3.w, r3.z, r11.x
  add r3.z, r3.z, r3.z
  ld_indexable(texture2d)(float,float,float,float) r12.xyzw, r7.wyzz, t1.xyzw
  mul r3.w, r12.w, cb1[13].x
  mad r5.x, r12.w, cb1[13].x, -cb1[13].w
  div r3.w, |r5.x|, r3.w
  mul r2.y, r2.y, r3.w
  mul r2.y, r2.y, cb1[10].x
  mul r2.y, r2.y, l(14.285714)
  lt r3.w, r5.x, l(0.000000)
  movc r6.x, r3.w, cb1[13].y, cb1[14].y
  min r2.y, r2.y, r6.x
  mul r4.xy, r2.yyyy, l(0.500000, 0.250000, 0.000000, 0.000000)
  ge r2.y, r5.x, l(0.000000)
  and r5.x, r2.y, l(1)
  dp2 r6.x, cb1[12].xyxx, icb[r5.x + 0].xyxx
  ge r6.x, r4.x, r6.x
  mov r5.w, r4.x
  movc r4.xyz, r6.xxxx, r4.yzwy, r5.wyzw
  dp2 r4.w, cb1[12].zwzz, icb[r5.x + 0].xyxx
  ge r4.w, r4.x, r4.w
  mul r5.xy, r4.xyxx, l(0.500000, 0.250000, 0.000000, 0.000000)
  mov r5.z, l(4)
  movc r4.xyz, r4.wwww, r5.xyzx, r4.xyzx
  lt r4.w, r4.x, l(1.000000)
  movc r4.w, r4.w, l(0), r4.x
  movc r3.w, r3.w, r4.w, r4.x
  add r3.w, r3.w, r3.w
  round_ne r3.zw, r3.zzzw
  add r5.xyz, r0.xyzx, r8.xyzx
  add r5.xyz, r10.xyzx, r5.xyzx
  add r5.xyz, r12.xyzx, r5.xyzx
  mul r5.xyz, r5.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
  ge r4.x, r2.x, l(1.000000)
  if_nz r4.x
    utof r4.xw, r1.xxxy
    add r4.xw, r4.xxxw, l(0.500000, 0.000000, 0.000000, 0.500000)
    div r4.xw, r4.xxxw, r3.xxxy
    add r4.xw, r4.xxxw, r4.xxxw
    mul r1.x, r2.x, l(0.500000)
    lt r5.w, r2.x, l(64.000000)
    ftoi r13.x, r2.x
    mov r13.yzw, l(0,0,0,0)
    ld_indexable(texture2d)(float,float,float,float) r2.x, r13.xyzw, t0.xyzw
    movc r2.x, r5.w, l(1.267000), r2.x
    mul r2.x, r6.y, r2.x
    mul r5.w, r1.x, r1.x
    div r2.x, r2.x, r5.w
    bfi r0.w, l(1), l(0), r0.w, r6.z
    uge r5.w, r0.w, l(2)
    movc r0.xyz, r5.wwww, r5.xyzx, r0.xyzx
    mad r4.xw, r4.xxxw, l(1.000000, 0.000000, 0.000000, -1.000000), l(-1.000000, 0.000000, 0.000000, 1.000000)
    mov r5.w, l(0)
    loop
      ige r6.x, r5.w, l(3)
      breakc_nz r6.x
      mul r6.xy, r1.xxxx, icb[r5.w + 4].xyxx
      div r6.xy, r6.xyxx, cb1[r0.w + 4].zwzz
      add r6.xy, r4.xwxx, r6.xyxx
      add r6.zw, cb1[14].zzzz, icb[r5.w + 4].zzzw
      mov o0.xy, r6.xyxx
      mov o0.zw, l(0,0,0,1.000000)
      mov o1.x, r0.w
      mov o2.xy, r6.zwzz
      mov o2.z, r2.x
      mov o3.xyz, r0.xyzx
      emit_stream m0
      iadd r5.w, r5.w, l(1)
    endloop
    cut_stream m0
  endif
  ge r0.x, r2.w, l(1.000000)
  if_nz r0.x
    utof r0.xy, r1.wyww
    add r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
    div r0.xy, r0.xyxx, r3.xyxx
    add r0.xy, r0.xyxx, r0.xyxx
    mul r0.z, r2.w, l(0.500000)
    lt r0.w, r2.w, l(64.000000)
    ftoi r6.x, r2.w
    mov r6.yzw, l(0,0,0,0)
    ld_indexable(texture2d)(float,float,float,float) r1.x, r6.xyzw, t0.xyzw
    movc r0.w, r0.w, l(1.267000), r1.x
    mul r0.w, r9.y, r0.w
    mul r1.x, r0.z, r0.z
    div r0.w, r0.w, r1.x
    bfi r1.x, l(1), l(0), r2.z, r9.z
    uge r1.y, r1.x, l(2)
    movc r2.xzw, r1.yyyy, r5.xxyz, r8.xxyz
    mad r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
    mov r1.y, l(0)
    loop
      ige r1.w, r1.y, l(3)
      breakc_nz r1.w
      mul r4.xw, r0.zzzz, icb[r1.y + 4].xxxy
      div r4.xw, r4.xxxw, cb1[r1.x + 4].zzzw
      add r4.xw, r0.xxxy, r4.xxxw
      add r6.xy, cb1[14].zzzz, icb[r1.y + 4].zwzz
      mov o0.xy, r4.xwxx
      mov o0.zw, l(0,0,0,1.000000)
      mov o1.x, r1.x
      mov o2.xy, r6.xyxx
      mov o2.z, r0.w
      mov o3.xyz, r2.xzwx
      emit_stream m0
      iadd r1.y, r1.y, l(1)
    endloop
    cut_stream m0
  endif
  ge r0.x, r3.z, l(1.000000)
  if_nz r0.x
    utof r0.xy, r7.xyxx
    add r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
    div r0.xy, r0.xyxx, r3.xyxx
    add r0.xy, r0.xyxx, r0.xyxx
    mul r0.z, r3.z, l(0.500000)
    lt r0.w, r3.z, l(64.000000)
    ftoi r6.x, r3.z
    mov r6.yzw, l(0,0,0,0)
    ld_indexable(texture2d)(float,float,float,float) r1.x, r6.xyzw, t0.xyzw
    movc r0.w, r0.w, l(1.267000), r1.x
    mul r0.w, r11.y, r0.w
    mul r1.x, r0.z, r0.z
    div r0.w, r0.w, r1.x
    bfi r1.x, l(1), l(0), r1.z, r11.z
    uge r1.y, r1.x, l(2)
    movc r1.yzw, r1.yyyy, r5.xxyz, r10.xxyz
    mad r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
    mov r2.x, l(0)
    loop
      ige r2.z, r2.x, l(3)
      breakc_nz r2.z
      mul r2.zw, r0.zzzz, icb[r2.x + 4].xxxy
      div r2.zw, r2.zzzw, cb1[r1.x + 4].zzzw
      add r2.zw, r0.xxxy, r2.zzzw
      add r4.xw, cb1[14].zzzz, icb[r2.x + 4].zzzw
      mov o0.xy, r2.zwzz
      mov o0.zw, l(0,0,0,1.000000)
      mov o1.x, r1.x
      mov o2.xy, r4.xwxx
      mov o2.z, r0.w
      mov o3.xyz, r1.yzwy
      emit_stream m0
      iadd r2.x, r2.x, l(1)
    endloop
    cut_stream m0
  endif
  ge r0.x, r3.w, l(1.000000)
  if_nz r0.x
    utof r0.xy, r7.wyww
    add r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
    div r0.xy, r0.xyxx, r3.xyxx
    add r0.xy, r0.xyxx, r0.xyxx
    mul r0.z, r3.w, l(0.500000)
    lt r0.w, r3.w, l(64.000000)
    ftoi r1.x, r3.w
    mov r1.yzw, l(0,0,0,0)
    ld_indexable(texture2d)(float,float,float,float) r1.x, r1.xyzw, t0.xyzw
    movc r0.w, r0.w, l(1.267000), r1.x
    mul r0.w, r4.y, r0.w
    mul r1.x, r0.z, r0.z
    div r0.w, r0.w, r1.x
    bfi r1.x, l(1), l(0), r2.y, r4.z
    uge r1.y, r1.x, l(2)
    movc r1.yzw, r1.yyyy, r5.xxyz, r12.xxyz
    mad r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
    mov r2.x, l(0)
    loop
      ige r2.y, r2.x, l(3)
      breakc_nz r2.y
      mul r2.yz, r0.zzzz, icb[r2.x + 4].xxyx
      div r2.yz, r2.yyzy, cb1[r1.x + 4].zzwz
      add r2.yz, r0.xxyx, r2.yyzy
      add r3.xy, cb1[14].zzzz, icb[r2.x + 4].zwzz
      mov o0.xy, r2.yzyy
      mov o0.zw, l(0,0,0,1.000000)
      mov o1.x, r1.x
      mov o2.xy, r3.xyxx
      mov o2.z, r0.w
      mov o3.xyz, r1.yzwy
      emit_stream m0
      iadd r2.x, r2.x, l(1)
    endloop
    cut_stream m0
  endif
endif
ret
// Approximately 292 instruction slots used


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 32 posts ]  Go to page Previous 1 2

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited