Topic in forum: http://forum.princed.org/viewtopic.php?f=63&t=1654
Page on PoPOT: http://www.popot.org/level_editors.php?editor=Pr1SnesLevEd


2016 January 1
==============

* Renamed the old readme.txt to ChangeLog.txt .
* Made the source more readable:
- Replaced many short identifiers with better ones.
- Added typedefs for byte and word.
- Added comments.
- Moved variable declarations to the innermost block.
* Added Hacks editor:
- Here you can change things that otherwise require hex-editing. For example, level-specific special events.
- The hacks are in the Hacks.txt and Hacks_lists.txt files. You can add new hacks to them, and the changes appear when you reopen the Hacks editor.
* Shift + arrow keys move between rooms. Shift + page up/down move to the previous/next room.
* Door events disappear when the current tile is not a button.
* When opening Jaffar's level, the editor jumps to room 0.
* Added File -> Quit.
* Added "Quit?" dialog.
* Removed "Guard skill" menu item. This setting didn't do anything.
* When you select a background tile, the animation group textbox will update itself.
* When you change a property of the current foreground tile, the new foreground tile will appear in the first dropdown.
* Added a "Room links" right-click menu to the room link buttons.
* You can select an item from pop-up lists by double-click. (level, guard type)
* Renamed "girl" to "amazon".


2015 June 3
===========

* If "Last resource doesn't fit into its place", then the editor places it elsewhere. (After the sprites.)
- It may have bugs, so please make a backup of your ROM image before using!

Here is a map of the ROM image:
0x00000
(machine code & small data)
0x20000
main resources first area (0x58000 = 360448 bytes)
0x78000
(sprites)
0xE0A00
main resources second area (0x7600 = 30208 bytes)
0xE8000
(sounds and music)
0x100000 (EOF)


2014 January 17
===============

* Added "Edit screens palette..." and "Edit hardcoded palette...".
* Added notes to the palette editors about which row is what.


2013 July 24
============

* Added an icon.


2013 June 15
============

* Bugfixes:
  - I made a stupid mistake in the June 4 bugfix:
      I wrote:                 if(ptr[i]==0) bad=true;
      But the correct line is: if(ptr[i]!=0) bad=true;
    So, instead of checking for truncated non-zero bytes, it checked for truncated zero bytes!
    Now I fixed this.


2013 June 14
============

Added features:
---------------
* Added a Room menu and moved "Clear room" and "Jump to room" there. The new functions below were also added to the Room menu.
* You can now swap two rooms.
  - "Swap positions" will swap outgoing and incoming room links.
  - "Swap details" will swap tiles, guards and the starting position (if it is in one of the two rooms).
     Door links pointing to one of the swapped rooms will be changed accordingly.
  - "Swap transparent" will do both of the above.
* You can now copy and paste rooms. Currently you can paste a copied room only to the same level (and in the same editor).
  - These handle tiles and guards.
* Added a menu item to show floors and walls.
  - This is useful to see if you have set the floor/wall checkboxes correctly. (Or to search for fake walls...)


2013 June 4
===========

* Bugfixes:
  - Edited graphics is now compressed better. I hope this will avoid data truncation.
  - But in case the editor ran out of space (despite the above), it will show a warning and won't save truncated data.
Oh... I just realized that the Japanese rom has garbage data after the last resource. But the editor relies on them being zero for the truncation check! (Because the length of the resources is not stored.)
  - So, instead it will ask whether you want to save.


2013 May 29
===========

Added feature:
* You can set the size of the room display to 1x, 2x, 3x or 4x.
* Bugfix:
  - Torches are now shown with the correct colors.


2012 December 17
================

* Bugfixes:
  - Fixed error message that appeared when you clicked a checkbox (floor/wall).


2012 October 31
===============

Added features:
---------------
* You can now select which animation is assigned to which background tile. Zero means no animation.
  - See the bug below.
* Added a level graphics editor. It's not fully ready yet, so make a backup of the ROM image before using it!
  - I didn't want to release the graphics editor yet, but the bugfix below forced me to do a new release.
* Indexes of graphics are now shown in the drop-down lists. (in hexadecimal)

* Bugfixes:
  - Tile flags (floor, wall) and background animation indexes are now handled separately.
     Bug pointed out by Iso at http://forum.princed.org/viewtopic.php?p=11982#p11982


2011 June 29
============

