English Amiga Board


Go Back   English Amiga Board > Other Projects > project.Amiga Game Factory

 
 
Thread Tools
Old 04 June 2023, 22:39   #2941
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
Quote:
Originally Posted by UltraNarwhal View Post
Mostly fixes sprite issue, I noticed some being drawn where they didn't exist. The other issue looks like things aren't being fully disabled when off screen (timers still run).
I made AOTD example to easily see glitches, just choose the Alternative menu option.
Eeep. I had completely bungled the ASM for recycling sprites, it should be good now.

(Since this function was also used by the new slicing render mode, it's possible that slicing was broken for that reason)
earok is offline  
Old 05 June 2023, 01:07   #2942
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539


Latest experimental:

Amiga:
* Fix for issue reported by @msmalik681, sliced images broken when off the left or right side

Mega Drive:
* Elements work on Mega Drive Parallax panels (which is to say, you can make your UI part of the parallax, like the screenshot).
earok is offline  
Old 06 June 2023, 03:20   #2943
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
https://github.com/earok/pt_2_mml

I've published the initial source for my Protracker to MML (MDSDRV) converter under MIT licence, so that existing Scorpion projects can have their Amiga music converted for Mega Drive, there's also a prebuilt windows EXE under the releases tab.

This is only tested on JMD's music for Amigo the Fox, there's also a large number of protracker effects that aren't supported yet (also bear in mind only three channels can be converted, four channel MODs will need to sacrifice one channel).

Do feel free to send through MODs that don't convert well or at all and I'll see if I can do anything to improve on it. I'm also more than happy to receive pull requests that improve on the conversion process.
earok is offline  
Old 06 June 2023, 11:17   #2944
acidbottle
Registered User
 
acidbottle's Avatar
 
Join Date: Jul 2018
Location: Scotland
Posts: 821
That is quite an amazing tool earok! Not had chance to play around with it yet but nice one all the same
acidbottle is offline  
Old 06 June 2023, 11:39   #2945
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
Cheers! It's probably going to be quite broken until there's better support for a wider range of Pro Tracker effects, but I'm fairly happy with how it's going so far.

Did another update. Windows exe in the release section.

https://github.com/earok/pt_2_mml

Support for E6* (repeat) commands
Support for EA* and EB* (instant volume up/down) commands
Support for 9** (sample offset) commands
Improved handling of repeated sounds
earok is offline  
Old 06 June 2023, 15:11   #2946
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
Latest experimental fixes:

Issue reported by Mixel where setting x-speed to zero wouldn't work on CPU platform actors.
Issue reported by Master Linkuei where font loading could sometimes glitch on Mega Drive (all fonts and panels are now DMA loaded in the VBlank)
earok is offline  
Old 06 June 2023, 19:46   #2947
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,519
Quote:
Originally Posted by earok View Post
Cheers! It's probably going to be quite broken until there's better support for a wider range of Pro Tracker effects, but I'm fairly happy with how it's going so far.

Did another update. Windows exe in the release section.

https://github.com/earok/pt_2_mml

Support for E6* (repeat) commands
Support for EA* and EB* (instant volume up/down) commands
Support for 9** (sample offset) commands
Improved handling of repeated sounds
Ok, THAT now explains why the Rastan crescendo was shorter for BasementApe, it was not supported -_-
saimon69 is offline  
Old 07 June 2023, 03:26   #2948
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
@saimon69 - that change log was for the Protracker->MML converter, not Scorpion Engine itself.

I take it the Rastan crescendo issue was when it was being played in the Rastan Amiga game?

---

Posted another update to the Protracker->MML converter

https://github.com/earok/pt_2_mml

* Support for 3 channel mods with "3CHN" header
* Support for E9 "Repeat every X tick" effect
* Rather than repeating endlessly, Macros are cancelled after one row (so effects don't run endlessly if they're not interrupted by other effects)
earok is offline  
Old 07 June 2023, 12:36   #2949
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
Latest fixes to experimental:

AMIGA:
Fixed issue reported by Mixel where sprite parallax wasn't behaving well with actor sprites.

MEGA DRIVE:
Tweaks to panel loading, more of it is done with the DMA on the vblank. Hopefully this hasn't broken anything.

UNIVERSAL:
Fixed issue reported by Mixel where player vs actor collisions weren't triggering on a platform if the player wasn't standing on top of the platform.

Edit: Also an update to the protracker to MML tool

https://github.com/earok/pt_2_mml

* Support for mods that don't use set position effects to loop back to the start (songs are still set to loop infinitely by default).
* Fix for issue where samples that are either unnamed, or have the same name, could conflict.

Edit 2:

Latest update for the protracker to mml tool increases support from 3 octaves to 12 octaves (!) by using the period table in HxCModPlayer, which should more broadly support mods not written in ProTracker itself.

Last edited by earok; 09 June 2023 at 01:17.
earok is offline  
Old 10 June 2023, 01:27   #2950
skyzoo73
Registered User
 
skyzoo73's Avatar
 
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
I would like to be able to do one thing: I have the screen occupied by a panel that goes halfway up the screen and in the lower half a map with animated actors. I would like to print text one character at a time, but using the SAY command within a talkpad stops everything until a key is pressed. Using the PRINT command instead displays the text all at once. So I assume that commands like <5> do not work using PRINT. Do you have any advice to help me implement this?
skyzoo73 is offline  
Old 10 June 2023, 11:57   #2951
flibble42
Registered User
 
flibble42's Avatar
 
Join Date: Apr 2006
Location: UK
Age: 51
Posts: 282
3 Month thought DUMP

Well here it is, 3 months of unedited thoughts, take as you will.


13/04/2023

Requests
--------

Blocks have an x-depth to coincide with FG and BG layers. Shinobi has overlapping blocks when you jump from front to back.

Change x-res as needed. Again Shinobi, the scrolling sections may need to be narrower than the arcade, but the bonus round can be full width.

Looking into Space Invaders, need the sprite cap lifted. It's 1 bpl so perfomance seems fine, just not enough aliens.

Invaders again, really would be nice to be able to use the copper rainbow to simulate the colours in the game. Any chance we can change the affected colour index PLEASE.

Manual control of the double buffer system. IE Allow complete screen redraw in the background before switching. Like AMOS's Autoback feature.

Maybe change the alignment grid to red and grey or something. Invaders again, one of the bullets is pure white and can not be seen on the grid.

Use a variable in the seed for the roll dice function.

Why is there not a Tile_Type, Tile_x and Tile_y. I was going to try to write a scroller that didn't use repeated
sections to allow the screen flip.

A modified version of the DrawClipBottom funtion that splits the map. Take a look at Shinobi (the helicopter boss).
That object is way to big for a BOB and to many colours for a HW sprite. Having it as a map element makes it somewhat
do-able.

Ability to turn off BG/FG map layers on the fly. For instance flying into a tunnel.

Ability to automatically create blocks from a tileset, similar to when creating anims.

A simple one this time, INC and DEC instructions to add and subtract 1 from any variable, saves the whole
variable=variable+1 hassle.

This is not really a request as such, more "I miss" a simple For Next loop.

Ability to move Camera without spawning a player etc, using controls just to look around level.

Any chance of getting a PNG of the tiles that are created when merged down by Scorpion?

Set a loop point in a module (if it doesn't have one).


Bugs
----


Bug in 1 bpl rendering, GFX flicker horribly. Move to 2 bpl and things are ok.

Don't know if bug, projectile and TAG don't seem to work. Have to select a specific actor type instead.

Does 256 colour mode not work correctly? Not good for a final project but i would like to use it until i have a unified palette.

Questions
---------

Does the copper rainbow affect HW sprites? I would like to use it in OutRun 2D.
flibble42 is offline  
Old 11 June 2023, 08:46   #2952
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
@skyzoo Apologies, I missed your message.

At the moment, you'd have to do something like

PRINT H
Yield
PRINT HE
Yield
PRINT HEL
Yield
PRINT HELL
Yield
PRINT HELLO

I've made a note to look at making it so that you can tell it to print part of a string rather than needing to do the thing above.

---

@flibble42 that's a lot of questions! Regarding bugs, I'd need to see examples where things don't work as expected. 256 color mode might benefit from fetch mode 3.

> Does the copper rainbow affect HW sprites? I would like to use it in OutRun 2D.

At the moment, no, but at some stage I intend to add support for the ability to set any color in a rainbow.

> Blocks have an x-depth to coincide with FG and BG layers. Shinobi has overlapping blocks when you jump from front to back.

That can be a maybe.

> Change x-res as needed.

Might be possible, added it to the long term list.

> Looking into Space Invaders, need the sprite cap lifted. It's 1 bpl so perfomance seems fine, just not enough aliens.

That's also a maybe. I'd probably look at using blocks to represent the aliens in that case, similar to how msmalik was looking at using blocks for the street fighter characters.

> Invaders again, really would be nice to be able to use the copper rainbow to simulate the colours in the game. Any chance we can change the affected colour index PLEASE.

As above, that should be done in future.

> Manual control of the double buffer system. IE Allow complete screen redraw in the background before switching. Like AMOS's Autoback feature.

I'd need an example of the use case.

> Maybe change the alignment grid to red and grey or something. Invaders again, one of the bullets is pure white and can not be seen on the grid.

I guess that's a maybe but, pretty much any color used is going to conflict with someone's game? You can also turn it off.

> Use a variable in the seed for the roll dice function.

I'm not totally sure what the use case is but you can change the Seed1-Seed4 values at any time if you need a predicable set of dice rolls.

> A modified version of the DrawClipBottom funtion that splits the map.

I don't see how that could work. A big boss like that I'd approach using the technique in the big ship demo, or make it so the boss is effectively a static part of the level like in the bullet hell demo.

> Ability to turn off BG/FG map layers on the fly. For instance flying into a tunnel.

Not really sure how I could do that either, though you maybe fade out the colors used for the tiles?

> Ability to automatically create blocks from a tileset, similar to when creating anims.

Might be doable.

> A simple one this time, INC and DEC instructions to add and subtract 1 from any variable, saves the whole
variable=variable+1 hassle.

Might be doable, though I've been trying to simplify and reduce the instruction set rather than overload it with even more.

> This is not really a request as such, more "I miss" a simple For Next loop.

For loop is on the future list

> Ability to move Camera without spawning a player etc, using controls just to look around level.

You can move camera_x and camera_y variables in codeblocks without a player

> Any chance of getting a PNG of the tiles that are created when merged down by Scorpion?

Probably going to be too time consuming. If you did a Mega Drive build, *most* debuggers allow you to see the entirety of video memory which might give some indication how it's all packed.

> Set a loop point in a module (if it doesn't have one).

I couldn't justify spending time writing a MOD editor when there's excellent options like OpenMPT out there.

---

Latest experimental:

Amiga:
Slight tweaks for sliced mode

Mega Drive:
Fixed bug where blocks would inadvertently be loaded twice into VRAM (as an aside, block patterns are now packed in sprite order. So sprites that are visually the same image as blocks, and aren't streamed, won't be added to memory a second time)
Fixed bugs reported by @_fabdigital_ where memory wouldn't be completely cleared on startup (resulting in crashes on real hardware or emulators with random memory on startup, and resulting in some audio tracks not playing back correctly)

Universal:
Some automated fixes relating to panel paths, which should make it more painless to manage multiple versions of panels for different targets in the platform_assets folders (OCS/AGA/Mega Drive), hopefully this hasn't broken anything but taking a backup wouldn't hurt.
Fixed issue reported by @msmalik681 where changing the delay or other properties on animation frames (excluding the first frame) wouldn't work.
Minor tweaks to PNG processing.
earok is offline  
Old 11 June 2023, 22:23   #2953
skyzoo73
Registered User
 
skyzoo73's Avatar
 
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
Quote:

At the moment, you'd have to do something like

PRINT H
Yield
PRINT HE
Yield
PRINT HEL
Yield
PRINT HELL
Yield
PRINT HELLO

I've made a note to look at making it so that you can tell it to print part of a string rather than needing to do the thing above.

As I had imagined, it was the only method to do so. Thank you anyway.
skyzoo73 is offline  
Old 12 June 2023, 00:07   #2954
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
@skyzoo73 no worries. I've got a very long todo list but I should be able to implement something to solve that in the next week or two.

---

Latest experimental:

Amiga:
* Fixed bug reported by @Mixel where priority of background parallax sprites was't being set immediately.
* Fixed bug reported by @basementApe where subpixels on AGA sprites weren't correctly aligned.

Universal:
* Adjusted actor tab so that long animation names are fully visible
* Speeds on actor tab are rounded to two decimal places
* Restored "none" move type, which uses fewer cpu cycles than "cpu" but never moves (previously cpu type was set to this automatically if no speed or acceleration was defined). Resolves bug reported by @basementApe related to attempting to set the speed on an actor with no speed.
earok is offline  
Old 12 June 2023, 13:45   #2955
UltraNarwhal
Registered User
 
UltraNarwhal's Avatar
 
Join Date: Apr 2019
Location: UK
Posts: 300
Quote:
Originally Posted by earok View Post
Latest experimental:

Amiga:
* Fixed bug reported by @Mixel where priority of background parallax sprites was't being set immediately.
* Fixed bug reported by @basementApe where subpixels on AGA sprites weren't correctly aligned.

Universal:
* Adjusted actor tab so that long animation names are fully visible
* Speeds on actor tab are rounded to two decimal places
* Restored "none" move type, which uses fewer cpu cycles than "cpu" but never moves (previously cpu type was set to this automatically if no speed or acceleration was defined). Resolves bug reported by @basementApe related to attempting to set the speed on an actor with no speed.

Mega Drive
*Printing text to panels doesn't appear to fully clear itself with new text, so a shorter sentence shows bits of previous text.
* Block corruption. On MD_Duck example, start game you'll see '?' in speech bubble is corrupt.
UltraNarwhal is offline  
Old 12 June 2023, 16:47   #2956
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,519
So are you telling me there are no string manipulation instructions?
saimon69 is offline  
Old 13 June 2023, 04:37   #2957
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
@saimon69 very few. Actually it did occur to me that skyzoo's issue could be approached using the string variable functions (the Data category can be used to change an individual character in a string), but even that might be a bit clunky.

@Ultranarwhall I'll need to take a look at that. It's possible the block corruption could have been fixed with the latest update, but I haven't tested just yet.

---

Latest experimental attempts to solve reported bugs reported by several users with palettes, particularly with sprites missing parts.

There's also a change sponsored by BitBeamCannon, indexed pngs in animations use the indexes of the png rather than doing a closest color lookup, this should make it easier to maintain animation images that require pixels to have certain indexes regardless of what the source palette is like.

There is one slight quirk in regards to Amiga bobs (but not Amiga or Mega Drive sprites). 16 color Amiga bobs are actually 16 colors, not 15+transparent, so using index 0 on an Amiga bob will result in that pixel being opaque. Use an index higher than the number of colors for the transparency mask. (Which is to say, for a 16 color image, use the 17th color or higher for transparency)

I think I'll call a feature freeze and focus on bug fixes for the next few days, 2023.2 should be public on the weekend.
earok is offline  
Old 14 June 2023, 18:22   #2958
flibble42
Registered User
 
flibble42's Avatar
 
Join Date: Apr 2006
Location: UK
Age: 51
Posts: 282
So all this time i have been making sure to set index 0 as transparent it has been wrong?
flibble42 is offline  
Old 15 June 2023, 08:25   #2959
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
@flibble42 index 0 means color 0 on the palette for bobs. If you're using indexed pngs, use an index higher than the number of colors to indicate transparency.

---

Latest experimental:

Amiga:
* Rewrote every blitter routine to have more optimal ASM, with sliced mode in particular having more code converted from Blitz to ASM.

Mega Drive:
* Fixed bug reported by UltraNarwhal where opaque pixels on blocks would be remapped to #0 (transparent) in some cases.
* Fixed bug reported by UltraNarwhal where the print function wasn't clearing left overs from previous print calls.

Universal:
* New "Block Don't Stop" collision type which is identical to the "Block" type, excluding that it no longer stops the player momentum. This may be useful on platformers where a player could collide with the side of a platform while still moving upwards.
* Setting number of frames for push to 0 results in a cancellation of push (not well tested).
* Print function is delayed while panel loads are in progress. (Maybe only a Mega Drive specific bug but the fix is applied universally)

---

Edit: Some updates for the protracker to MML converter as well:

https://github.com/earok/pt_2_mml

* Latest update for the protracker to mml tool increases support from 3 octaves to 12 octaves (!) by using the period table in HxCModPlayer, which should more broadly support mods not written in ProTracker itself (OpenMPT supports 6 octaves I think)

* Added option to adjust timings to NTSC.

This isn't guaranteed to work perfectly in every case. A song with a speed of 5 (5 ticks per row) should correctly scale to 6, but a song with a speed of 6 will scale to 7 instead of 7.2 and so it won't be the exact playback rate of the original song.

Last edited by earok; 15 June 2023 at 08:31.
earok is offline  
Old 17 June 2023, 13:10   #2960
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
Latest experimental:

Amiga:
- Fixed bug reported by @basementApe where sprites still weren't correctly aligned at superhighres settings.

Mega Drive:
- Mega Drive is no longer labelled early access alpha.
- Some minor fixes to parallax overlay (in relation to high priority tiles)

Universal:
- ASM improvements for both Amiga and Mega Drive
- Events display the name of the attached codeblock ( reminded of issue by @Acidbottle )
earok is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
2D Platformer Engine carrion Coders. Blitz Basic 27 06 June 2019 14:35
New Chaos Engine!! arpz Retrogaming General Discussion 75 31 August 2013 22:20
F/S Warp engine 32 mb tabuhuso MarketPlace 0 24 February 2012 15:13
PC Engine CD TodaysForgotten Retrogaming General Discussion 47 13 May 2009 23:57
Scorpion (100% working) andreas request.Old Rare Games 13 01 August 2003 08:48

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 21:38.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.26681 seconds with 16 queries