another sonic homebrew for saturn ?

GO TO ADMIN PANEL > ADD-ONS AND INSTALL VERTIFORO SIDEBAR TO SEE FORUMS AND SIDEBAR

johannes

New Member
Joined
Oct 14, 2014
Messages
31
Points
8
Age
32
Location
Montpellier (France)
Website
jo-engine.org
Hi TrekkiesUnite118,

Neither :)

It's software rendered mode7 (software because there is no hardware instruction to do that on the Sega Saturn unlike the Super Nintendo).

You can move in any direction. but I disable rotation recently because it's useless.

Indeed, it's better and faster to use 3D rendering in this case.
 

johannes

New Member
Joined
Oct 14, 2014
Messages
31
Points
8
Age
32
Location
Montpellier (France)
Website
jo-engine.org
Hi,

I added PCM audio file support.
You can now play PCM file from CD.

To convert any audio file to PCM under Linux or Windows => http://ffmpeg.org

Just some restriction due to the Sega Saturn hardware:
  • Compatible Samplerate : 8000 to 44100 Hz (-ar option)
  • Compatible PCM format : s8 (-f option)
  • Compatible mode: 8/16 bit mono/stereo
Some command line:
  • ffmpeg -i A.WAV -f s8 -ar 44100 A.PCM
  • ffmpeg -i A.MP3 -f s8 -ac 1 -ar 8000 A.PCM
Now in Jo Engine:

jo_sound my_snd;
jo_audio_load_pcm("A.PCM", JoSoundMono16Bit, &my_snd);
...
jo_audio_play_sound(&my_snd, 0);

Bye :)
 
Last edited:

vbt

Staff member
Joined
Dec 16, 2001
Messages
5,193
Points
63
Age
42
great job ! just a question, how do you handle multi channels and random number of pcms to play ?
 

vbt

Staff member
Joined
Dec 16, 2001
Messages
5,193
Points
63
Age
42
The channel number is the second param of jo_audio_play_sound();
yes i saw that but each time i used multiple PCMs i had some problems with playback and some sfx were lost.
for instance on xrick i had to loop on channels to find which one is available, with hardcoded channel number it never worked or maybe just on emulators.
Code:
  if(slSndPCMNum(_Mono)>-1)
   for(i=1;i<NB_CHAN;i++)
   {
     if(!slPCMStat(&m_dat[i]))
     {
         slSndFlush() ;
         //slPCMOff(&m_dat[i]);
         PCM_SetLoop(pcm, cnt_loop);

         slPCMOn(&m_dat[i],sound->buf,sound->len);
       //if(sound->buf!=0x00232000)
         //slSndFlush() ;
         break;
     }     
   }
just for that, i have pushed xrick on github : https://github.com/vbt1/xrick
 

vbt

Staff member
Joined
Dec 16, 2001
Messages
5,193
Points
63
Age
42
New version updated with VBT audio fix.

I also added the possibility to change printf color and use multiple color at the same time :)
well done :) blop blop blop :)
 

vbt

Staff member
Joined
Dec 16, 2001
Messages
5,193
Points
63
Age
42
jo engine is now on twitter !
https://twitter.com/johannes_fetz

Changelog
2/14/2016:

  • FIX : jo_sprite_add_bin() and jo_sprite_add_bin_tileset() doesn't work properly
  • NEW : Image loading from CD improved (faster)
  • NEW: Memory fragmentation reduced when using tileset
  • NEW: Get tile count on a jo_tile table using JO_TILE_COUNT()
    • Demo Tileset updated
  • NEW: jo_printf_with_color() print a text using specific color palette index
  • NEW: Per-pixel collision : jo_map_per_pixel_vertical_collision()
  • NEW: Map Demo improved with per-pixel and hitbox collision
  • NEW: New functions in order to swap little and big endian
    • jo_swap_endian_ushort()
    • jo_swap_endian_uint()
  • NEW: Jo Map Editor 3.2
 

vbt

Staff member
Joined
Dec 16, 2001
Messages
5,193
Points
63
Age
42
Changelog
2/21/2016:
  • FIX : Strange behaviour when using sprite rotation and horizontal flip twice o_O
  • FIX: jo_is_sprite_anim_stopped() doesn't work properly
  • NEW: Math functions & constants
    • JO_FLOAT_EPSILON
    • JO_MIN()
    • JO_MAX()
    • JO_CHANGE_SIGN()
    • jo_is_float_equals_zero()
  • NEW: Sidescroller physics (gravity, friction, etc)
    • jo/physics.h
  • NEW: Sonic Demo (Physics & Collision)
    • It's not the Sonic that I'm working on, but you can now write your own :)
  • NEW: Jo Engine is now C99 compliant (stdbool, etc.)
    • I change many function prototypes to use bool type instead of unsigned char
  • NEW: New prototype for jo_map_per_pixel_vertical_collision()
  • NEW: Jo Map Editor 4.0
 

Amon

Staff member
Joined
Sep 16, 2005
Messages
543
Points
16
Age
35
Location
Canada
Hi Jo, first off excellent work on Jo Engine. Do you have any plans for removing the Sega libraries and other dependencies that would prevent projects using this from releasing something commercially? Thank you.
 

johannes

New Member
Joined
Oct 14, 2014
Messages
31
Points
8
Age
32
Location
Montpellier (France)
Website
jo-engine.org
Hi Amon,

Yes, the last step of the project is removing the SGL.
It's not the hardest point. In fact, I already use my own functions for Gouraud Shading for example.

Btw, I added 3D support to the engine yesterday (Only basic, I working on mesh loading for the next release).

 
Top