Added features:
---------------
* Added a palette editor.
  - You can edit the palette of the current environment (level type) and of the sprites.


2010 October 30
===============

Added features:
---------------
* Now there's both a "Clear all rooms" and a "Clear all rooms and tiles" menu item.
  - "Clear all rooms" won't clear the tiles in the leftmost drop-down, "Clear all rooms and tiles" will.

* Bugfixes:
  - Guard settings checks if there's no guard in the current room.
  - Added checks for illegal guard types.


2010 September 6
================

Added features:
---------------
* You can change the fighting characteristics for each guard type.
  - I got the names from pages 20-21 of the PDF mentioned in this post:
      http://forum.princed.org/viewtopic.php?f=67&t=1610&p=4489&hilit=popsource009#p4489
  - The probability values range from 0 to 255, 0 means never, 255 means always.
  - The refractory timer is given in frames.
* You can change the appearance (sprite) for each guard type.
* You can change the music of each level.
  - You can display a list of musics in the game by holding Start and pressing Select.
      Press up/down to browse the list.
      Press A or B (the mapping of these keys depends on your emulator) to start the selected music.
  - This list starts at 1, but the editor starts numbering at 0, so you need to subtract 1 from the number,
      i.e. if you want "SOUND 5" then type 4.
  - Type 255 for no music on the level.
  - The numbering is slightly different for the USA/Europe and Japan versions.
  - You can also find a list of musics in the FAQ (by Christian Wall) on this site:
      http://www.gamefaqs.com/snes/588588-prince-of-persia/faqs


2010 May 28
===========

Added features:
---------------
* You can change the number of hitpoints (0-255) for each guard type.
  - The number is applied to all guards that have the same type as the guard in the current room.
  - If you set more than 15 hitpoints, only 15 will be shown, but the game will use the correct value.
  - Normal skeletons will always have infinite hitpoints.
  - Brown skeletons will always fall after one hit, and always revive after a short time.
  - If a guard has zero hitpoints, he will instantly fall. This also works for skeletons.
* You can change the palette (colours) of each guard type.
  - You can choose from the palettes that are already in the game.

* Bugfixes:
   - Changing the level type will now change the graphic of the loose floor, open/close buttons, level door and the torch flame placement.
   - Walls in room 255 will be corrected when changing the level type.
   - Clear all rooms won't clear the tiles in the leftmost drop-down.
   - Also, door events will be set to room 31, tile 31.


2010 January 14
===============

Added features:
---------------
* You can select a whole line or column or the whole room now.

* Tips from me:
- The gate and level door are not the only objects that can be triggered.
The following tiles can be triggered, too: loose floor, open/close button, chomper, guillotine, spike, crusher, spinning log.
Also, if you trigger the "1Bdown only" object, it will flash the outline of a floor, probably this tile is used for the appearing floors on level 15.
- If the loose floor, chomper, guillotine, spike, crusher or spinning log has a non-zero modifier, it will appear "stuck", just like the chomper or spike in the DOS version.
- All objects can be broken by a loose floor.
- If an open/close button is broken by a loose floor, it is changed into tile 254.
Reason: open/close buttons don't have a floor graphics but debris has, so it needs to be added.
- "skel cont" means that if a skeleton falls down from the room above, then it is placed into this tile.
- The potion of warp will take the Prince to room 17, tile 11, turned left.
- Checkpoints: (they seem to be hard-coded)
LEVEL 3: room 10, tile 9, <-, triggered by room 4 exit <-, room 4 tile 4 object is set to 0
LEVEL 6: room 16, tile 21, ->, triggered by room 15 exit ->
LEVEL 9: room 15, tile 19, <-, triggered by room 19 exit <-
LEVEL 16: room 22, tile 19, <-, triggered by room 17 exit <-
LEVEL 18: room 8, tile 28, <-, triggered by room 4 exit <-
LEVEL 19: room 9, tile 16, <-, triggered by room 10 exit <-
- On level 15, in room 15 and 18 all loose floors, debrises and open/close buttons appear blue instead of green.
Reason: originally these rooms are "outdoor".
- The modifier of a gate tells how much is it open. 4=1 pixel, 8=2 pixels, etc.
- If the "stars" object has a modifier 6-47, it will appear bigger. If it has modifier 48 (hex. 30) or bigger, it will appear glitched.
- Special exits:
LEVEL 9: room 11 exit down
LEVEL 15: room 18 exit <-
LEVEL 16: room 21 exit <-
LEVEL 17: room 3 exit <-
- Other level specific stuff:
LEVEL 1: falling entry, no sword
LEVEL 3: on leveldoor open: skel wake at room 13, tile 16
LEVEL 5: on leveldoor open: mirror at room 15, tile 5
LEVEL 7: room 16: shadow steal
LEVEL 10: falling entry, HOT effect
LEVEL 10-12: prince has red clothes
LEVEL 13: room 16: Jaffar, mouse
LEVEL 15: gates don't close by themselves, room 17: shadow, room 18: Jaffar, tiles 2, 10-19 fall, room 23: no run-jump to the room to the left
LEVEL 17: running entry
* A tip from Eagle-Head Priest 97:
  - Instead of being able to step RIGHT up to a close button, you step onto it and it's the open button that you can step up to.


