mirror of
https://github.com/raysan5/raylib.git
synced 2026-04-18 13:09:10 -04:00
C++ compiler support v2 (#5252)
* Get C++ compilers working * Fix Formatting
This commit is contained in:
38
src/external/jar_xm.h
vendored
38
src/external/jar_xm.h
vendored
@ -123,7 +123,7 @@ void jar_xm_generate_samples(jar_xm_context_t* ctx, float* output, size_t numsam
|
||||
// * @param output buffer of 2*numsamples elements (A left and right value for each sample)
|
||||
// * @param numsamples number of samples to generate
|
||||
void jar_xm_generate_samples_16bit(jar_xm_context_t* ctx, short* output, size_t numsamples) {
|
||||
float* musicBuffer = JARXM_MALLOC((2*numsamples)*sizeof(float));
|
||||
float* musicBuffer = (float *)JARXM_MALLOC((2*numsamples)*sizeof(float));
|
||||
jar_xm_generate_samples(ctx, musicBuffer, numsamples);
|
||||
|
||||
if(output){
|
||||
@ -136,7 +136,7 @@ void jar_xm_generate_samples_16bit(jar_xm_context_t* ctx, short* output, size_t
|
||||
// * @param output buffer of 2*numsamples elements (A left and right value for each sample)
|
||||
// * @param numsamples number of samples to generate
|
||||
void jar_xm_generate_samples_8bit(jar_xm_context_t* ctx, char* output, size_t numsamples) {
|
||||
float* musicBuffer = JARXM_MALLOC((2*numsamples)*sizeof(float));
|
||||
float* musicBuffer = (float *)JARXM_MALLOC((2*numsamples)*sizeof(float));
|
||||
jar_xm_generate_samples(ctx, musicBuffer, numsamples);
|
||||
|
||||
if(output){
|
||||
@ -543,7 +543,7 @@ int jar_xm_create_context_safe(jar_xm_context_t** ctxp, const char* moddata, siz
|
||||
#endif
|
||||
|
||||
bytes_needed = jar_xm_get_memory_needed_for_context(moddata, moddata_length);
|
||||
mempool = JARXM_MALLOC(bytes_needed);
|
||||
mempool = (char *)JARXM_MALLOC(bytes_needed);
|
||||
if(mempool == NULL && bytes_needed > 0) { /* JARXM_MALLOC() failed, trouble ahead */
|
||||
DEBUG("call to JARXM_MALLOC() failed, returned %p", (void*)mempool);
|
||||
return 2;
|
||||
@ -558,11 +558,11 @@ int jar_xm_create_context_safe(jar_xm_context_t** ctxp, const char* moddata, siz
|
||||
|
||||
ctx->rate = rate;
|
||||
mempool = jar_xm_load_module(ctx, moddata, moddata_length, mempool);
|
||||
mempool = ALIGN_PTR(mempool, 16);
|
||||
mempool = (char *)ALIGN_PTR(mempool, 16);
|
||||
|
||||
ctx->channels = (jar_xm_channel_context_t*)mempool;
|
||||
mempool += ctx->module.num_channels * sizeof(jar_xm_channel_context_t);
|
||||
mempool = ALIGN_PTR(mempool, 16);
|
||||
mempool = (char *)ALIGN_PTR(mempool, 16);
|
||||
|
||||
ctx->default_global_volume = 1.f;
|
||||
ctx->global_volume = ctx->default_global_volume;
|
||||
@ -583,7 +583,7 @@ int jar_xm_create_context_safe(jar_xm_context_t** ctxp, const char* moddata, siz
|
||||
ch->actual_panning = .5f;
|
||||
}
|
||||
|
||||
mempool = ALIGN_PTR(mempool, 16);
|
||||
mempool = (char *)ALIGN_PTR(mempool, 16);
|
||||
ctx->row_loop_count = (uint8_t *)mempool;
|
||||
mempool += MAX_NUM_ROWS * sizeof(uint8_t);
|
||||
|
||||
@ -681,14 +681,14 @@ uint64_t jar_xm_get_latest_trigger_of_channel(jar_xm_context_t *ctx, uint16_t ch
|
||||
|
||||
//* Bound reader macros.
|
||||
//* If we attempt to read the buffer out-of-bounds, pretend that the buffer is infinitely padded with zeroes.
|
||||
#define READ_U8(offset) (((offset) < moddata_length) ? (*(uint8_t*)(moddata + (offset))) : 0)
|
||||
#define READ_U8(offset) (((offset) < moddata_length) ? (*(uint8_t *)(moddata + (offset))) : 0)
|
||||
#define READ_U16(offset) ((uint16_t)READ_U8(offset) | ((uint16_t)READ_U8((offset) + 1) << 8))
|
||||
#define READ_U32(offset) ((uint32_t)READ_U16(offset) | ((uint32_t)READ_U16((offset) + 2) << 16))
|
||||
#define READ_MEMCPY(ptr, offset, length) memcpy_pad(ptr, length, moddata, moddata_length, offset)
|
||||
|
||||
static void memcpy_pad(void *dst, size_t dst_len, const void *src, size_t src_len, size_t offset) {
|
||||
uint8_t *dst_c = dst;
|
||||
const uint8_t *src_c = src;
|
||||
uint8_t *dst_c = (uint8_t *)dst;
|
||||
const uint8_t *src_c = (uint8_t *)src;
|
||||
|
||||
/* how many bytes can be copied without overrunning `src` */
|
||||
size_t copy_bytes = (src_len >= offset) ? (src_len - offset) : 0;
|
||||
@ -808,10 +808,10 @@ char* jar_xm_load_module(jar_xm_context_t* ctx, const char* moddata, size_t modd
|
||||
mod->linear_interpolation = 1; // Linear interpolation can be set after loading
|
||||
mod->ramping = 1; // ramping can be set after loading
|
||||
mempool += mod->num_patterns * sizeof(jar_xm_pattern_t);
|
||||
mempool = ALIGN_PTR(mempool, 16);
|
||||
mempool = (char *)ALIGN_PTR(mempool, 16);
|
||||
mod->instruments = (jar_xm_instrument_t*)mempool;
|
||||
mempool += mod->num_instruments * sizeof(jar_xm_instrument_t);
|
||||
mempool = ALIGN_PTR(mempool, 16);
|
||||
mempool = (char *)ALIGN_PTR(mempool, 16);
|
||||
uint16_t flags = READ_U32(offset + 14);
|
||||
mod->frequency_type = (flags & (1 << 0)) ? jar_xm_LINEAR_FREQUENCIES : jar_xm_AMIGA_FREQUENCIES;
|
||||
ctx->default_tempo = READ_U16(offset + 16);
|
||||
@ -884,7 +884,7 @@ char* jar_xm_load_module(jar_xm_context_t* ctx, const char* moddata, size_t modd
|
||||
|
||||
offset += packed_patterndata_size;
|
||||
}
|
||||
mempool = ALIGN_PTR(mempool, 16);
|
||||
mempool = (char *)ALIGN_PTR(mempool, 16);
|
||||
|
||||
/* Read instruments */
|
||||
for(uint16_t i = 0; i < ctx->module.num_instruments; ++i) {
|
||||
@ -928,11 +928,11 @@ char* jar_xm_load_module(jar_xm_context_t* ctx, const char* moddata, size_t modd
|
||||
instr->panning_envelope.enabled = flags & (1 << 0);
|
||||
instr->panning_envelope.sustain_enabled = flags & (1 << 1);
|
||||
instr->panning_envelope.loop_enabled = flags & (1 << 2);
|
||||
instr->vibrato_type = READ_U8(offset + 235);
|
||||
instr->vibrato_type = (jar_xm_waveform_type_t)READ_U8(offset + 235);
|
||||
if(instr->vibrato_type == 2) {
|
||||
instr->vibrato_type = 1;
|
||||
instr->vibrato_type = (jar_xm_waveform_type_t)1;
|
||||
} else if(instr->vibrato_type == 1) {
|
||||
instr->vibrato_type = 2;
|
||||
instr->vibrato_type = (jar_xm_waveform_type_t)2;
|
||||
}
|
||||
instr->vibrato_sweep = READ_U8(offset + 236);
|
||||
instr->vibrato_depth = READ_U8(offset + 237);
|
||||
@ -976,7 +976,7 @@ char* jar_xm_load_module(jar_xm_context_t* ctx, const char* moddata, size_t modd
|
||||
sample->panning = (float)READ_U8(offset + 15) / 255.f;
|
||||
sample->relative_note = (int8_t)READ_U8(offset + 16);
|
||||
READ_MEMCPY(sample->name, 18, SAMPLE_NAME_LENGTH);
|
||||
sample->data = (float*)mempool;
|
||||
sample->data = (float *)mempool;
|
||||
if(sample->bits == 16) {
|
||||
/* 16 bit sample */
|
||||
mempool += sample->length * (sizeof(float) >> 1);
|
||||
@ -1475,7 +1475,7 @@ static void jar_xm_handle_note_and_instrument(jar_xm_context_t* ctx, jar_xm_chan
|
||||
jar_xm_pitch_slide(ctx, ch, ch->fine_portamento_down_param);
|
||||
break;
|
||||
case 4: /* E4y: Set vibrato control */
|
||||
ch->vibrato_waveform = s->effect_param & 3;
|
||||
ch->vibrato_waveform = (jar_xm_waveform_type_t)(s->effect_param & 3);
|
||||
ch->vibrato_waveform_retrigger = !((s->effect_param >> 2) & 1);
|
||||
break;
|
||||
case 5: /* E5y: Set finetune */
|
||||
@ -1502,7 +1502,7 @@ static void jar_xm_handle_note_and_instrument(jar_xm_context_t* ctx, jar_xm_chan
|
||||
}
|
||||
break;
|
||||
case 7: /* E7y: Set tremolo control */
|
||||
ch->tremolo_waveform = s->effect_param & 3;
|
||||
ch->tremolo_waveform = (jar_xm_waveform_type_t)(s->effect_param & 3);
|
||||
ch->tremolo_waveform_retrigger = !((s->effect_param >> 2) & 1);
|
||||
break;
|
||||
case 0xA: /* EAy: Fine volume slide up */
|
||||
@ -2223,7 +2223,7 @@ int jar_xm_create_context_from_file(jar_xm_context_t** ctx, uint32_t rate, const
|
||||
return 4;
|
||||
}
|
||||
|
||||
char* data = JARXM_MALLOC(size + 1);
|
||||
char* data = (char *)JARXM_MALLOC(size + 1);
|
||||
if(!data || fread(data, 1, size, xmf) < size) {
|
||||
fclose(xmf);
|
||||
DEBUG_ERR(data ? "fread() failed" : "JARXM_MALLOC() failed");
|
||||
|
||||
Reference in New Issue
Block a user