Repository navigation
Expand file tree
/
Copy pathsources.zig
More file actions
125 lines (118 loc) · 11.5 KB
/
Copy pathsources.zig
File metadata and controls
125 lines (118 loc) · 11.5 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
//! The payload's source files, in the order the linker laid them out, and the code each is known
//! to hold. `docs/binary/sources.md` describes how they are found.
//!
//! Generated by `src/tools/tablegen` from the payload executable and its Ghidra export. Do not edit
//! by hand; run `make source-map`.
const std = @import("std");
pub const Range = struct {
start: u32,
/// The end of the last instruction.
end: u32,
};
pub const File = struct {
/// The path the file's assertions name, as the binary spells it.
path: []const u8,
/// Where the file's data holds that path.
path_string: u32,
/// From the first function known to be the file's to the end of the last; null when no
/// function is.
code: ?Range,
};
/// The payload's first function, where its code starts.
pub const first_function: u32 = 0x00401000;
/// Every file whose path the binary holds, in link order.
pub const files = [_]File{
.{ .path = "C:\\lancer\\game\\Ai.cpp", .path_string = 0x004E0C50, .code = .{ .start = 0x00401F30, .end = 0x0040285C } },
.{ .path = "C:\\lancer\\game\\aidefend.cpp", .path_string = 0x004E144C, .code = .{ .start = 0x00404F80, .end = 0x00406A8A } },
.{ .path = "C:\\lancer\\game\\aidock.cpp", .path_string = 0x004E16AC, .code = .{ .start = 0x00406C80, .end = 0x00407510 } },
.{ .path = "C:\\lancer\\game\\aifight.cpp", .path_string = 0x004E1964, .code = .{ .start = 0x0040A4D0, .end = 0x0040A5DE } },
.{ .path = "C:\\lancer\\game\\aifuncs.cpp", .path_string = 0x004E1A50, .code = .{ .start = 0x0040BF60, .end = 0x0040C0FB } },
.{ .path = "C:\\lancer\\game\\aigeneric.cpp", .path_string = 0x004E1B90, .code = .{ .start = 0x0040CA50, .end = 0x0040CE6D } },
.{ .path = "C:\\lancer\\game\\aiioncan.cpp", .path_string = 0x004E1D54, .code = .{ .start = 0x0040D210, .end = 0x0040E780 } },
.{ .path = "C:\\lancer\\game\\ailand.cpp", .path_string = 0x004E2018, .code = .{ .start = 0x0040EAC0, .end = 0x0040EB34 } },
.{ .path = "C:\\lancer\\game\\airipper.cpp", .path_string = 0x004E2134, .code = .{ .start = 0x0040FD10, .end = 0x00412383 } },
.{ .path = "C:\\lancer\\game\\jump.cpp", .path_string = 0x004E3BB4, .code = .{ .start = 0x00417670, .end = 0x00418996 } },
.{ .path = "C:\\lancer\\game\\launch.cpp", .path_string = 0x004E3D88, .code = .{ .start = 0x00418EB0, .end = 0x004192B2 } },
.{ .path = "C:\\lancer\\game\\tractor.cpp", .path_string = 0x004E3F18, .code = .{ .start = 0x0041D090, .end = 0x0041D19E } },
.{ .path = "C:\\lancer\\game\\wgate.cpp", .path_string = 0x004E3F88, .code = .{ .start = 0x0041DD70, .end = 0x00423228 } },
.{ .path = "C:\\lancer\\GenILib\\interf.cpp", .path_string = 0x004E5A4C, .code = .{ .start = 0x00426A30, .end = 0x004282C6 } },
.{ .path = "C:\\lancer\\game\\interface.cpp", .path_string = 0x004E82DC, .code = .{ .start = 0x004296A0, .end = 0x0043CA15 } },
.{ .path = "C:\\lancer\\game\\itac.cpp", .path_string = 0x004E98DC, .code = .{ .start = 0x0043EFC0, .end = 0x00440C0A } },
.{ .path = "C:\\lancer\\interface\\loadout\\loadout.cpp", .path_string = 0x004EAB8C, .code = .{ .start = 0x00441AA0, .end = 0x004504BD } },
.{ .path = "C:\\lancer\\game\\videoreports.cpp", .path_string = 0x004EE7B8, .code = .{ .start = 0x00450760, .end = 0x004508D0 } },
.{ .path = "C:\\lancer\\game\\Executor.cpp", .path_string = 0x004F5B94, .code = .{ .start = 0x00457C40, .end = 0x004599D2 } },
.{ .path = "C:\\lancer\\game\\mission.cpp", .path_string = 0x004F5FB0, .code = .{ .start = 0x0045A4E0, .end = 0x0045B4D6 } },
.{ .path = "C:\\lancer\\game\\attach.cpp", .path_string = 0x004F709C, .code = .{ .start = 0x0045E1A0, .end = 0x0045E4FC } },
.{ .path = "C:\\lancer\\game\\camera.cpp", .path_string = 0x004F7388, .code = .{ .start = 0x0045F1B0, .end = 0x00461B8C } },
.{ .path = "C:\\lancer\\game\\cbox.cpp", .path_string = 0x004F73BC, .code = .{ .start = 0x00462110, .end = 0x00462190 } },
.{ .path = "C:\\lancer\\game\\cloak.cpp", .path_string = 0x004F73E4, .code = .{ .start = 0x00462B80, .end = 0x00463773 } },
.{ .path = "C:\\lancer\\game\\collision.cpp", .path_string = 0x004F7458, .code = .{ .start = 0x004645C0, .end = 0x00464B2C } },
.{ .path = "C:\\lancer\\game\\Create.cpp", .path_string = 0x004F9DFC, .code = .{ .start = 0x00466C10, .end = 0x004688AD } },
.{ .path = "C:\\lancer\\game\\environfx.cpp", .path_string = 0x004FFA5C, .code = .{ .start = 0x00469C60, .end = 0x00469D23 } },
.{ .path = "C:\\lancer\\game\\erayfx.cpp", .path_string = 0x004FFAFC, .code = .{ .start = 0x0046AA70, .end = 0x0046ADE8 } },
.{ .path = "C:\\lancer\\game\\explode.cpp", .path_string = 0x005002A8, .code = .{ .start = 0x0046BC30, .end = 0x00471D68 } },
.{ .path = "C:\\lancer\\game\\gameflow.cpp", .path_string = 0x00500AD8, .code = .{ .start = 0x00475650, .end = 0x0047592F } },
.{ .path = "C:\\lancer\\game\\gameobj.cpp", .path_string = 0x00500B30, .code = .{ .start = 0x00475DD0, .end = 0x00475EEF } },
.{ .path = "C:\\lancer\\game\\guns.cpp", .path_string = 0x00501028, .code = .{ .start = 0x00478460, .end = 0x0048068D } },
.{ .path = "C:\\lancer\\game\\hog_gen.cpp", .path_string = 0x0050147C, .code = .{ .start = 0x00480D70, .end = 0x00480DE2 } },
.{ .path = "C:\\lancer\\game\\hog_SND.CPP", .path_string = 0x00501BB4, .code = .{ .start = 0x00482160, .end = 0x004822E9 } },
.{ .path = "C:\\lancer\\game\\hud.cpp", .path_string = 0x005024A4, .code = .{ .start = 0x00483150, .end = 0x00484053 } },
.{ .path = "C:\\lancer\\game\\hudmovie.cpp", .path_string = 0x00502588, .code = .{ .start = 0x0048D030, .end = 0x0048D418 } },
.{ .path = "C:\\lancer\\game\\language.cpp", .path_string = 0x005031F0, .code = .{ .start = 0x00490DC0, .end = 0x0049107C } },
.{ .path = "C:\\lancer\\game\\main.cpp", .path_string = 0x00503370, .code = .{ .start = 0x004934F0, .end = 0x00493FAF } },
.{ .path = "C:\\lancer\\game\\matmanager.cpp", .path_string = 0x005035AC, .code = .{ .start = 0x00494A30, .end = 0x00494B4A } },
.{ .path = "C:\\lancer\\game\\missiles.cpp", .path_string = 0x00503DAC, .code = .{ .start = 0x00494CB0, .end = 0x00496B0E } },
.{ .path = "C:\\lancer\\game\\nebula.cpp", .path_string = 0x005040D0, .code = .{ .start = 0x00498450, .end = 0x00498E09 } },
.{ .path = "C:\\lancer\\game\\objects.cpp", .path_string = 0x005046C0, .code = .{ .start = 0x00499180, .end = 0x004999F4 } },
.{ .path = "C:\\lancer\\game\\particles.cpp", .path_string = 0x00504768, .code = .{ .start = 0x0049BF60, .end = 0x0049C667 } },
.{ .path = "C:\\lancer\\game\\pilots.cpp", .path_string = 0x00506968, .code = .{ .start = 0x0049CD70, .end = 0x0049CE3B } },
.{ .path = "C:\\lancer\\game\\shield.cpp", .path_string = 0x005088D8, .code = .{ .start = 0x0049EF90, .end = 0x0049F8F6 } },
.{ .path = "C:\\lancer\\game\\shieldfx.cpp", .path_string = 0x00508970, .code = .{ .start = 0x004A0310, .end = 0x004A0808 } },
.{ .path = "C:\\lancer\\game\\shockwave.cpp", .path_string = 0x005089D8, .code = .{ .start = 0x004A15D0, .end = 0x004A16C5 } },
.{ .path = "C:\\lancer\\game\\sparks.cpp", .path_string = 0x00508C2C, .code = .{ .start = 0x004A1DB0, .end = 0x004A1ECD } },
.{ .path = "C:\\lancer\\game\\sprites.cpp", .path_string = 0x00508E90, .code = .{ .start = 0x004A26D0, .end = 0x004A2AA5 } },
.{ .path = "C:\\lancer\\game\\srofiles.cpp", .path_string = 0x00508F4C, .code = .{ .start = 0x004A2EB0, .end = 0x004A4BEA } },
.{ .path = "C:\\lancer\\game\\timer.cpp", .path_string = 0x005090A4, .code = .{ .start = 0x004A7060, .end = 0x004A71EB } },
.{ .path = "C:\\lancer\\game\\winmain.cpp", .path_string = 0x00509590, .code = .{ .start = 0x004A8160, .end = 0x004AA8B6 } },
.{ .path = "C:\\lancer\\game\\xtrabits.cpp", .path_string = 0x0050A330, .code = .{ .start = 0x004AB6E0, .end = 0x004ADBD6 } },
.{ .path = "C:\\lancer\\game\\deathmatch.cpp", .path_string = 0x0050C440, .code = .{ .start = 0x004AF1D0, .end = 0x004B1372 } },
.{ .path = "C:\\lancer\\game\\dmscenarios.cpp", .path_string = 0x0050C910, .code = .{ .start = 0x004B2FF0, .end = 0x004B32BA } },
.{ .path = "C:\\lancer\\game\\DPBits.cpp", .path_string = 0x0050D920, .code = .{ .start = 0x004B5740, .end = 0x004B66C6 } },
.{ .path = "C:\\lancer\\game\\DPReceivePackets.cpp", .path_string = 0x0050DE64, .code = .{ .start = 0x004B6F80, .end = 0x004B97F3 } },
.{ .path = "C:\\lancer\\game\\DPSendPackets.cpp", .path_string = 0x0050DF48, .code = .{ .start = 0x004B9F60, .end = 0x004BAAB3 } },
.{ .path = "C:\\lancer\\game\\DPSession.cpp", .path_string = 0x0050E184, .code = .{ .start = 0x004BCA00, .end = 0x004BCBD2 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srAPI.cpp", .path_string = 0x00510C40, .code = .{ .start = 0x004C3490, .end = 0x004C4039 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srAPIext.cpp", .path_string = 0x00511364, .code = .{ .start = 0x004C4190, .end = 0x004C5220 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srstars.cpp", .path_string = 0x005118D4, .code = .{ .start = 0x004C5240, .end = 0x004C5370 } },
.{ .path = "C:\\lancer\\game\\hog_file.cpp", .path_string = 0x0051192C, .code = .{ .start = 0x004C5BE0, .end = 0x004C5C8A } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srMesh.cpp", .path_string = 0x00511990, .code = .{ .start = 0x004C75C0, .end = 0x004C7899 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srCore.cpp", .path_string = 0x00511A7C, .code = .{ .start = 0x004C7D00, .end = 0x004C7DB2 } },
.{ .path = "C:\\lancer\\game\\bigfile.cpp", .path_string = 0x00511B48, .code = .{ .start = 0x004C7E20, .end = 0x004C8559 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srImage.cpp", .path_string = 0x00511C9C, .code = .{ .start = 0x004C8560, .end = 0x004C9833 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srTexture.cpp", .path_string = 0x0051212C, .code = .{ .start = 0x004C9A40, .end = 0x004CA463 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srTGA.cpp", .path_string = 0x005123FC, .code = .{ .start = 0x004CA930, .end = 0x004CAF9A } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srFile.cpp", .path_string = 0x00512D84, .code = .{ .start = 0x004CB030, .end = 0x004CB4EA } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srColor.cpp", .path_string = 0x005134B0, .code = .{ .start = 0x004CB840, .end = 0x004CC348 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srClip.cpp", .path_string = 0x005140D8, .code = .{ .start = 0x004CC5A0, .end = 0x004CCF2F } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srMemCpy.cpp", .path_string = 0x00514220, .code = .{ .start = 0x004CD890, .end = 0x004CDE35 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srLight.cpp", .path_string = 0x0051464C, .code = .{ .start = 0x004CDE40, .end = 0x004CE386 } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srBMO.cpp", .path_string = 0x0051497C, .code = .{ .start = 0x004CE4D0, .end = 0x004CE70F } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srballs.cpp", .path_string = 0x005149AC, .code = .{ .start = 0x004CE7B0, .end = 0x004CE82C } },
.{ .path = "C:\\lancer\\surrender\\surrenderlib\\srline.cpp", .path_string = 0x00514A5C, .code = .{ .start = 0x004CE830, .end = 0x004CE9E8 } },
};
comptime {
@setEvalBranchQuota(10_000);
var data: u32 = 0;
var code: u32 = 0;
for (files) |file| {
if (file.path_string <= data) @compileError("files out of link order: " ++ file.path);
data = file.path_string;
if (file.code) |range| {
if (range.start < code or range.end <= range.start) @compileError("code out of order: " ++ file.path);
code = range.end;
}
}
}
test {
std.testing.refAllDecls(@This());
}