-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmslogo.cpp
More file actions
103 lines (102 loc) · 2.16 KB
/
Copy pathmslogo.cpp
File metadata and controls
103 lines (102 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/* This program is making
Microsoft Caption.
With output file format bmp.*/
#include <windows.h>
typedef unsigned long u32;
typedef unsigned char byte;
byte *t;
void *o;
u32 c, sh, sw, s;
u32 bor, len, gap, map;
u32 back, red, green, blue, yellow;
void set32(u32 p, u32 d)
{
for(u32 i = 0; i < 4; ++i)
{
t[p + i] = d;
d >>= 8;
}
}
u32 getpos(u32 i, u32 j)
{
return 54 + ((i * map + j) << 2);
}
void ini()
{
t[0] = 'B';
t[1] = 'M';
set32(0x02, s);
set32(0x0a, 54);
set32(0x0e, 40);
set32(0x12, map);
set32(0x16, map);
set32(0x1c, 32);
t[0x1a] = 1;
}
u32 setup()
{
u32 i, j, k, l;
bor = 24;
len = 25;
gap = 2;
map = gap + ((bor + len) << 1);
s = 54 + ((map * map) << 2);
ini();
back = 0x00f5f5f5;
blue = 0x0000adef;
yellow = 0x00fbbc09;
red = 0x00f1511b;
green = 0x0080cc28;
/* Hard code!
Got in std Microsoft Caption.*/
for(i = 0; i < bor; ++i)
for(j = 0; j < map; ++j)
set32(getpos(i, j), back);
for(k = 0; k < len; ++i, ++k)
{
for(j = 0; j < bor; ++j)
set32(getpos(i, j), back);
for(l = 0; l < len; ++j, ++l)
set32(getpos(i, j), blue);
for(l = 0; l < gap; ++j, ++l)
set32(getpos(i, j), back);
for(l = 0; l < len; ++j, ++l)
set32(getpos(i, j), yellow);
for(; j < map; ++j)
set32(getpos(i, j), back);
}
for(k = 0; k < gap; ++i, ++k)
for(j = 0; j < map; ++j)
set32(getpos(i, j), back);
for(k = 0; k < len; ++i, ++k)
{
for(j = 0; j < bor; ++j)
set32(getpos(i, j), back);
for(l = 0; l < len; ++j, ++l)
set32(getpos(i, j), red);
for(l = 0; l < gap; ++j, ++l)
set32(getpos(i, j), back);
for(l = 0; l < len; ++j, ++l)
set32(getpos(i, j), green);
for(; j < map; ++j)
set32(getpos(i, j), back);
}
for(; i < map; ++i)
for(j = 0; j < map; ++j)
set32(getpos(i, j), back);
return s;
}
int main()
{
t = new byte[1048576];
o = CreateFileA("Microsoft.bmp", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if(o == 0)
{
MessageBoxA(0, "CreateFile Failed!", "Process", MB_OK | MB_ICONSTOP);
return 0;
}
s = setup();
WriteFile(o, (void*)t, s, &c, 0);
CloseHandle(o);
return 0;
}