Fabrizio-Caruso / CROSS-LIB

CROSS LIB - A universal 8-bit library and some games built with it
309 stars 30 forks source link

corrections/clarifications in documentation #290

Closed TechCowboy closed 1 year ago

TechCowboy commented 1 year ago

https://github.com/Fabrizio-Caruso/CROSS-LIB/blob/master/docs/EnglishArticle.md

lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Release: 22.04 Codename: jammy

Section:

"xl chase gcc", which will build the game Chase in turn-based mode for the native console. should be "./xl chase gcc"

However it fails to build image

Extra character at the end of line 171 seems to be the issue

image

but still fails

image

./xl build chase
./xl chase Both of these DO work

Fabrizio-Caruso commented 1 year ago

Hi! Thanks for showing interest in my project. xl chase is the same as ./xl chase, once the "." directory is in your path. I can add a note to clarify this.

For the extra character, you are right! I am going to fix it. I am mostly testing Cross-Lib under Windows/Cygwin because it is easier to find emulators for Windows. I need to run more tests under Linux proper.

TechCowboy commented 1 year ago

I guess I'll do the linux testing for you 😀

On Fri, 14 Jul 2023 at 17:51, Fabrizio Caruso @.***> wrote:

Hi! Thanks for showing interest in my project. xl chase is the same as ./xl chase, once the "." directory is in your path. I can add a note to clarify this.

For the extra character, you are right! I am going to fix it. I am mostly testing Cross-Lib under Windows/Cygwin because it is easier to find emulators for Windows. I need to run more tests under Linux proper.

— Reply to this email directly, view it on GitHub https://github.com/Fabrizio-Caruso/CROSS-LIB/issues/290#issuecomment-1636425285, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAVXFDHZ5B3VQDJXNFKAUN3XQGWN5ANCNFSM6AAAAAA2KWXY6I . You are receiving this because you authored the thread.Message ID: @.***>

Fabrizio-Caruso commented 1 year ago

Fixed. Please run "git pull" to get the latest version. I have been able to run "xl bomber z88dk_targets" under Ubuntu.

Thanks again for reporting this issue.

Be aware that I am actively developing Cross-Lib almost every day. So it can be half-broken one day and fixed the next day.

P.S.: The targets found in Makefile_common are a fraction of the possible ones. I will add all the others eventually. Most of them are currently "hidden" in src/games/chase/makefile.chase and currently they are not meant to be used.

Fabrizio-Caruso commented 1 year ago

@TechCowboy is it good for you now (after git pull) ?

Fabrizio-Caruso commented 1 year ago

@TechCowboy P.S.: Have you maned to add "." to the path.

This may be different on each operating system.

In my Ubuntu version I just had to add: PATH=$PATH:. in the .profile file in my home directory.

image

Under some systems it is already in the PATH environment variable.

TechCowboy commented 1 year ago

I've added . to my path and the example now comples if I use xl chase however, in the documentation under installation, it says use xl chase gcc which does not work.

image

Fabrizio-Caruso commented 1 year ago

@TechCowboy Thanks for seeing this.

I had changed a bit the names of the targets without updating the doc accordingly. I will fix the doc. Sorry for these problems...

(1) Default target is "ncurses", which is supposed to build the game/program for the host console (cygwin, linux bash, etc...) by using the default compiler (defined in native_compiler" variable in config.ini)+ ncurses. This builds a (sort of) "playable" native version of the game/program. So this target requires both a default (usually native) compiler (e.g., gcc) and ncurses. Example: xl bomber or equivalently xl bomber ncurses

(2) For testing purposes or turn-based versions of some games (the game code has to be aware of it, though), we can even build the games/programs with just the default compiler without the need of ncurses and by just using the ANSI C standard library for input/output, which has no real-time interactive input. This is now done with the "stdio" target and no longer with "gcc", because "gcc" makes no sense as we can choose any compiler in config.ini. As stdio has no support for immediate input, the game will be, at best, barely playable in turn-based mode. Most games won't be playable at all, because this can only work for games that are aware of this (e.g., chase) where the code invokes a refresh command to re-display the content of the screen like a slide-slow. This can be used to test if the games compile with a given compiler.

Example: xl chase stdio