public unsafe void GetImage(int x, int y, int width, int height, Bitmap bmp, bool statics) { if (Map.m_Colors == null) { Map.LoadColors(); } BitmapData bitmapDatum = bmp.LockBits(new Rectangle(0, 0, width << 3, height << 3), ImageLockMode.WriteOnly, PixelFormat.Format16bppRgb555); int stride = bitmapDatum.Stride; int num = stride << 3; byte * scan0 = (byte *)((void *)bitmapDatum.Scan0); int num1 = 0; int num2 = y; while (num1 < height) { int *numPointer = (int *)scan0; int *numPointer1 = (int *)(scan0 + stride); int *numPointer2 = (int *)(scan0 + 2 * stride); int *numPointer3 = (int *)(scan0 + 3 * stride); int *numPointer4 = (int *)(scan0 + 4 * stride); int *numPointer5 = (int *)(scan0 + 5 * stride); int *numPointer6 = (int *)(scan0 + 6 * stride); int *numPointer7 = (int *)(scan0 + 7 * stride); int num3 = 0; int num4 = x; while (num3 < width) { short[] renderedBlock = this.GetRenderedBlock(num4, num2, statics); fixed(short *numPointer8 = &renderedBlock[0]) { int *numPointer9 = (int *)numPointer8; int *numPointer10 = numPointer; numPointer = numPointer10 + 4; int *numPointer11 = numPointer9; numPointer9 = numPointer11 + 4; * numPointer10 = *numPointer11; int *numPointer12 = numPointer; numPointer = numPointer12 + 4; int *numPointer13 = numPointer9; numPointer9 = numPointer13 + 4; * numPointer12 = *numPointer13; int *numPointer14 = numPointer; numPointer = numPointer14 + 4; int *numPointer15 = numPointer9; numPointer9 = numPointer15 + 4; * numPointer14 = *numPointer15; int *numPointer16 = numPointer; numPointer = numPointer16 + 4; int *numPointer17 = numPointer9; numPointer9 = numPointer17 + 4; * numPointer16 = *numPointer17; int *numPointer18 = numPointer1; numPointer1 = numPointer18 + 4; int *numPointer19 = numPointer9; numPointer9 = numPointer19 + 4; * numPointer18 = *numPointer19; int *numPointer20 = numPointer1; numPointer1 = numPointer20 + 4; int *numPointer21 = numPointer9; numPointer9 = numPointer21 + 4; * numPointer20 = *numPointer21; int *numPointer22 = numPointer1; numPointer1 = numPointer22 + 4; int *numPointer23 = numPointer9; numPointer9 = numPointer23 + 4; * numPointer22 = *numPointer23; int *numPointer24 = numPointer1; numPointer1 = numPointer24 + 4; int *numPointer25 = numPointer9; numPointer9 = numPointer25 + 4; * numPointer24 = *numPointer25; int *numPointer26 = numPointer2; numPointer2 = numPointer26 + 4; int *numPointer27 = numPointer9; numPointer9 = numPointer27 + 4; * numPointer26 = *numPointer27; int *numPointer28 = numPointer2; numPointer2 = numPointer28 + 4; int *numPointer29 = numPointer9; numPointer9 = numPointer29 + 4; * numPointer28 = *numPointer29; int *numPointer30 = numPointer2; numPointer2 = numPointer30 + 4; int *numPointer31 = numPointer9; numPointer9 = numPointer31 + 4; * numPointer30 = *numPointer31; int *numPointer32 = numPointer2; numPointer2 = numPointer32 + 4; int *numPointer33 = numPointer9; numPointer9 = numPointer33 + 4; * numPointer32 = *numPointer33; int *numPointer34 = numPointer3; numPointer3 = numPointer34 + 4; int *numPointer35 = numPointer9; numPointer9 = numPointer35 + 4; * numPointer34 = *numPointer35; int *numPointer36 = numPointer3; numPointer3 = numPointer36 + 4; int *numPointer37 = numPointer9; numPointer9 = numPointer37 + 4; * numPointer36 = *numPointer37; int *numPointer38 = numPointer3; numPointer3 = numPointer38 + 4; int *numPointer39 = numPointer9; numPointer9 = numPointer39 + 4; * numPointer38 = *numPointer39; int *numPointer40 = numPointer3; numPointer3 = numPointer40 + 4; int *numPointer41 = numPointer9; numPointer9 = numPointer41 + 4; * numPointer40 = *numPointer41; int *numPointer42 = numPointer4; numPointer4 = numPointer42 + 4; int *numPointer43 = numPointer9; numPointer9 = numPointer43 + 4; * numPointer42 = *numPointer43; int *numPointer44 = numPointer4; numPointer4 = numPointer44 + 4; int *numPointer45 = numPointer9; numPointer9 = numPointer45 + 4; * numPointer44 = *numPointer45; int *numPointer46 = numPointer4; numPointer4 = numPointer46 + 4; int *numPointer47 = numPointer9; numPointer9 = numPointer47 + 4; * numPointer46 = *numPointer47; int *numPointer48 = numPointer4; numPointer4 = numPointer48 + 4; int *numPointer49 = numPointer9; numPointer9 = numPointer49 + 4; * numPointer48 = *numPointer49; int *numPointer50 = numPointer5; numPointer5 = numPointer50 + 4; int *numPointer51 = numPointer9; numPointer9 = numPointer51 + 4; * numPointer50 = *numPointer51; int *numPointer52 = numPointer5; numPointer5 = numPointer52 + 4; int *numPointer53 = numPointer9; numPointer9 = numPointer53 + 4; * numPointer52 = *numPointer53; int *numPointer54 = numPointer5; numPointer5 = numPointer54 + 4; int *numPointer55 = numPointer9; numPointer9 = numPointer55 + 4; * numPointer54 = *numPointer55; int *numPointer56 = numPointer5; numPointer5 = numPointer56 + 4; int *numPointer57 = numPointer9; numPointer9 = numPointer57 + 4; * numPointer56 = *numPointer57; int *numPointer58 = numPointer6; numPointer6 = numPointer58 + 4; int *numPointer59 = numPointer9; numPointer9 = numPointer59 + 4; * numPointer58 = *numPointer59; int *numPointer60 = numPointer6; numPointer6 = numPointer60 + 4; int *numPointer61 = numPointer9; numPointer9 = numPointer61 + 4; * numPointer60 = *numPointer61; int *numPointer62 = numPointer6; numPointer6 = numPointer62 + 4; int *numPointer63 = numPointer9; numPointer9 = numPointer63 + 4; * numPointer62 = *numPointer63; int *numPointer64 = numPointer6; numPointer6 = numPointer64 + 4; int *numPointer65 = numPointer9; numPointer9 = numPointer65 + 4; * numPointer64 = *numPointer65; int *numPointer66 = numPointer7; numPointer7 = numPointer66 + 4; int *numPointer67 = numPointer9; numPointer9 = numPointer67 + 4; * numPointer66 = *numPointer67; int *numPointer68 = numPointer7; numPointer7 = numPointer68 + 4; int *numPointer69 = numPointer9; numPointer9 = numPointer69 + 4; * numPointer68 = *numPointer69; int *numPointer70 = numPointer7; numPointer7 = numPointer70 + 4; int *numPointer71 = numPointer9; numPointer9 = numPointer71 + 4; * numPointer70 = *numPointer71; int *numPointer72 = numPointer7; numPointer7 = numPointer72 + 4; int *numPointer73 = numPointer9; numPointer9 = numPointer73 + 4; *numPointer72 = *numPointer73; } num3++; num4++; } num1++; num2++; scan0 = scan0 + num; } bmp.UnlockBits(bitmapDatum); }
public unsafe void GetImage(int x, int y, int width, int height, Bitmap bmp, bool statics) { if (Map.m_Colors == null) { Map.LoadColors(); } BitmapData bitmapdata = bmp.LockBits(new Rectangle(0, 0, width << 3, height << 3), ImageLockMode.WriteOnly, PixelFormat.Format16bppRgb555); int stride = bitmapdata.Stride; int num1 = stride << 3; byte * numPtr1 = (byte *)(void *)bitmapdata.Scan0; int num2 = 0; int y1 = y; while (num2 < height) { int *numPtr2 = (int *)numPtr1; int *numPtr3 = (int *)(numPtr1 + stride); int *numPtr4 = (int *)(numPtr1 + (new IntPtr(2) * stride).ToInt64()); int *numPtr5 = (int *)(numPtr1 + (new IntPtr(3) * stride).ToInt64()); int *numPtr6 = (int *)(numPtr1 + (new IntPtr(4) * stride).ToInt64()); int *numPtr7 = (int *)(numPtr1 + (new IntPtr(5) * stride).ToInt64()); int *numPtr8 = (int *)(numPtr1 + (new IntPtr(6) * stride).ToInt64()); int *numPtr9 = (int *)(numPtr1 + (new IntPtr(7) * stride).ToInt64()); int num3 = 0; int x1 = x; while (num3 < width) { fixed(short *numPtr10 = &this.GetRenderedBlock(x1, y1, statics)[0]) { int *numPtr11 = numPtr2; int num4 = 4; int *numPtr12 = (int *)((IntPtr)numPtr11 + num4); int *numPtr13 = (int *)numPtr10; int num5 = 4; int *numPtr14 = (int *)((IntPtr)numPtr13 + num5); int num6 = *numPtr13; * numPtr11 = num6; int *numPtr15 = numPtr12; int num7 = 4; int *numPtr16 = (int *)((IntPtr)numPtr15 + num7); int *numPtr17 = numPtr14; int num8 = 4; int *numPtr18 = (int *)((IntPtr)numPtr17 + num8); int num9 = *numPtr17; * numPtr15 = num9; int *numPtr19 = numPtr16; int num10 = 4; int *numPtr20 = (int *)((IntPtr)numPtr19 + num10); int *numPtr21 = numPtr18; int num11 = 4; int *numPtr22 = (int *)((IntPtr)numPtr21 + num11); int num12 = *numPtr21; * numPtr19 = num12; int *numPtr23 = numPtr20; int num13 = 4; numPtr2 = (int *)((IntPtr)numPtr23 + num13); int *numPtr24 = numPtr22; int num14 = 4; int *numPtr25 = (int *)((IntPtr)numPtr24 + num14); int num15 = *numPtr24; * numPtr23 = num15; int *numPtr26 = numPtr3; int num16 = 4; int *numPtr27 = (int *)((IntPtr)numPtr26 + num16); int *numPtr28 = numPtr25; int num17 = 4; int *numPtr29 = (int *)((IntPtr)numPtr28 + num17); int num18 = *numPtr28; * numPtr26 = num18; int *numPtr30 = numPtr27; int num19 = 4; int *numPtr31 = (int *)((IntPtr)numPtr30 + num19); int *numPtr32 = numPtr29; int num20 = 4; int *numPtr33 = (int *)((IntPtr)numPtr32 + num20); int num21 = *numPtr32; * numPtr30 = num21; int *numPtr34 = numPtr31; int num22 = 4; int *numPtr35 = (int *)((IntPtr)numPtr34 + num22); int *numPtr36 = numPtr33; int num23 = 4; int *numPtr37 = (int *)((IntPtr)numPtr36 + num23); int num24 = *numPtr36; * numPtr34 = num24; int *numPtr38 = numPtr35; int num25 = 4; numPtr3 = (int *)((IntPtr)numPtr38 + num25); int *numPtr39 = numPtr37; int num26 = 4; int *numPtr40 = (int *)((IntPtr)numPtr39 + num26); int num27 = *numPtr39; * numPtr38 = num27; int *numPtr41 = numPtr4; int num28 = 4; int *numPtr42 = (int *)((IntPtr)numPtr41 + num28); int *numPtr43 = numPtr40; int num29 = 4; int *numPtr44 = (int *)((IntPtr)numPtr43 + num29); int num30 = *numPtr43; * numPtr41 = num30; int *numPtr45 = numPtr42; int num31 = 4; int *numPtr46 = (int *)((IntPtr)numPtr45 + num31); int *numPtr47 = numPtr44; int num32 = 4; int *numPtr48 = (int *)((IntPtr)numPtr47 + num32); int num33 = *numPtr47; * numPtr45 = num33; int *numPtr49 = numPtr46; int num34 = 4; int *numPtr50 = (int *)((IntPtr)numPtr49 + num34); int *numPtr51 = numPtr48; int num35 = 4; int *numPtr52 = (int *)((IntPtr)numPtr51 + num35); int num36 = *numPtr51; * numPtr49 = num36; int *numPtr53 = numPtr50; int num37 = 4; numPtr4 = (int *)((IntPtr)numPtr53 + num37); int *numPtr54 = numPtr52; int num38 = 4; int *numPtr55 = (int *)((IntPtr)numPtr54 + num38); int num39 = *numPtr54; * numPtr53 = num39; int *numPtr56 = numPtr5; int num40 = 4; int *numPtr57 = (int *)((IntPtr)numPtr56 + num40); int *numPtr58 = numPtr55; int num41 = 4; int *numPtr59 = (int *)((IntPtr)numPtr58 + num41); int num42 = *numPtr58; * numPtr56 = num42; int *numPtr60 = numPtr57; int num43 = 4; int *numPtr61 = (int *)((IntPtr)numPtr60 + num43); int *numPtr62 = numPtr59; int num44 = 4; int *numPtr63 = (int *)((IntPtr)numPtr62 + num44); int num45 = *numPtr62; * numPtr60 = num45; int *numPtr64 = numPtr61; int num46 = 4; int *numPtr65 = (int *)((IntPtr)numPtr64 + num46); int *numPtr66 = numPtr63; int num47 = 4; int *numPtr67 = (int *)((IntPtr)numPtr66 + num47); int num48 = *numPtr66; * numPtr64 = num48; int *numPtr68 = numPtr65; int num49 = 4; numPtr5 = (int *)((IntPtr)numPtr68 + num49); int *numPtr69 = numPtr67; int num50 = 4; int *numPtr70 = (int *)((IntPtr)numPtr69 + num50); int num51 = *numPtr69; * numPtr68 = num51; int *numPtr71 = numPtr6; int num52 = 4; int *numPtr72 = (int *)((IntPtr)numPtr71 + num52); int *numPtr73 = numPtr70; int num53 = 4; int *numPtr74 = (int *)((IntPtr)numPtr73 + num53); int num54 = *numPtr73; * numPtr71 = num54; int *numPtr75 = numPtr72; int num55 = 4; int *numPtr76 = (int *)((IntPtr)numPtr75 + num55); int *numPtr77 = numPtr74; int num56 = 4; int *numPtr78 = (int *)((IntPtr)numPtr77 + num56); int num57 = *numPtr77; * numPtr75 = num57; int *numPtr79 = numPtr76; int num58 = 4; int *numPtr80 = (int *)((IntPtr)numPtr79 + num58); int *numPtr81 = numPtr78; int num59 = 4; int *numPtr82 = (int *)((IntPtr)numPtr81 + num59); int num60 = *numPtr81; * numPtr79 = num60; int *numPtr83 = numPtr80; int num61 = 4; numPtr6 = (int *)((IntPtr)numPtr83 + num61); int *numPtr84 = numPtr82; int num62 = 4; int *numPtr85 = (int *)((IntPtr)numPtr84 + num62); int num63 = *numPtr84; * numPtr83 = num63; int *numPtr86 = numPtr7; int num64 = 4; int *numPtr87 = (int *)((IntPtr)numPtr86 + num64); int *numPtr88 = numPtr85; int num65 = 4; int *numPtr89 = (int *)((IntPtr)numPtr88 + num65); int num66 = *numPtr88; * numPtr86 = num66; int *numPtr90 = numPtr87; int num67 = 4; int *numPtr91 = (int *)((IntPtr)numPtr90 + num67); int *numPtr92 = numPtr89; int num68 = 4; int *numPtr93 = (int *)((IntPtr)numPtr92 + num68); int num69 = *numPtr92; * numPtr90 = num69; int *numPtr94 = numPtr91; int num70 = 4; int *numPtr95 = (int *)((IntPtr)numPtr94 + num70); int *numPtr96 = numPtr93; int num71 = 4; int *numPtr97 = (int *)((IntPtr)numPtr96 + num71); int num72 = *numPtr96; * numPtr94 = num72; int *numPtr98 = numPtr95; int num73 = 4; numPtr7 = (int *)((IntPtr)numPtr98 + num73); int *numPtr99 = numPtr97; int num74 = 4; int *numPtr100 = (int *)((IntPtr)numPtr99 + num74); int num75 = *numPtr99; * numPtr98 = num75; int *numPtr101 = numPtr8; int num76 = 4; int *numPtr102 = (int *)((IntPtr)numPtr101 + num76); int *numPtr103 = numPtr100; int num77 = 4; int *numPtr104 = (int *)((IntPtr)numPtr103 + num77); int num78 = *numPtr103; * numPtr101 = num78; int *numPtr105 = numPtr102; int num79 = 4; int *numPtr106 = (int *)((IntPtr)numPtr105 + num79); int *numPtr107 = numPtr104; int num80 = 4; int *numPtr108 = (int *)((IntPtr)numPtr107 + num80); int num81 = *numPtr107; * numPtr105 = num81; int *numPtr109 = numPtr106; int num82 = 4; int *numPtr110 = (int *)((IntPtr)numPtr109 + num82); int *numPtr111 = numPtr108; int num83 = 4; int *numPtr112 = (int *)((IntPtr)numPtr111 + num83); int num84 = *numPtr111; * numPtr109 = num84; int *numPtr113 = numPtr110; int num85 = 4; numPtr8 = (int *)((IntPtr)numPtr113 + num85); int *numPtr114 = numPtr112; int num86 = 4; int *numPtr115 = (int *)((IntPtr)numPtr114 + num86); int num87 = *numPtr114; * numPtr113 = num87; int *numPtr116 = numPtr9; int num88 = 4; int *numPtr117 = (int *)((IntPtr)numPtr116 + num88); int *numPtr118 = numPtr115; int num89 = 4; int *numPtr119 = (int *)((IntPtr)numPtr118 + num89); int num90 = *numPtr118; * numPtr116 = num90; int *numPtr120 = numPtr117; int num91 = 4; int *numPtr121 = (int *)((IntPtr)numPtr120 + num91); int *numPtr122 = numPtr119; int num92 = 4; int *numPtr123 = (int *)((IntPtr)numPtr122 + num92); int num93 = *numPtr122; * numPtr120 = num93; int *numPtr124 = numPtr121; int num94 = 4; int *numPtr125 = (int *)((IntPtr)numPtr124 + num94); int *numPtr126 = numPtr123; int num95 = 4; int *numPtr127 = (int *)((IntPtr)numPtr126 + num95); int num96 = *numPtr126; * numPtr124 = num96; int *numPtr128 = numPtr125; int num97 = 4; numPtr9 = (int *)((IntPtr)numPtr128 + num97); int *numPtr129 = numPtr127; int num98 = 4; int *numPtr130 = (int *)((IntPtr)numPtr129 + num98); int num99 = *numPtr129; *numPtr128 = num99; } ++num3; ++x1; } ++num2; ++y1; numPtr1 += num1; } bmp.UnlockBits(bitmapdata); }