Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HD] Implementing multi-pixel stars from the Mac version #67

Open
myself600 opened this issue May 8, 2016 · 4 comments
Open

[HD] Implementing multi-pixel stars from the Mac version #67

myself600 opened this issue May 8, 2016 · 4 comments

Comments

@myself600
Copy link

myself600 commented May 8, 2016

Note: I'm gonna mark non-SDLPoP (i.e. PoP remaster) related issues as "HD". LMK if you feel that this isn't appropriate and I'll figure out some alternative.

Until my graphic tablet arrives (so I can begin redrawing the character sprites), I would like to continue my work by mimicking the look of the stars found in the Macintosh version. The correct approach would be to disassemble the Mac executable to see how're they drawn to the screen, but because of my lack of skills, I've opted for recording the animation frame-by-frame so I can see it in slow-motion (see the attached archive). For the purpose, I've created a reference picture (similar to what's found in Mac sprites) to have some idea how this should look like:

pophd_stars
Tina LaDeau staring at those pesky stars.

P.S.: I've noticed that you're using/targeting Windows XP so I removed all the symlinks from the provided archive as (AFAIK) Windows XP doesn't support them. This means that the application is now standalone.

📎 macpop1_stars.mkv.zip (press E in VLC for frame-stepping)

@NagyD
Copy link
Owner

NagyD commented May 11, 2016

Until my graphic tablet arrives (so I can begin redrawing the character sprites),

Wait, you bought one just for that?

I would like to continue my work by mimicking the look of the stars found in the Macintosh version.

It seems to me that the stars are already drawn on the image, and they are animated by changing the palette.

The correct approach would be to disassemble the Mac executable to see how're they drawn to the screen,

I already had such a disassembly lying around, and I think I found the relevant part in it.
I tried to attach it but GitHub does not seem to like the ZIP.
It says it likes only "PNG, GIF, JPG, DOCX, PPTX, XLSX, TXT, PDF, or ZIP".

I removed all the symlinks from the provided archive as (AFAIK) Windows XP doesn't support them

It does seem to support Directory Symbolic Link and Directory Junction.
I can create those manually using 7-zip (outside archives).
But only Directory Junctions work correctly.
Directory Symbolic Links appear the same as Directory Junctions, but I can't open them.
File Symbolic links can also be created, but I can't open them either.

@myself600
Copy link
Author

myself600 commented May 15, 2016

Sorry to keep you waiting. (had some very bad days lately)

Wait, you bought one just for that?

Basically, yes (this one). I've experimented with other ways to do that (scaling with pixel-art targeted filters, decreasing the color depth, recoloring the Mac sprites using the DOS palette, extrapolating the background from the reference video, placing a grid above a frame and manually repainting it, etc.), but none of them worked out. Also, not all reference frames are available so I'll likely have to complement them by hand, etc.

It seems to me that the stars are already drawn on the image, and they are animated by changing the palette.

I added those stars into the sprite. I also included a script to merge back changes from SDLPoP (no Windows support yet). Broken down, here's how I imagine this:

  1. Replace the stars color palette with the Macintosh one (#999 for color_8_darkgrey, #CCC for color_7_grey, and #FAFAFA for color_15_white). The very same problem with integrer limitation (i.e. overflow) from Doubling the resolution for modding purposes #61 applies here.
  2. Only display one multi-pixel star at the same time, for a duration of one frame, with multiple (how many?) frames showing one-pixel stars in-between, progressing from top-to-bottom (mimicking the behaviour of the Mac version).*

* I'm planning to extend this once (if) I complete the tech demo (intro remake) by actually animating the stars (adding more frames for the multi-pixel ones).

I already had such a disassembly lying around, and I think I found the relevant part in it.
I tried to attach it but GitHub does not seem to like the ZIP.
It says it likes only "PNG, GIF, JPG, DOCX, PPTX, XLSX, TXT, PDF, or ZIP".

I tried this and uploading works as long as the filename ends with ".zip". Maybe you've tried to upload a ".7z" file instead?

Anyway, that would only be useful for reference purposes as I'm currently unable to read/understand assembly code (nor C, but I'm planning to learn them both at some point, beginning with C/C++).

It does seem to support Directory Symbolic Link and Directory Junction.
I can create those manually using 7-zip (outside archives).
But only Directory Junctions work correctly.
Directory Symbolic Links appear the same as Directory Junctions, but I can't open them.
File Symbolic links can also be created, but I can't open them either.

Wikipedia mentions something about this, but I don't understand that since I don't use Windows anymore (have a W7Pro in dualboot though, and can also make some tests using VirtualBox if necessary). Rather, what I meant to say was that I've tried to open the symlinks created on GNU/Linux on a Windows XP machine before, and it didn't worked. However, on Windows 7, it seemed to work just fine.

Edit: The colors are in hexadecimal format.

@myself600
Copy link
Author

  1. […] progressing from top-to-bottom

Or maybe this should be done in random order? (like the stars in the DOS version)

@jmfergeau
Copy link

While we're at it, i'd love to see a version using the enhanced sprites used on Mac OS classic back then (a style close to PoP 2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants