Register - Login
Views: 99412735
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 11:58:58 PM
Jul - General Game/ROM Hacking - How do you make game-specific tools? New poll - New thread - New reply
Next newer thread | Next older thread
SamEarl13

Nipper Plant
Trying (and failing) to learn Lua.
Level: 43


Posts: 19/419
EXP: 523251
For next: 41795

Since: 02-14-12


Since last post: 4.1 years
Last activity: 9 days

Posted on 02-21-12 10:26:59 AM Link | Quote
I've been wondering how you can create your own game specific hacking tools but i don't actually know. my plan is to update editors like lunarmagic and other editors to work with newer revisions of games (e.g. lunarmagic update to GBA version). do you know of any tutorials?
Nicole

Disk-kun
Level: 146


Posts: 5791/6469
EXP: 38255436
For next: 257858

Since: 07-07-07

Pronouns: she/her
From: Boston, MA

Since last post: 70 days
Last activity: 2 days

Posted on 02-21-12 12:39:03 PM Link | Quote
Well, you need to find out how data is stored in the game ROM (which can differ dramatically from game to game), and then program the editor to read and save changes to that data.

I doubt you'll be able to update Lunar Magic in such a way, though- it's not exactly open source.

____________________
Joe
Common spammer
🍬
Level: 111


Posts: 2476/3392
EXP: 14489994
For next: 378366

Since: 08-02-07

From: Pororoca

Since last post: 4 days
Last activity: 4 hours

Posted on 02-21-12 12:45:18 PM Link | Quote
Originally posted by SamuelEarl666
I've been wondering how you can create your own game specific hacking tools but i don't actually know.
Usually, by reverse-engineering significant portions of the game and writing a program to edit those parts. If you're lucky, the data formats have already been reverse-engineered and all you have to do is write the program to edit it.
Originally posted by SamuelEarl666
my plan is to update editors like lunarmagic and other editors to work with newer revisions of games (e.g. lunarmagic update to GBA version).
Lunar Magic is not open source. You'll have to write a new editor from scratch.
Originally posted by SamuelEarl666
do you know of any tutorials?
There are none. You have to figure it out for yourself!

____________________
SamEarl13

Nipper Plant
Trying (and failing) to learn Lua.
Level: 43


Posts: 20/419
EXP: 523251
For next: 41795

Since: 02-14-12


Since last post: 4.1 years
Last activity: 9 days

Posted on 02-21-12 01:44:44 PM Link | Quote
Originally posted by Joe
Originally posted by SamuelEarl666
I've been wondering how you can create your own game specific hacking tools but i don't actually know.
Usually, by reverse-engineering significant portions of the game and writing a program to edit those parts. If you're lucky, the data formats have already been reverse-engineered and all you have to do is write the program to edit it.
Originally posted by SamuelEarl666
my plan is to update editors like lunarmagic and other editors to work with newer revisions of games (e.g. lunarmagic update to GBA version).
Lunar Magic is not open source. You'll have to write a new editor from scratch.
Originally posted by SamuelEarl666
do you know of any tutorials?
There are none. You have to figure it out for yourself!

I'll make one myself. wouldn't hurt to build it to look like Lunarmagic though would it.
BigBrain
Member
Level: 22


Posts: 83/85
EXP: 55273
For next: 3077

Since: 09-10-08


Since last post: 8.8 years
Last activity: 6.7 years

Posted on 02-21-12 04:04:12 PM Link | Quote
You do realize that coding something like LunarMagic from scratch is a crapload of work of at the very least several weeks, right?
SamEarl13

Nipper Plant
Trying (and failing) to learn Lua.
Level: 43


Posts: 21/419
EXP: 523251
For next: 41795

Since: 02-14-12


Since last post: 4.1 years
Last activity: 9 days

Posted on 02-21-12 04:27:09 PM Link | Quote
Yes i know but i'm up for it. I've got alot of spare time. i've got a Friend who's a computer expert. I may bug him to help me.
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 4504/5390
EXP: 29053210
For next: 281795

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 334 days
Last activity: 334 days

