You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-36Lines changed: 34 additions & 36 deletions
Original file line number
Diff line number
Diff line change
@@ -49,91 +49,89 @@ See [Configuration](#configuration) for more information.
49
49
50
50
## Configuration
51
51
52
-
While **not required** (most settings can be specified in the UI), projects can add an `objdiff.json` (or
53
-
`objdiff.yaml`, `objdiff.yml`) file to configure the tool automatically. The configuration file must be located in
52
+
While **not required** (most settings can be specified in the UI), projects can add an `objdiff.json` file to configure the tool automatically. The configuration file must be located in
54
53
the root project directory.
55
54
56
55
If your project has a generator script (e.g. `configure.py`), it's recommended to generate the objdiff configuration
57
56
file as well. You can then add `objdiff.json` to your `.gitignore` to prevent it from being committed.
"description": "Minimum version of objdiff required to load this configuration file.",
11
+
"examples": [
12
+
"1.0.0",
13
+
"2.0.0-beta.1"
14
+
]
15
+
},
16
+
"custom_make": {
17
+
"type": "string",
18
+
"description": "By default, objdiff will use make to build the project.\nIf the project uses a different build system (e.g. ninja), specify it here.\nThe build command will be `[custom_make] [custom_args] path/to/object.o`.",
19
+
"examples": [
20
+
"make",
21
+
"ninja"
22
+
],
23
+
"default": "make"
24
+
},
25
+
"custom_args": {
26
+
"type": "array",
27
+
"description": "Additional arguments to pass to the build command prior to the object path.",
28
+
"items": {
29
+
"type": "string"
30
+
}
31
+
},
32
+
"target_dir": {
33
+
"type": "string",
34
+
"description": "Relative from the root of the project, this where the \"target\" or \"expected\" objects are located.\nThese are the intended result of the match.",
35
+
"deprecated": true
36
+
},
37
+
"base_dir": {
38
+
"type": "string",
39
+
"description": "Relative from the root of the project, this is where the \"base\" or \"actual\" objects are located.\nThese are objects built from the current source code.",
40
+
"deprecated": true
41
+
},
42
+
"build_target": {
43
+
"type": "boolean",
44
+
"description": "If true, objdiff will tell the build system to build the target objects before diffing (e.g. `make path/to/target.o`).\nThis is useful if the target objects are not built by default or can change based on project configuration or edits to assembly files.\nRequires the build system to be configured properly.",
45
+
"default": false
46
+
},
47
+
"build_base": {
48
+
"type": "boolean",
49
+
"description": "If true, objdiff will tell the build system to build the base objects before diffing (e.g. `make path/to/base.o`).\nIt's unlikely you'll want to disable this, unless you're using an external tool to rebuild the base object on source file changes.",
50
+
"default": true
51
+
},
52
+
"watch_patterns": {
53
+
"type": "array",
54
+
"description": "List of glob patterns to watch for changes in the project.\nIf any of these files change, objdiff will automatically rebuild the objects and re-compare them.\nSupported syntax: https://docs.rs/globset/latest/globset/#syntax",
55
+
"items": {
56
+
"type": "string"
57
+
},
58
+
"default": [
59
+
"*.c",
60
+
"*.cp",
61
+
"*.cpp",
62
+
"*.cxx",
63
+
"*.h",
64
+
"*.hp",
65
+
"*.hpp",
66
+
"*.hxx",
67
+
"*.s",
68
+
"*.S",
69
+
"*.asm",
70
+
"*.inc",
71
+
"*.py",
72
+
"*.yml",
73
+
"*.txt",
74
+
"*.json"
75
+
]
76
+
},
77
+
"objects": {
78
+
"type": "array",
79
+
"description": "Use units instead.",
80
+
"deprecated": true,
81
+
"items": {
82
+
"$ref": "#/$defs/unit"
83
+
}
84
+
},
85
+
"units": {
86
+
"type": "array",
87
+
"description": "If specified, objdiff will display a list of objects in the sidebar for easy navigation.",
88
+
"items": {
89
+
"$ref": "#/$defs/unit"
90
+
}
91
+
},
92
+
"progress_categories": {
93
+
"type": "array",
94
+
"description": "Progress categories used for objdiff-cli report.",
95
+
"items": {
96
+
"$ref": "#/$defs/progress_category"
97
+
}
98
+
}
99
+
},
100
+
"$defs": {
101
+
"unit": {
102
+
"type": "object",
103
+
"properties": {
104
+
"name": {
105
+
"type": "string",
106
+
"description": "The name of the object in the UI. If not specified, the object's path will be used."
107
+
},
108
+
"path": {
109
+
"type": "string",
110
+
"description": "Relative path to the object from the target_dir and base_dir.\nRequires target_dir and base_dir to be specified.",
111
+
"deprecated": true
112
+
},
113
+
"target_path": {
114
+
"type": "string",
115
+
"description": "Path to the target object from the project root.\nRequired if path is not specified."
116
+
},
117
+
"base_path": {
118
+
"type": "string",
119
+
"description": "Path to the base object from the project root.\nRequired if path is not specified."
120
+
},
121
+
"reverse_fn_order": {
122
+
"type": "boolean",
123
+
"description": "Displays function symbols in reversed order.\nUsed to support MWCC's -inline deferred option, which reverses the order of functions in the object file.",
124
+
"deprecated": true
125
+
},
126
+
"complete": {
127
+
"type": "boolean",
128
+
"description": "Marks the object as \"complete\" (or \"linked\") in the object list.\nThis is useful for marking objects that are fully decompiled. A value of `false` will mark the object as \"incomplete\".",
129
+
"deprecated": true
130
+
},
131
+
"scratch": {
132
+
"ref": "#/$defs/scratch"
133
+
},
134
+
"metadata": {
135
+
"ref": "#/$defs/metadata"
136
+
}
137
+
}
138
+
},
139
+
"scratch": {
140
+
"type": "object",
141
+
"description": "If present, objdiff will display a button to create a decomp.me scratch.",
142
+
"properties": {
143
+
"platform": {
144
+
"type": "string",
145
+
"description": "The decomp.me platform ID to use for the scratch.",
146
+
"examples": [
147
+
"gc_wii",
148
+
"n64"
149
+
]
150
+
},
151
+
"compiler": {
152
+
"type": "string",
153
+
"description": "The decomp.me compiler ID to use for the scratch.",
154
+
"examples": [
155
+
"mwcc_242_81",
156
+
"ido7.1"
157
+
]
158
+
},
159
+
"c_flags": {
160
+
"type": "string",
161
+
"description": "C flags to use for the scratch. Exclude any include paths."
162
+
},
163
+
"ctx_path": {
164
+
"type": "string",
165
+
"description": "Path to the context file to use for the scratch."
166
+
},
167
+
"build_ctx": {
168
+
"type": "boolean",
169
+
"description": "If true, objdiff will run the build command with the context file as an argument to generate it.",
170
+
"default": false
171
+
}
172
+
},
173
+
"required": [
174
+
"platform",
175
+
"compiler"
176
+
]
177
+
},
178
+
"metadata": {
179
+
"type": "object",
180
+
"properties": {
181
+
"complete": {
182
+
"type": "boolean",
183
+
"description": "Marks the object as \"complete\" (or \"linked\") in the object list.\nThis is useful for marking objects that are fully decompiled. A value of `false` will mark the object as \"incomplete\"."
184
+
},
185
+
"reverse_fn_order": {
186
+
"type": "boolean",
187
+
"description": "Displays function symbols in reversed order.\nUsed to support MWCC's -inline deferred option, which reverses the order of functions in the object file."
188
+
},
189
+
"source_path": {
190
+
"type": "string",
191
+
"description": "Path to the source file that generated the object."
192
+
},
193
+
"progress_categories": {
194
+
"type": "array",
195
+
"description": "Progress categories used for objdiff-cli report.",
196
+
"items": {
197
+
"type": "string",
198
+
"description": "Unique identifier for the category. (See progress_categories)"
199
+
}
200
+
},
201
+
"auto_generated": {
202
+
"type": "boolean",
203
+
"description": "Hides the object from the object list by default, but still includes it in reports."
204
+
}
205
+
}
206
+
},
207
+
"progress_category": {
208
+
"type": "object",
209
+
"properties": {
210
+
"id": {
211
+
"type": "string",
212
+
"description": "Unique identifier for the category."
213
+
},
214
+
"name": {
215
+
"type": "string",
216
+
"description": "Human-readable name of the category."
0 commit comments