2009 November 28
================

* Tips from AuraDragon:
  - The visual appearance of a tile does not attribute to it's physical standing (Wall or Floor), you need to change this. (!!! Secret Passages through walls !!!)
  - Tiles in each room are numbered 0 to 9, 10 to 19 and 20 to 29 for the top, middle and bottom floors. (Unlike 1 to 10, 11 to 20, and 21 to 30 like in Room Shaker)
  - In the SNES version, guards hear you grab onto ledges(!!), that complicates some(\all) of my maps. -_-
  - Overall the game is faster, so plan your level for that.
  - Guard Health\Skill depends on which guard type you place.
  - Tile 255 is very important, SNES Prince uses it as the universal block room to prevent the prince from entering.
  - Also 254 is used as an empty room to enable no-ceiling areas (like outdoors or super special palace rooms with no visible ceiling).
* Bugfix: now can open headerless SMC files.


2009 November 22
================

Fixed the bug with attributes.


2009 November 21
================

Added features:
---------------
* Double size.
* Show tile number in status bar.
* Some minor bugfixes:
  - disable the Level menu if no level is open
  - don't load anything if the level selection dialog is cancelled


2009 October 15
===============

Added features:
---------------
* Objects are shown as in the game, but you can turn text labels on.
* You can change the type of the level (dungeon/palace/etc.).
* Added clear all rooms, clear this room and jump to room.
* Added automatic tile mode:
  If this is set, the editor will create tiles for you from Background layer, Foreground layer, Object and Attributes, so if you change one of these for a tile, other instances of the tile will remain the same.
* You can edit the Japanese version, too.


2009 July 20
============

Notes on usage:
---------------
You need a ROM image (*.smc) of the European or USA version to use the editor. (The Japanese gives an error message)
The editor uses the graphics from the ROM.

File menu:
----------
Open: opens a level in a ROM image.
Save: saves the currently opened level into the same place (overwrite).
Export level: exports the currently opened level. (3490 bytes)
Import level: imports the currently opened level.

Room display area:
------------------
Click to select a tile. Ctrl-click to select multiple tiles.

Context menu: (Right-click on the room display area)
-------------
Start here: sets start position to the selected tile.
Flip start: flip the start direction
Guard here: put guard into the selected tile. (max. 1 guard per room)
Flip guard: flip the guard in the current room.
Delete guard: remove the guard from the current room.
Guard type...: lets you select the type of the guard in the current room from a list.
Guard skill...: lets you modify the skill of the guard from the current room.
Room links...: lets you modify the room links.
Unlike the DOS version, rooms are numbered 0-23. 255 means no room, 254 means no room and don't show above.

How tiles work:
---------------
Each position has a foreground tile index, a background tile index and a door event index.
The background tile index is simply an index into a list of images.
The foreground tile index is a bit more complicated.
It is an index into a table with the following entries:
- Background layer index: an index into a list of images.
- Foreground layer index: an index into a list of images.
- Object: a number which identifies an object.
- Attributes: bits describing whether the tile is wall or floor.
For buttons, the door event index is an index into the door events, which are similar to the DOS version ones.
It can also mean:
For doors: 00=closed, FF=open
For teleports: if the index is the same for two teleports, they belong to each other.

What is missing:
----------------
Objects are shown as text.
The level type cannot be changed.
Checkpoints cannot be changed.
You can't tell if a wall is fake just by looking. (But if you select it, you'll see.)