Posted on 02-22-12 02:44:13 AM Link | Quote
Post #4504 · 02-21-12 09:44:13 PM
Start by learning C. Once you've done that, the rest should be fairly obvious.

____________________
messiaen
Catgirl
Level: 68


Posts: 1064/1085
EXP: 2594294
For next: 134506

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 02-23-12 06:24:20 PM Link | Quote
If you already have some basic programming experience, I wouldn't recommend using C for tools. Use C#, Python or anything else high-level so you can quickly get a GUI working. If your game is tile-based, this tutoria may be of interest.
SamEarl13

Nipper Plant
Trying (and failing) to learn Lua.
Level: 43


Posts: 25/419
EXP: 523251
For next: 41795

Since: 02-14-12


Since last post: 4.1 years
Last activity: 9 days

Posted on 02-23-12 10:16:17 PM Link | Quote
Originally posted by messiaen
If you already have some basic programming experience, I wouldn't recommend using C for tools. Use C#, Python or anything else high-level so you can quickly get a GUI working. If your game is tile-based, this tutoria may be of interest.

It looks very useful. Thanks.

____________________
I don't like the new pokemon by the way. my profile pic is something i edited when i was bored.
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 4520/5390
EXP: 29053210
For next: 281795

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 334 days
Last activity: 334 days

Posted on 02-25-12 03:55:22 AM (last edited by Rena at 02-25-12 12:55 AM) Link | Quote
Post #4520 · 02-24-12 10:55:22 PM
Originally posted by messiaen
If you already have some basic programming experience, I wouldn't recommend using C for tools. Use C#, Python or anything else high-level so you can quickly get a GUI working. If your game is tile-based, this tutoria may be of interest.
Once you know C, though, you should be able to pick up a higher-level language pretty easily, and you'll have the low-level skills needed to read machine code, work with binary, etc.

____________________
ReiNi
さよなら*へヴン
Level: 124


Posts: 3964/4444
EXP: 21752464
For next: 84137

Since: 07-21-07


Since last post: 6.7 years
Last activity: 3.3 years

Posted on 02-25-12 06:52:09 AM Link | Quote
Um...
Originally posted by Rena
you'll have the low-level skills needed to read machine code, work with binary, etc.
Though if you have already dissected a game enough to know exactly how it works and need to make tools for it, you probably already have half of those skills.
At least the "working with binary" part (and other very low-level things) if it's an older game.

____________________
Mike
I'M THE BADASS, THANKS!
-cpu

