Register - Login
Views: 99379264
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 10:50:02 PM
Jul - SM64 Hacking (Archive) - Why a Peach 64 hack is not impossible, but would require a lot of work! New poll - New thread - New reply
Pages: 1 2 3 Next newer thread | Next older thread
yoshiman
Member
Level: 23


Posts: 77/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-07-08 10:07:50 PM Link | Quote
How did you get Peach and Yoshi's graphics in Bob-omb Battlefield, did you replace them with other graphics? The only way I thought you could do it was to change the level commands that load the graphics.

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
messiaen
Catgirl
Level: 68


Posts: 128/1085
EXP: 2594036
For next: 134764

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 06-08-08 04:06:32 PM Link | Quote
Yes, this is an edit of the level script commands. I made this for testing purposes in my modified/expanded version of "Flatworld" (which is a linear version of the Bob-omb level script made by VL-Tone). Doing it in the actual Bob-omb would be like hell, because there would be a LOT of pointers to be updated.

Basically, I changed the 0x17 level commands so that the Geo Layout/Polygons of Yoshi and Peach (which are actually in the same ROM 'bank') are loaded and then inserted the respective 0x22 commands to set their model IDs.

Probably due to memory limitations, the level was crashing, so I removed one of the banks which contains almost all the objects from Bob-omb and all the respective 0x22 commands that point to them.

It is interesting that sometimes you can get more objects in a level without loading extra banks or swap existing ones, but just by adding 0x22 commands. For instance, in the Bob-omb level, objects such as the Green Pipe, the Palm Tree and the Castle Door are loaded, but since there isn't a 0x22 to configure them, they aren't available.

Also, if you are wondering the ROM equivalent of your "Play as ____ hacks", this is it:

25 0C 00 01 00 00 00 01 13 00 2E C0

This is the level script command that sets Mario model/behavior. The fourth byte is the Model ID, and the last four bytes the behavior pointer.
yoshiman
Member
Level: 23


Posts: 79/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-08-08 09:35:46 PM Link | Quote
That's very helpful as for my Peach hack we'll need her graphics in all levels and VL-TONE's doc seems outdated. Can you please confirm that you swapped someone's graphics/layout with Peach's rather than adding.

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
messiaen
Catgirl
Level: 68


Posts: 129/1085
EXP: 2594036
For next: 134764

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 06-08-08 10:40:38 PM (last edited by messiaen at 06-09-08 07:54 PM) Link | Quote
I didn't swap the polygons/geo layout of any object, just the banks which load them, and then inserted the 0x22 commands which point to the Yoshi/Peach Geo Layout and assign a model ID. These commands can be found at the Castle Grounds level script with Toad's Tool64.

The problem is that while you can change the RAM segment in which a bank (a block of data) will be loaded, each bank has its internal pointers with a fixed ID. Peach's and Yoshi's geo layout are stored in a bank which uses ID 0x0C, and their polygons in bank 0x05. Bob-omb has already loaded banks which uses these IDs, so before changing the 0x17 commands so that it loads the Peach/Yoshi data, you have to get rid of everything (basically, 0x22 pointers and 0x24 objects) which point to these banks, otherwise the level will crash.

