post suggestions here

Windows and Linux editor of PoP1 (for DOS and SNES) and PoP2 (for DOS).
Post Reply
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: post suggestions here

Post by Norbert »

David wrote:PoP2 preloading takes ~10 seconds for me
Your PC must be ancient... :shock:

Speaking of hardware, my offer to buy and send you an Xbox controller still stands.
I don't mean to test apoplexy, I've got that covered.
Just so you're able to check out your own SDLPoP with a gamepad.
Hanging back and using a gamepad for games is a different kind of experience.
David wrote:Now I think it was a good choice that Pr1SnesLevEd loads all images from the ROM itself...
Oh, definitely. Pr1SnesLevEd is more versatile and technically more impressive than what I've created for apoplexy. I've traded versatility for usability/simplicity. And it still took me five months to add SNES support. (Not full-time, but still.) Not being able to use a PR equivalent to load and save SNES levels was already a notable obstacle for me, even with your documentation. :) It was an interesting project though, I've learned a lot about the SNES port.
salvadorc17
Calif
Calif
Posts: 553
Joined: August 27th, 2011, 2:04 am

Re: post suggestions here

Post by salvadorc17 »

Why the new addition of the Snes Editor in the apoplexy tool, do you plan to allow use of the CusPOP features, thats possible?? also what is the reason of create a new snes editor, the one from David is lacking of something?
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: post suggestions here

Post by Norbert »

salvadorc17 wrote:Why the new addition of the Snes Editor in the apoplexy tool, do you plan to allow use of the CusPOP features, thats possible?? also what is the reason of create a new snes editor, the one from David is lacking of something?
Programming is fun. :)
salvadorc17
Calif
Calif
Posts: 553
Joined: August 27th, 2011, 2:04 am

Re: post suggestions here

Post by salvadorc17 »

Norbert wrote:
Programming is fun. :)
Ok, i understand, but will be good to see new fetures, like adding some hex edit possibilities into the editor..
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: post suggestions here

Post by David »

I tried 3.0 RC1.
Norbert wrote: - I have two PCs; PoP1 for SNES preloading in seconds: on my slow PC: 22; on my fast PC (that has a solid-state drive): 1.
SNES graphics takes 19 seconds to load first time, 7 seconds the second time.
(I see you added a seconds-counter in the corner.)
And this is when I run Apoplexy from the newer of the two HDDs.

* Some texts are cut into half if there is a wall on their right side:
level 14, room 23: rai..
level 14, room 21: flo..
(On DOS PoP1/PoP2 levels, these texts are fully covered in this case.)

* Maybe false tiles could use graphics instead of text?
Something similar to what you did on PoP2 levels 1,2,14.
I.e. Overlay a wireframe graphics of the actual tile (floor/wall).
(But how to mark a tile that is a space but looks like something else?
What does a wireframe space look like?)

* Click on a tile that has a teleport marker. On the tiles screen, the teleport marker updates only when I move the mouse.
Also, maybe it should be greyed out when it would not do anything. (I.e. if the current tile is not above a teleport.)

* I see you fixed this bug:
When the Apoplexy window is inactive, click and drag its header.
DOSBox will start, as if you clicked the area under the header.
(This is the check that you moved to OnLevelBar().)
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: post suggestions here

Post by Norbert »

David wrote:* Click on a tile that has a teleport marker. On the tiles screen, the teleport marker updates only when I move the mouse.
I'll change this.
David wrote:Also, maybe it should be greyed out when it would not do anything. (I.e. if the current tile is not above a teleport.)
You made a similar suggestion in 2013 to which I replied "I'll implement that", but I eventually decided against doing that. The reason is that it will no longer be possible to set tile attributes before selecting the tile, as I do, for example, starting 8:55 in the recent Supplement 2 video.
David wrote:* I see you fixed this bug: [...]
What was the bug and what did I fix? :) Maybe it's a Windows-only bug, because I only moved the check to OnLevelBar() to make sure the coordinates would be consistent wherever I want to check if the user clicks or hovers over the level bar. As a result some coordinates may have slightly changed, maybe that fixed something?
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: post suggestions here

Post by David »

