![]() |
![]() |
#3001 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
|
![]() |
![]() |
#3002 |
Registered User
Join Date: Oct 2020
Location: Bicester
Posts: 2,035
|
![]() ![]() ![]() ![]() |
![]() |
![]() |
#3003 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
Going back to the reason for doing it, what I propose is that we render game messages in something like a vertically scrolling console overlay. Not actually per pixel scrolling (though that could be done) but just losing the upper line and everything moving up one on a fixed interval.
What we probably need is a function that can take a string of arbitrary character length and break it across multiple lines, respecting some target width and word boundary. So I may end up needing some function whose only job is that - analysing the string and working where to "cut" it over to a new line. That shouldn't be difficult now though. |
![]() |
![]() |
#3004 | |
Registered User
Join Date: Oct 2020
Location: Bicester
Posts: 2,035
|
Quote:
|
|
![]() |
![]() |
#3005 | |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,232
|
Quote:
Simple greedy approach should work fine for that. Moving into overthinking territory it might make sense for such split lines to logically behave like one in the queue so they exit together (maybe a flag for each indicating that it's logically connected to the previous one - such lines can be auto-popped if they're first in queue). |
|
![]() |
![]() |
#3006 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
I say KISS for now and refine it later. Job 1 is to implement the previously described FIFO and display mechanism. Develop it separately from what exists now and hook in the injection of new messages once it's good.
|
![]() |
![]() |
#3007 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
I've not had a chance to work on it, but I am thinking that a sensible approach to the in game messages might be to reprocess them on level loading. Each message today is basically fixed length and space padded. There's an absolute maximum of 160 chars per message.
Converting these to basic strings by stripping out any the excess whitespace can only leave a text string that is either the same length or shorter, so they may as well be rewritten in-line. For display purposes, these strings can be parsed into an array of one or more string pointers and character lengths by a function designed to wrap the text proportionally to a given maximum width and our message queue for display only requires those. When in RTG 2/3 mode, we should have a separate chunky buffer (like the border glyphs) to render the same text into and copy that to a non-overlapping part of the visible display, since drawing byte by byte on a locked bitmap is probably going to be slower. |
![]() |
![]() |
#3008 |
Registered User
Join Date: Oct 2020
Location: Bicester
Posts: 2,035
|
are the collectable and option texts handled the same way? or is it only applicable to the 'hint' (for want of a better word) text?
|
![]() |
![]() |
#3009 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
|
![]() |
![]() |
#3010 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
I like the idea of adding a quake style centre screen print, but it's not immediately obvious what it should be used for.
|
![]() |
![]() |
#3011 |
Registered User
Join Date: Oct 2020
Location: Bicester
Posts: 2,035
|
|
![]() |
![]() |
#3012 |
Registered User
Join Date: Oct 2020
Location: Bicester
Posts: 2,035
|
|
![]() |
![]() |
#3013 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
|
![]() |
![]() |
#3014 |
Registered User
Join Date: Oct 2020
Location: Bicester
Posts: 2,035
|
I don't know, but I think the 'hint/story line messages' should probably take centre stage (and probably 'pause' so its obvious the game has not frozen)
and all the rest should go through the top console style output so you actually get to read the 'important' message and keep your eye on the ball. |
![]() |
![]() |
#3015 |
Registered User
Join Date: Oct 2020
Location: Bicester
Posts: 2,035
|
@Karlos
I pulled and built your 'feature/text rendering' branch but nothing seems different. Is there a build option to enable the text rendering? I could just be being thick, its been a while and using AMOS Pro may have rotted my brain a bit ![]() |
![]() |
![]() |
#3016 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
Quote:
If you look in the Vid_Present() call there should be some commented out example calls: https://github.com/0xABADCAFE/alienb.../screen.c#L391 The rendering calls just aren't wired up to anything yet. |
|
![]() |
![]() |
#3017 |
Registered User
Join Date: Oct 2020
Location: Bicester
Posts: 2,035
|
@Karlos
Thanks ![]() I thought I had broken my linux vm again. makes sense now ![]() |
![]() |
![]() |
#3018 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
Quote:
I plan to add an assembler callable hook that packs the params into a smaller number of registers for simplicity but for now, if you want to draw text with them, it's C only. I've already sketched out how the queue system will work, i just need to actually do it ![]() |
|
![]() |
![]() |
#3019 |
Registered User
Join Date: May 2020
Location: Figueira da Foz
Posts: 430
|
A non related question, would be possible to use the tkg assets on doom? That way project Osiris or alike could be made closer to the real thing
|
![]() |
![]() |
#3020 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
There's no reason someone couldn't make a gzdoom total conversion. I don't see it being much more complicated than Osiris was. You might need to reuse some of the graphics from the 2MB version, e.g.vanilla bitmap versions of all the lightsourced sprites. Either that or create something that can recreate them from the HQN data which contains the colourmap and four lightsource variations.
Osiris is an excellent example of what a very dedicated person/group can achieve. |
![]() |
Currently Active Users Viewing This Thread: 2 (0 members and 2 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Alien Breed 3D II The Killing Grounds RTG patch | Angus | Retrogaming General Discussion | 63 | 14 December 2022 15:20 |
Alien Breed & Alien Breed '92: SE - delay when picking up items / opening doors | Ian | support.WinUAE | 16 | 23 December 2016 15:50 |
Alien Breed 3D II : The Killing Grounds code booklet | alexh | support.Games | 19 | 10 October 2012 22:17 |
Alien Breed 3D 2 - The Killing Grounds | Ironclaw | support.Games | 12 | 13 September 2005 13:07 |
HD Version of Alien Breed I ? | Kintaro | request.Old Rare Games | 20 | 31 July 2003 10:48 |
|
|