Win32 Remake of the Scoopex cracktro on Amiga
EDIT:
some people have reported that the scroller does not appear on some machines. I have fixed some stuff and replaced the archive here. I would appreciate any bug report.
EDIT2:
finally fixed this prod. scroller should work now on all configs
Damned fine job Stormbringer.
I just downloaded this from, retro-remakes.net
I hope that this batch of remakes gets more people posting over there :)
Lots of new members are joining, I think that the member list is well over 150 now.
Scrolly works nice.
Indeed a fine remake again. Thanks stormbringer!
Very nice, works fine here.
Hmm, that Battle Squadron song rocks!
Probably the first song I've ever heard on my Amiga 500 8)
How do you make those sine scrollers, just looking sine movement an try to recode or you can read assembler code directly from original ?
@rbz: I can do both ;) ... seriously, all these are very simple. The Amiga can position slices of bitmaps using the Blitter and lines can be shifted using the Copper... All the spin/cork effects are achieved by using precalculated animations for a character. Maybe the coder that used these technique more than others, was Ted of DefJam. Although Slayer/Scoopex and some other did use similar techniques.
For this one, the technique is the following :
1) have a regular scroller in a buffer (on the Amiga you can do that with the Blitter if the charset is large like 16x16 or the MC68000 for an 8x8 charset). This would be buffer A
2) Take buffer A and flip it slice by slice (according to the x coordinate and a table of flipping values, one per slice). The flipping value could be linear but I use a sine table here with an amplitude of half the height of the charset. The sine value is also reused as a mirrored value according to the x axis at half the height of the char. This gives 2 bounds that I use as YStart and YStop. I use a simple linear texture mapping technique (linear interpolation) to get a v value (0..1) that I remap in the char height range to pick the right char pixel. Shifting the values in the table give the fake x axis rotation per slice.... The result goes in buffer B
3) Take buffer B and position each slice accoding to a sine table. That's what happens in the Vision Factory intro (released just before this one). Here I simply added an offset based on a sine table for the x coordinate before plotting the pixel. That's it.
On the Amiga, the process would be somewhat simpler but you would need to use a precalculated animation of characters...
I hope that helps a bit... If I'm not clear enough, do not hesitate to ask for details