(The admins have spoken. It's time for you to go.)
Level: 25


Posts: 106/118
EXP: 82004
For next: 7616

Since: 02-09-11


Since last post: 10.2 years
Last activity: 9.8 years

Posted on 02-25-12 03:22:38 PM Link | Quote
Originally posted by Shy Mikan
Originally posted by Rena
you'll have the low-level skills needed to read machine code, work with binary, etc.
Though if you have already dissected a game enough to know exactly how it works and need to make tools for it, you probably already have half of those skills.
At least the "working with binary" part (and other very low-level things) if it's an older game.



If he needed to, could he use beginners tutorial and guide through perl to get himself familiar with the coding or is it really necessary for him to begin with #C ?
Even I have a hard time understanding #C programming when its explain scientific ways.

____________________
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 4523/5390
EXP: 29053210
For next: 281795

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 334 days
Last activity: 334 days

Posted on 02-26-12 05:44:14 AM Link | Quote
Post #4523 · 02-26-12 12:44:14 AM
You could learn another language, sure, but every programmer should know a low-level language, and C is probably the best of those. (First I learned was VB6... I do most of my coding in Lua these days, but I still use C frequently to interface my code to libraries and such.)

(There's no "#C", by the way... there's C, the universal low-level language, and C#, a high-level language that uses Microsoft .Net. They're very different things.)

____________________
Next newer thread | Next older thread
Jul - General Game/ROM Hacking - How do you make game-specific tools? New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

29 database queries, 3 query cache hits.
Query execution time:  0.097211 seconds
Script execution time:  0.027917 seconds
Total render time:  0.125128 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 209 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 182 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 184 column 9 - Warning: missing <tr>
line 202 column 13 - Warning: missing <tr>
line 203 column 102 - Warning: unescaped & or unknown entity "&postid"
line 207 column 619 - Warning: <style> isn't allowed in <td> elements
line 205 column 9 - Info: <td> previously mentioned
line 210 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 212 column 9 - Warning: missing <tr>
line 230 column 13 - Warning: missing <tr>
line 231 column 102 - Warning: unescaped & or unknown entity "&postid"
line 233 column 74 - Warning: <style> isn't allowed in <td> elements
line 233 column 9 - Info: <td> previously mentioned
line 238 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 240 column 9 - Warning: missing <tr>
line 258 column 13 - Warning: missing <tr>
line 259 column 102 - Warning: unescaped & or unknown entity "&postid"
line 267 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 269 column 9 - Warning: missing <tr>
line 287 column 13 - Warning: missing <tr>
line 288 column 102 - Warning: unescaped & or unknown entity "&postid"
line 293 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 295 column 9 - Warning: missing <tr>
line 313 column 13 - Warning: missing <tr>
line 314 column 102 - Warning: unescaped & or unknown entity "&postid"
line 319 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 321 column 9 - Warning: missing <tr>
line 339 column 13 - Warning: missing <tr>
line 340 column 102 - Warning: unescaped & or unknown entity "&postid"
line 342 column 4622 - Warning: replacing unexpected input with </input>
line 342 column 4936 - Warning: discarding unexpected </span>
line 345 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 347 column 9 - Warning: missing <tr>
line 365 column 13 - Warning: missing <tr>
line 366 column 102 - Warning: unescaped & or unknown entity "&postid"
line 371 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 373 column 9 - Warning: missing <tr>
line 391 column 13 - Warning: missing <tr>
line 392 column 102 - Warning: unescaped & or unknown entity "&postid"
line 398 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 400 column 9 - Warning: missing <tr>
line 418 column 13 - Warning: missing <tr>
line 419 column 102 - Warning: unescaped & or unknown entity "&postid"
line 421 column 5119 - Warning: replacing unexpected input with </input>
line 421 column 5433 - Warning: discarding unexpected </span>
line 424 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 426 column 9 - Warning: missing <tr>
line 444 column 13 - Warning: missing <tr>
line 445 column 102 - Warning: unescaped & or unknown entity "&postid"
line 447 column 386 - Warning: missing </font> before <blockquote>
line 447 column 444 - Warning: inserting implicit <font>
line 447 column 444 - Warning: missing </font> before <hr>
line 447 column 505 - Warning: inserting implicit <font>
line 447 column 505 - Warning: missing </font> before <hr>
line 447 column 606 - Warning: inserting implicit <font>
line 448 column 1027 - Warning: discarding unexpected </font>
line 448 column 1195 - Warning: discarding unexpected </td>
line 451 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 453 column 9 - Warning: missing <tr>
line 471 column 13 - Warning: missing <tr>
line 472 column 102 - Warning: unescaped & or unknown entity "&postid"
line 482 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 484 column 9 - Warning: missing <tr>
line 502 column 13 - Warning: missing <tr>
line 503 column 102 - Warning: unescaped & or unknown entity "&postid"
line 507 column 5047 - Warning: replacing unexpected input with </input>
line 507 column 5361 - Warning: discarding unexpected </span>
line 510 column 17 - Warning: missing <tr>
line 510 column 17 - Warning: discarding unexpected <table>
line 513 column 35 - Warning: missing <tr>
line 513 column 50 - Warning: missing </font> before </td>
line 513 column 91 - Warning: missing </font> before </table>
line 515 column 35 - Warning: missing <tr>
line 515 column 50 - Warning: missing </font> before </td>
line 516 column 37 - Warning: unescaped & or unknown entity "&id"
line 515 column 209 - Warning: missing </font> before </table>
line 517 column 17 - Warning: discarding unexpected </textarea>
line 517 column 28 - Warning: discarding unexpected </form>
line 517 column 35 - Warning: discarding unexpected </embed>
line 517 column 43 - Warning: discarding unexpected </noembed>
line 517 column 53 - Warning: discarding unexpected </noscript>
line 517 column 64 - Warning: discarding unexpected </noembed>
line 517 column 74 - Warning: discarding unexpected </embed>
line 517 column 82 - Warning: discarding unexpected </table>
line 517 column 90 - Warning: discarding unexpected </table>
line 519 column 9 - Warning: missing </font> before <table>
line 531 column 25 - Warning: discarding unexpected </font>
line 540 column 57 - Warning: discarding unexpected </font>
line 518 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 11 - Warning: <img> lacks "alt" attribute
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 111 - Warning: <img> lacks "alt" attribute
line 161 column 161 - Warning: <img> lacks "alt" attribute
line 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 186 column 11 - Warning: <img> lacks "alt" attribute
line 187 column 23 - Warning: <img> lacks "alt" attribute
line 187 column 64 - Warning: <img> lacks "alt" attribute
line 187 column 113 - Warning: <img> lacks "alt" attribute
line 187 column 163 - Warning: <img> lacks "alt" attribute
line 188 column 11 - Warning: <img> lacks "alt" attribute
line 198 column 15 - Warning: <img> lacks "alt" attribute
line 215 column 23 - Warning: <img> lacks "alt" attribute
line 215 column 64 - Warning: <img> lacks "alt" attribute
line 215 column 113 - Warning: <img> lacks "alt" attribute
line 215 column 163 - Warning: <img> lacks "alt" attribute
line 216 column 11 - Warning: <img> lacks "alt" attribute
line 226 column 15 - Warning: <img> lacks "alt" attribute
line 235 column 1730 - Warning: <img> proprietary attribute value "absmiddle"
line 235 column 1730 - Warning: <img> lacks "alt" attribute
line 242 column 11 - Warning: <img> lacks "alt" attribute
line 243 column 22 - Warning: <img> lacks "alt" attribute
line 243 column 63 - Warning: <img> lacks "alt" attribute
line 243 column 111 - Warning: <img> lacks "alt" attribute
line 243 column 161 - Warning: <img> lacks "alt" attribute
line 244 column 11 - Warning: <img> lacks "alt" attribute
line 254 column 15 - Warning: <img> lacks "alt" attribute
line 263 column 1092 - Warning: <img> proprietary attribute value "absmiddle"
line 263 column 1092 - Warning: <img> lacks "alt" attribute
line 272 column 22 - Warning: <img> lacks "alt" attribute
line 272 column 63 - Warning: <img> lacks "alt" attribute
line 272 column 112 - Warning: <img> lacks "alt" attribute
line 272 column 162 - Warning: <img> lacks "alt" attribute
line 283 column 15 - Warning: <img> lacks "alt" attribute
line 290 column 205 - Warning: <img> proprietary attribute value "absmiddle"
line 290 column 205 - Warning: <img> lacks "alt" attribute
line 297 column 11 - Warning: <img> lacks "alt" attribute
line 298 column 22 - Warning: <img> lacks "alt" attribute
line 298 column 63 - Warning: <img> lacks "alt" attribute
line 298 column 111 - Warning: <img> lacks "alt" attribute
line 298 column 161 - Warning: <img> lacks "alt" attribute
line 299 column 11 - Warning: <img> lacks "alt" attribute
line 309 column 15 - Warning: <img> lacks "alt" attribute
line 324 column 23 - Warning: <img> lacks "alt" attribute
line 324 column 64 - Warning: <img> lacks "alt" attribute
line 324 column 113 - Warning: <img> lacks "alt" attribute
line 324 column 163 - Warning: <img> lacks "alt" attribute
line 335 column 15 - Warning: <img> lacks "alt" attribute
line 350 column 22 - Warning: <img> lacks "alt" attribute
line 350 column 63 - Warning: <img> lacks "alt" attribute
line 350 column 111 - Warning: <img> lacks "alt" attribute
line 350 column 161 - Warning: <img> lacks "alt" attribute
line 361 column 15 - Warning: <img> lacks "alt" attribute
line 375 column 11 - Warning: <img> lacks "alt" attribute
line 376 column 22 - Warning: <img> lacks "alt" attribute
line 376 column 63 - Warning: <img> lacks "alt" attribute
line 376 column 111 - Warning: <img> lacks "alt" attribute
line 376 column 161 - Warning: <img> lacks "alt" attribute
line 377 column 11 - Warning: <img> lacks "alt" attribute
line 387 column 15 - Warning: <img> lacks "alt" attribute
line 403 column 23 - Warning: <img> lacks "alt" attribute
line 403 column 64 - Warning: <img> lacks "alt" attribute
line 403 column 113 - Warning: <img> lacks "alt" attribute
line 403 column 163 - Warning: <img> lacks "alt" attribute
line 414 column 15 - Warning: <img> lacks "alt" attribute
line 429 column 23 - Warning: <img> lacks "alt" attribute
line 429 column 64 - Warning: <img> lacks "alt" attribute
line 429 column 113 - Warning: <img> lacks "alt" attribute
line 429 column 163 - Warning: <img> lacks "alt" attribute
line 430 column 11 - Warning: <img> lacks "alt" attribute
line 440 column 15 - Warning: <img> lacks "alt" attribute
line 448 column 922 - Warning: <img> lacks "alt" attribute
line 448 column 1084 - Warning: <img> lacks "alt" attribute
line 456 column 22 - Warning: <img> lacks "alt" attribute
line 456 column 63 - Warning: <img> lacks "alt" attribute
line 456 column 112 - Warning: <img> lacks "alt" attribute
line 456 column 162 - Warning: <img> lacks "alt" attribute
line 457 column 11 - Warning: <img> lacks "alt" attribute
line 467 column 15 - Warning: <img> lacks "alt" attribute
line 479 column 899 - Warning: <img> lacks "alt" attribute
line 487 column 23 - Warning: <img> lacks "alt" attribute
line 487 column 64 - Warning: <img> lacks "alt" attribute
line 487 column 113 - Warning: <img> lacks "alt" attribute
line 487 column 163 - Warning: <img> lacks "alt" attribute
line 498 column 15 - Warning: <img> lacks "alt" attribute
line 505 column 4635 - Warning: <img> proprietary attribute value "absmiddle"
line 505 column 4635 - Warning: <img> lacks "alt" attribute
line 516 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 516 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 516 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 25 - Warning: <img> lacks "alt" attribute
line 530 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 342 column 4689 - Warning: trimming empty <label>
line 421 column 5186 - Warning: trimming empty <label>
line 447 column 386 - Warning: trimming empty <font>
line 507 column 5114 - Warning: trimming empty <label>
line 510 column 17 - Warning: trimming empty <tr>
line 513 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 203 column 27 - Warning: <nobr> is not approved by W3C
line 231 column 27 - Warning: <nobr> is not approved by W3C
line 259 column 27 - Warning: <nobr> is not approved by W3C
line 288 column 27 - Warning: <nobr> is not approved by W3C
line 314 column 27 - Warning: <nobr> is not approved by W3C
line 340 column 27 - Warning: <nobr> is not approved by W3C
line 366 column 27 - Warning: <nobr> is not approved by W3C
line 392 column 27 - Warning: <nobr> is not approved by W3C
line 419 column 27 - Warning: <nobr> is not approved by W3C
line 445 column 27 - Warning: <nobr> is not approved by W3C
line 447 column 74 - Warning: <table> proprietary attribute "height"
line 448 column 896 - Warning: <marquee> is not approved by W3C
line 472 column 27 - Warning: <nobr> is not approved by W3C
line 503 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 230 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md