retrocomputacion / retrobbs

A multimedia BBS software written in Python for Turbo56K enabled terminals running on Commodore 64 computers
GNU General Public License v3.0
37 stars 4 forks source link

Feature: Intro section in the config.ini #17

Open chriskewl opened 1 year ago

chriskewl commented 1 year ago

Currently hardcoded you have 01_bbsmap.seq, 02_bbsintroaudio-eng11K8b.wav and 03_retrobbs.art, I assume to show off capabilities, which it does well. Let's break these out into an intro section in the config.ini.

Intros happen after login but before the main menu.

You can have something like this:

[INTROS]
entries = 3
intro1 = ${PATHS:intros}welcome.mp3 ;mp3 or wav
intro2 = ${PATHS:intros}retrobbs.art; art or koala
intro3 = ${PATHS:intros}bbsmap.seq; not sure what else would be allowed

This would allow for complete customization on what happens a user logs in. Everything asked for is determined by the filetype of the media.

I could have it do an SEQ file first then some Koala art and finally a small MP3. It would be pretty nifty to have it fully customizable.

chriskewl commented 1 year ago

Intros work a bit differently, it's technically a slideshow that runs automatically before the BBS menu starts.

Still doesn't mean we can't expose it so people know immediately.

[INTROS]
entries = 1
intro1func = SLIDESHOW
intro1path = ${PATHS:bbsfiles}intro/

Or even go the whole route:

[INTROS]
entries = 3
intro1func = SLIDESHOW
intro1path = ${PATHS:bbsfiles}intro/

intro2func = SHOWPIC
intro2path = ${PATHS:intros}retrobbs.art; art or koala

intro3func = TEXT
intro3path = ${PATHS:intros}bbsmap.seq; not sure what else would be allowed

I still think the audio welcome.mp3 should be played after the checkmarks. It just makes more sense there.

chriskewl commented 1 year ago

We can do the same for OUTROs too, the things you see before you disconnect. I personally would just have an SEQ file but anything's possible.

[OUTROS]
entries = 1
outro1func = TEXT
outro1path = ${PATHS:bbsfiles}goodbye.seq

This way I can get one last chance at wowing the user as they depart.