To add yet more trouble, the new 0x0C and 0x05 banks are bigger than the previous ones, so I had to remove another bank and all its objects for the level to work. Perhaps in a very lightweight level you will be able to even load Peach without removing anything, but you could still have troubles with banks IDs (nothing that a simple custom program can't fix).

I think the best thing you could do for now is to separate Yoshi's data from Peach's data in their bank, so you would have less troubles with memory.

Also, there are some very useful docs regarding ROM banks in the Hacking Docs thread.

Edit: Using the same procedure, here is Bowser in Bob-omb Battlefield.
Mega Mario XD
80
Level: 22


Posts: 74/81
EXP: 53040
For next: 5310

Since: 10-26-07

From: Australia

Since last post: 13.8 years
Last activity: 13.8 years

Posted on 06-10-08 05:37:00 AM Link | Quote
No wonder....

Well, James and I have sorta got a Peach Hack v1.5 which is a modded version of VL-Tone's Peach Head on Mario.

He's got some of the work done, but would we have to in theory, remove all the stuff in the castle for Peach to appear inside the castle? At the current moment, it crashes upon entry.
messiaen
Catgirl
Level: 68


Posts: 131/1085
EXP: 2594036
For next: 134764

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 06-10-08 08:00:56 PM Link | Quote
Yes, depending on the level you would have to remove a lot of banks, so while it is possible to load the Peach bank in all levels, I think you would get a very dull hack.

Maybe a more interesting alternative would be to actually replace Mario's geometry with Peach's, if you REALLY want to work that much just to make a playable Peach.
yoshiman
Member
Level: 23


Posts: 81/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-13-08 12:08:57 AM Link | Quote
I have done some tests using a hex editor and the expanded NTSC ROM. But when I changed the Load Mario command gfx ID from 0x01 to 0xDE Mario becomes invisible instead of using Peach's graphics. This isn't the route I want to go down but could anyone explain why this happens even though I patched Peach's geo layout so that she's never transparent (and used a code to test that changes a signpost's graphics to Peach's)?

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
messiaen
Catgirl
Level: 68


Posts: 135/1085
EXP: 2594036
For next: 134764

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 06-13-08 03:16:47 PM Link | Quote
I don't know much about Geometry Layout of complicated models, but what commands of the Peach layout did you change to get rid of transparency?

To correct it in my test hack, I just inserted "10 3D 00 FF" in the behavior of the Peach object, which is basically the same you do with a Gameshark code. Perhaps you could add the same to Mario's behavior?

I don't know if the following will help you, but transparent and semi-transparent polygons are rendered in different "drawing layers" (the second byte of the 0x15 Geo Layout command). From my experiments, each drawing layer can hold its own attributes. If you insert a object with different geometry settings (for instance, generate texture coordinates from normals) it will affect all the polygons in the same drawing layer when that object is visible.

By the way, I think rotation (you asked a few messages ago) is probably determined by the Animation data, not by the Geo Layout.
Stevoisiak
Member
Level: 38


Posts: 90/283
EXP: 345476
For next: 24971

Since: 11-22-07

From: New York, Long Island

Since last post: 12.3 years
Last activity: 5.6 years

Posted on 06-13-08 08:09:25 PM Link | Quote
I think it's about time to rename this topic, as it has gone away from discussing why it is hard, and toward discussing how to get it done.
yoshiman
Member
Level: 23


Posts: 82/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-13-08 10:59:28 PM Link | Quote
In the Peach geo layout:

0018097C/043C: 02 01 00 00 0C 00 00 98
--Jump to: 00823BFC/0098
00180984/0444: 02 01 00 00 0C 00 02 54
--Jump to: 00823DB8/0254

I changed so that they both jumped to the same place, assuming that one model could be seen and the other used transparency. It worked since my code to swap a signpost's graphics to Peach could be done without altering the transparency variable in the signpost object.

But when I changed the load Mario command to use gfx ID 0xDE (Peach) he wasn't visible at all, not even an outline like you get with completely transparent models.

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
Mega Mario XD
80
Level: 22


Posts: 77/81
EXP: 53040
For next: 5310

Since: 10-26-07

From: Australia

Since last post: 13.8 years
Last activity: 13.8 years

Posted on 06-14-08 02:43:01 AM Link | Quote
Sounds like that the transparent setting is incorrect.

If you change some value to 00, (I'll dig it up) you'll be able to have a non-transparent model for Peach, I think.
messiaen
Catgirl
Level: 68


Posts: 136/1085
EXP: 2594036
For next: 134764

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 06-14-08 03:56:35 PM Link | Quote
Oh, wait! I forgot something important!

Some weeks ago I had the same problem when some custom models weren't showing in the game. It took me a while to figure what was wrong, but the solutions is quite simple: the level script is of course processed linearly, so you have to make sure that the model has been already been defined by the 0x22 command before any 0x24 command uses it, otherwise there won't be any polygons to draw. This is the same case, so you must place the 0x25 command after the 0x22 which defines the model you are going to use.

This is not an issue with the Mario Model (ID #01) because it is loaded all the time in one of the shared banks.

So, I tried it and now Peach works on Bob-omb:

Video

I tried also playing with Bowser in Bob-omb, but his animations are too glitchy.
Mega Mario XD
80
Level: 22


Posts: 78/81
EXP: 53040
For next: 5310

Since: 10-26-07

From: Australia

Since last post: 13.8 years
Last activity: 13.8 years

Posted on 06-17-08 05:55:52 AM Link | Quote
Sounds good, messiaen.

I sent you a PM about this.

Would you be able to do a hack for use with Peach in Flatworld?
messiaen
Catgirl
Level: 68


Posts: 137/1085
EXP: 2594036
For next: 134764

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 06-17-08 07:48:56 PM (last edited by messiaen at 06-17-08 04:51 PM) Link | Quote
This is Flatworld . I just replaced Bank 0x07 with the regular Bob-omb bank, updated the Collision (0x2E) and Level Polygons pointers (0x1F) and used the original Bob-omb terrain Geo Layout. This way you can get a more flexible Bob-omb level script ready to be expanded (if you change the 0x00 load script commands).

But getting back to the original question, the procedure to get Peach in Flatworld is the same I described above:

- Load the banks which contains Peach's Geo Layout and Polygons (for reference, use SM64GeoLayoutPtrsAndPolys.txt) .
If you have a duplicate bank ID (which is the case for this), you'll have to replace banks.
- Since the objects of the replaced banks are no longer available, remove the 0x22 commands which points to them. At this point you don't have to worry about 0x24 objects, because your Flatworld is probably empty.
- Add the corresponding 0x22 Peach pointer (you can get this data from the Castle Grounds). You may want to get Yoshi as a bonus (it is in the same bank as Peach).
- If the game crashes, probably you don't have enough memory, so you'll have to choose another bank to remove and all its 0x22 object pointers. If the game still crashes after this, you'll have to check all your level script for any kind of errors.

I'm learning some C to write a program to help me creating collision for objects, but when I get around that I could try a Bank ID changer. That would be very helpful to attain flexibility so we can mix objects from many levels.
Mega Mario XD
80
Level: 22


Posts: 79/81
EXP: 53040
For next: 5310

Since: 10-26-07

From: Australia

Since last post: 13.8 years
Last activity: 13.8 years

Posted on 06-17-08 09:33:39 PM Link | Quote
I can do that in TT64, I think.

Erm... does that mean I need to pull out my hex editor as well?
Pages: 1 2 3 Next newer thread | Next older thread
Jul - SM64 Hacking (Archive) - Why a Peach 64 hack is not impossible, but would require a lot of work! New poll - New thread - New reply


Rusted Logic

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

31 database queries, 8 query cache hits.
Query execution time:  0.108131 seconds
Script execution time:  0.018220 seconds
Total render time:  0.126351 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 300 - Warning: unescaped & or unknown entity "&page"
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 242 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 94 - Warning: unescaped & or unknown entity "&page"
line 149 column 126 - Warning: unescaped & or unknown entity "&page"
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 163 - 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 99 - Warning: unescaped & or unknown entity "&postid"
line 184 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 186 column 9 - Warning: missing <tr>
line 204 column 13 - Warning: missing <tr>
line 205 column 99 - Warning: unescaped & or unknown entity "&postid"
line 222 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 224 column 9 - Warning: missing <tr>
line 242 column 13 - Warning: missing <tr>
line 243 column 99 - Warning: unescaped & or unknown entity "&postid"
line 250 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 252 column 9 - Warning: missing <tr>
line 270 column 13 - Warning: missing <tr>
line 271 column 99 - Warning: unescaped & or unknown entity "&postid"
line 287 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 289 column 9 - Warning: missing <tr>
line 307 column 13 - Warning: missing <tr>
line 308 column 99 - Warning: unescaped & or unknown entity "&postid"
line 317 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 319 column 9 - Warning: missing <tr>
line 337 column 13 - Warning: missing <tr>
line 338 column 99 - Warning: unescaped & or unknown entity "&postid"
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 99 - Warning: unescaped & or unknown entity "&postid"
line 373 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 375 column 9 - Warning: missing <tr>
line 393 column 13 - Warning: missing <tr>
line 394 column 99 - Warning: unescaped & or unknown entity "&postid"
line 405 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 407 column 9 - Warning: missing <tr>
line 425 column 13 - Warning: missing <tr>
line 426 column 99 - Warning: unescaped & or unknown entity "&postid"
line 431 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 433 column 9 - Warning: missing <tr>
line 451 column 13 - Warning: missing <tr>
line 452 column 99 - Warning: unescaped & or unknown entity "&postid"
line 468 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 470 column 9 - Warning: missing <tr>
line 488 column 13 - Warning: missing <tr>
line 489 column 99 - Warning: unescaped & or unknown entity "&postid"
line 496 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 498 column 9 - Warning: missing <tr>
line 516 column 13 - Warning: missing <tr>
line 517 column 99 - Warning: unescaped & or unknown entity "&postid"
line 532 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 534 column 9 - Warning: missing <tr>
line 552 column 13 - Warning: missing <tr>
line 553 column 99 - Warning: unescaped & or unknown entity "&postid"
line 562 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 564 column 9 - Warning: missing <tr>
line 582 column 13 - Warning: missing <tr>
line 583 column 99 - Warning: unescaped & or unknown entity "&postid"
line 598 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 600 column 9 - Warning: missing <tr>
line 618 column 13 - Warning: missing <tr>
line 619 column 99 - Warning: unescaped & or unknown entity "&postid"
line 626 column 17 - Warning: missing <tr>
line 626 column 17 - Warning: discarding unexpected <table>
line 629 column 35 - Warning: missing <tr>
line 629 column 94 - Warning: unescaped & or unknown entity "&page"
line 629 column 126 - Warning: unescaped & or unknown entity "&page"
line 629 column 50 - Warning: missing </font> before </td>
line 629 column 163 - Warning: missing </font> before </table>
line 631 column 35 - Warning: missing <tr>
line 631 column 50 - Warning: missing </font> before </td>
line 632 column 37 - Warning: unescaped & or unknown entity "&id"
line 631 column 242 - Warning: missing </font> before </table>
line 633 column 17 - Warning: discarding unexpected </textarea>
line 633 column 28 - Warning: discarding unexpected </form>
line 633 column 35 - Warning: discarding unexpected </embed>
line 633 column 43 - Warning: discarding unexpected </noembed>
line 633 column 53 - Warning: discarding unexpected </noscript>
line 633 column 64 - Warning: discarding unexpected </noembed>
line 633 column 74 - Warning: discarding unexpected </embed>
line 633 column 82 - Warning: discarding unexpected </table>
line 633 column 90 - Warning: discarding unexpected </table>
line 635 column 9 - Warning: missing </font> before <table>
line 647 column 25 - Warning: discarding unexpected </font>
line 656 column 57 - Warning: discarding unexpected </font>
line 634 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 245 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 161 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 189 column 22 - Warning: <img> lacks "alt" attribute
line 189 column 63 - Warning: <img> lacks "alt" attribute
line 189 column 111 - Warning: <img> lacks "alt" attribute
line 189 column 161 - Warning: <img> lacks "alt" attribute
line 200 column 15 - Warning: <img> lacks "alt" attribute
line 227 column 22 - Warning: <img> lacks "alt" attribute
line 227 column 63 - Warning: <img> lacks "alt" attribute
line 227 column 112 - Warning: <img> lacks "alt" attribute
line 227 column 161 - Warning: <img> lacks "alt" attribute
line 238 column 15 - Warning: <img> lacks "alt" attribute
line 255 column 22 - Warning: <img> lacks "alt" attribute
line 255 column 63 - Warning: <img> lacks "alt" attribute
line 255 column 111 - Warning: <img> lacks "alt" attribute
line 255 column 161 - Warning: <img> lacks "alt" attribute
line 266 column 15 - Warning: <img> lacks "alt" attribute
line 291 column 14 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 14 - Warning: <img> lacks "alt" attribute
line 291 column 57 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 57 - Warning: <img> lacks "alt" attribute
line 291 column 100 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 100 - Warning: <img> lacks "alt" attribute
line 291 column 143 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 143 - Warning: <img> lacks "alt" attribute
line 292 column 22 - Warning: <img> lacks "alt" attribute
line 292 column 63 - Warning: <img> lacks "alt" attribute
line 292 column 112 - Warning: <img> lacks "alt" attribute
line 292 column 162 - Warning: <img> lacks "alt" attribute
line 293 column 11 - Warning: <img> lacks "alt" attribute
line 303 column 15 - Warning: <img> lacks "alt" attribute
line 322 column 22 - Warning: <img> lacks "alt" attribute
line 322 column 63 - Warning: <img> lacks "alt" attribute
line 322 column 111 - Warning: <img> lacks "alt" attribute
line 322 column 161 - Warning: <img> lacks "alt" attribute
line 333 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 112 - Warning: <img> lacks "alt" attribute
line 350 column 161 - Warning: <img> lacks "alt" attribute
line 361 column 15 - Warning: <img> lacks "alt" attribute
line 378 column 22 - Warning: <img> lacks "alt" attribute
line 378 column 63 - Warning: <img> lacks "alt" attribute
line 378 column 111 - Warning: <img> lacks "alt" attribute
line 378 column 161 - Warning: <img> lacks "alt" attribute
line 389 column 15 - Warning: <img> lacks "alt" attribute
line 410 column 22 - Warning: <img> lacks "alt" attribute
line 410 column 63 - Warning: <img> lacks "alt" attribute
line 410 column 112 - Warning: <img> lacks "alt" attribute
line 410 column 162 - Warning: <img> lacks "alt" attribute
line 421 column 15 - Warning: <img> lacks "alt" attribute
line 436 column 22 - Warning: <img> lacks "alt" attribute
line 436 column 63 - Warning: <img> lacks "alt" attribute
line 436 column 112 - Warning: <img> lacks "alt" attribute
line 436 column 161 - Warning: <img> lacks "alt" attribute
line 447 column 15 - Warning: <img> lacks "alt" attribute
line 472 column 14 - Warning: <img> proprietary attribute value "absmiddle"
line 472 column 14 - Warning: <img> lacks "alt" attribute
line 472 column 57 - Warning: <img> proprietary attribute value "absmiddle"
line 472 column 57 - Warning: <img> lacks "alt" attribute
line 472 column 100 - Warning: <img> proprietary attribute value "absmiddle"
line 472 column 100 - Warning: <img> lacks "alt" attribute
line 472 column 143 - Warning: <img> proprietary attribute value "absmiddle"
line 472 column 143 - Warning: <img> lacks "alt" attribute
line 473 column 22 - Warning: <img> lacks "alt" attribute
line 473 column 63 - Warning: <img> lacks "alt" attribute
line 473 column 112 - Warning: <img> lacks "alt" attribute
line 473 column 162 - Warning: <img> lacks "alt" attribute
line 474 column 11 - Warning: <img> lacks "alt" attribute
line 484 column 15 - Warning: <img> lacks "alt" attribute
line 501 column 22 - Warning: <img> lacks "alt" attribute
line 501 column 63 - Warning: <img> lacks "alt" attribute
line 501 column 111 - Warning: <img> lacks "alt" attribute
line 501 column 161 - Warning: <img> lacks "alt" attribute
line 512 column 15 - Warning: <img> lacks "alt" attribute
line 536 column 14 - Warning: <img> proprietary attribute value "absmiddle"
line 536 column 14 - Warning: <img> lacks "alt" attribute
line 536 column 57 - Warning: <img> proprietary attribute value "absmiddle"
line 536 column 57 - Warning: <img> lacks "alt" attribute
line 536 column 100 - Warning: <img> proprietary attribute value "absmiddle"
line 536 column 100 - Warning: <img> lacks "alt" attribute
line 536 column 143 - Warning: <img> proprietary attribute value "absmiddle"
line 536 column 143 - Warning: <img> lacks "alt" attribute
line 537 column 22 - Warning: <img> lacks "alt" attribute
line 537 column 63 - Warning: <img> lacks "alt" attribute
line 537 column 112 - Warning: <img> lacks "alt" attribute
line 537 column 162 - Warning: <img> lacks "alt" attribute
line 538 column 11 - Warning: <img> lacks "alt" attribute
line 548 column 15 - Warning: <img> lacks "alt" attribute
line 567 column 22 - Warning: <img> lacks "alt" attribute
line 567 column 63 - Warning: <img> lacks "alt" attribute
line 567 column 111 - Warning: <img> lacks "alt" attribute
line 567 column 161 - Warning: <img> lacks "alt" attribute
line 578 column 15 - Warning: <img> lacks "alt" attribute
line 585 column 98 - Warning: <img> proprietary attribute value "absmiddle"
line 585 column 98 - Warning: <img> lacks "alt" attribute
line 602 column 14 - Warning: <img> proprietary attribute value "absmiddle"
line 602 column 14 - Warning: <img> lacks "alt" attribute
line 602 column 57 - Warning: <img> proprietary attribute value "absmiddle"
line 602 column 57 - Warning: <img> lacks "alt" attribute
line 602 column 100 - Warning: <img> proprietary attribute value "absmiddle"
line 602 column 100 - Warning: <img> lacks "alt" attribute
line 602 column 143 - Warning: <img> proprietary attribute value "absmiddle"
line 602 column 143 - Warning: <img> lacks "alt" attribute
line 603 column 22 - Warning: <img> lacks "alt" attribute
line 603 column 63 - Warning: <img> lacks "alt" attribute
line 603 column 112 - Warning: <img> lacks "alt" attribute
line 603 column 162 - Warning: <img> lacks "alt" attribute
line 604 column 11 - Warning: <img> lacks "alt" attribute
line 614 column 15 - Warning: <img> lacks "alt" attribute
line 632 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 632 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 632 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 641 column 25 - Warning: <img> lacks "alt" attribute
line 646 column 267 - Warning: <img> lacks "alt" attribute
line 626 column 17 - Warning: trimming empty <tr>
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 205 column 27 - Warning: <nobr> is not approved by W3C
line 243 column 27 - Warning: <nobr> is not approved by W3C
line 271 column 27 - Warning: <nobr> is not approved by W3C
line 308 column 27 - Warning: <nobr> is not approved by W3C
line 338 column 27 - Warning: <nobr> is not approved by W3C
line 366 column 27 - Warning: <nobr> is not approved by W3C
line 394 column 27 - Warning: <nobr> is not approved by W3C
line 426 column 27 - Warning: <nobr> is not approved by W3C
line 452 column 27 - Warning: <nobr> is not approved by W3C
line 489 column 27 - Warning: <nobr> is not approved by W3C
line 517 column 27 - Warning: <nobr> is not approved by W3C
line 553 column 27 - Warning: <nobr> is not approved by W3C
line 583 column 27 - Warning: <nobr> is not approved by W3C
line 619 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 245 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