Norbert wrote:What was the bug and what did I fix? :)
I already wrote how to reproduce it in the older versions:
When the Apoplexy window is inactive, click and drag its header.
DOSBox will start, as if you clicked the area under the header.
In 2.7, the level bar is checked using these coordinates:
InArea (25, 0, 614, 25) and InArea (25, 0, 602, 24)
In 3.0, the check looks like this:
InArea (28, 3, 602, 22)
Norbert wrote: As a result some coordinates may have slightly changed, maybe that fixed something?
I think the bug disappeared because the second parameter (iUpperLeftY) is now greater than zero.
(Why don't just call the parameters as: left, top, right, bottom ?)

I made a small test program that prints mouse and window events to the console.
When I do what I wrote above, it shows that there are some mouse button and motion events, with y=0.

Maybe it's time to visit the SDL bugzilla? :)

EDIT: It seems that this is fixed in the upcoming version 2.0.4.
Attachments
sdl_drag.zip
(1.63 KiB) Downloaded 88 times
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: post suggestions here

Post by Norbert »

David wrote:I already wrote how to reproduce it in the older versions: [...]
Yes, I didn't understand what you wrote. It says the window should be inactive and then you need to click and drag it. In other words, you're dragging an active window. To me that sounded like the problem is either related to dragging an active window, or activating an inactive window. Therefore I don't understand why you combined all of those things in your explanation. I still don't, to be honest. I also don't understand your test program. When I make the window inactive, it shows event 13. When I make it active, it shows event 12, then when I drag it event 4. Maybe it's a Windows-only thing.
David wrote:EDIT: It seems that this is fixed in the upcoming version 2.0.4.
All right, nice.
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: post suggestions here

Post by David »

The window is activated by the same mousebutton-press that starts the dragging.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: post suggestions here

Post by Norbert »

Some of you may remember that I had plans to stop apoplexy development with version 2.6b.

All versions since (v2.7, v3.0 RC1, v3.0 RC2, v3.0 RC3 and v3.0) were focused on adding PoP1 for SNES support.
(Yes, even most changes of v2.7 were preparations for that.)
It was just too tempting not to add SNES support, so I jumped back in.
Those of you who understand how apoplexy works, with its pre-made images, will understand what an incredible amount of work it was just to create the - literally - thousands of images to display just the original levels of all ten environment types. (See, for example, the 576 images in the png/blue/ directory, with their green outlines, icons and texts.)
It was very interesting to add SNES support, to learn more about the original SNES game, and to once again be impressed by David's skills (when reading his documentation and, occasionally, code).

Anyway, as it also says in the docs/ChangeLog.txt file in the most recent package of apoplexy, version 3.0 really is the final version of apoplexy that I'll be working on. I may work on other PoP related code, just not apoplexy.

This doesn't necessarily mean that version 3.0 is the last release of apoplexy, even though it's fairly complete by now.
It's possible that one or more people will modify the application in the future.
The application is free software, so people are free to redistribute and modify it without my permission.
If there are ever any questions about its code or functionality, I am of course willing to explain things - in detail if necessary.

I won't be putting it on a repository hosting service (like GitHub) myself.
Other people are free to do so if they want to.
salvadorc17
Calif
Calif
Posts: 553
Joined: August 27th, 2011, 2:04 am

Re: post suggestions here

Post by salvadorc17 »

Dont want tu bump, but as suggestion want to ask if will be possible to add support to Prince of persia 2 snes levels, is really big different from dos version??
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: post suggestions here

Post by Norbert »

salvadorc17 wrote:Dont want tu bump, but as suggestion want to ask if will be possible to add support to Prince of persia 2 snes levels, is really big different from dos version??
In response to your earlier question about it, David wrote here:
David wrote:I don't know of such an editor.
In 2011 I figured out things about the level format:
Levels have the same format as in the DOS version. (Although they are compressed.)
But the problem is that the level graphics are stored as pre-made graphics for each room, and editing those would be very hard.
Unless I misinterpret "pre-made graphics for each room", I don't think such graphics would be a problem for an editor such as apoplexy that preloads images instead of retrieving them from the ROM. And if the level format is similar, the PoP2 for DOS editing capabilities of apoplexy could be molded into editing the PoP2 for SNES ROM instead. (Even though the level editor itself will keep displaying DOS tiles.) I personally won't take up that challenge though. As you can read in the post above yours, "version 3.0 really is the final version of apoplexy that I'll be working on. I may work on other PoP related code, just not apoplexy." Nor will I create a stand-alone editor for it, for this particular port that would simply be too much work.

[Edit: Oh, another option would be for someone to create a PoP2 for DOS to PoP2 for SNES (level) converter, something that would move the level information from the DOS' PRINCE.DAT into the SNES' SMC file. Also something I personally won't be working on.]
salvadorc17
Calif
Calif
Posts: 553
Joined: August 27th, 2011, 2:04 am

Re: post suggestions here

Post by salvadorc17 »

Ok, do you know something about snes level format, maybe i can do the converter/editor myself, if can found or parse the levels from the prince of persia 2 snes...
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: post suggestions here

Post by David »

Norbert wrote: Unless I misinterpret "pre-made graphics for each room", I don't think such graphics would be a problem for an editor such as apoplexy that preloads images instead of retrieving them from the ROM.
I think you misinterpreted it...

The ROM contains an image for each room in the game. (Actually two images for the back and front layers.)
These images contain everything in the room that does not move.

If you want to edit the level, you will have to edit the room graphics accordingly.
(Unless maybe you only want to edit the few moving things, like: guards, potions, loose floors.)

Think of it as if each room had custom graphics. Like level 1, 2 or 14 of the DOS version.
Except that in PoP2 SNES, *all* levels are like this.

I still have my decompressing/extracting programs (from 2011), so I can post them if someone wants them.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: post suggestions here

Post by Norbert »

David wrote:Think of it as if each room had custom graphics. Like level 1, 2 or 14 of the DOS version.
Except that in PoP2 SNES, *all* levels are like this.
Ah, I see.
Post Reply