...
 
Commits (691)
......@@ -2120,7 +2120,7 @@ Multisound Shell
Subsounds = BaGood02 BaGood05 BaGood07 BaGood08 BaGood11 BaGood15 BaGood16 BaGood17 BaGood20 BaGood21 BaGood22 BaGood25 BaGood26 BaGood27 BaGood28 BaGood30 BaGood31 BaGood32 BaGood33 BaGood34 BaGood39 ;,;
Subsounds = BaEvil01 BaEvil03 BaEvil04 BaEvil07 BaEvil09 BaEvil10 BaEvil11 BaEvil14 BaEvil17 BaEvil18 ;,;
Subsounds = ExEvil01 ExEvil05 ExEvil04 ;,;
Subsounds = KindledHope ;,;
Subsounds = Credits01 Credits02 Credits03 KindledHope ;,;
End
; This is best when playing from MiscAudio's shell music
......@@ -2156,7 +2156,7 @@ Multisound ShellLowLOD
Subsounds = BaGood02 BaGood05 BaGood07 BaGood08 BaGood11 BaGood15 BaGood16 BaGood17 BaGood20 BaGood21 BaGood22 BaGood25 BaGood26 BaGood27 BaGood28 BaGood30 BaGood31 BaGood32 BaGood33 BaGood34 BaGood39 ;,;
Subsounds = BaEvil01 BaEvil03 BaEvil04 BaEvil07 BaEvil09 BaEvil10 BaEvil11 BaEvil14 BaEvil17 BaEvil18 ;,;
Subsounds = ExEvil01 ExEvil05 ExEvil04 ;,;
Subsounds = KindledHope ;,;
Subsounds = Credits01 Credits02 Credits03 KindledHope ;,;
End
;;;
......@@ -2192,7 +2192,7 @@ Multisound Shell2Music
Subsounds = BaGood02 BaGood05 BaGood07 BaGood08 BaGood11 BaGood15 BaGood16 BaGood17 BaGood20 BaGood21 BaGood22 BaGood25 BaGood26 BaGood27 BaGood28 BaGood30 BaGood31 BaGood32 BaGood33 BaGood34 BaGood39 ;,;
Subsounds = BaEvil01 BaEvil03 BaEvil04 BaEvil07 BaEvil09 BaEvil10 BaEvil11 BaEvil14 BaEvil17 BaEvil18 ;,;
Subsounds = ExEvil01 ExEvil05 ExEvil04 ;,;
Subsounds = KindledHope ;,;
Subsounds = Credits01 Credits02 Credits03 KindledHope ;,;
End
;Multisound Shell2Music
......@@ -2286,7 +2286,7 @@ Multisound LivingWorldMusic
Subsounds = BaEvil01 BaEvil02 BaEvil04 BaEvil05 BaEvil06 BaEvil08 BaEvil10 BaEvil12 BaEvil13 BaEvil14 BaEvil15 BaEvil17 ;,;
Subsounds = ActionEdit09 ;,;
Subsounds = KindledHope ;,;
Subsounds = Credits01 Credits02 Credits03 KindledHope ;,;
Subsounds = RotWK01 RotWK02 RotWK03 RotWK04 RotWK05 RotWK06 RotWK07 RotWK08 RotWK09 RotWK10 RotWK11 RotWK12 RotWK13 RotWK14 RotWK15 RotWK16 RotWK17 RotWK18 ;,;
Subsounds = RotWK19 RotWK20 RotWK21 RotWK22 RotWK23 RotWK24 RotWK25 RotWK26 RotWK27 RotWK28 RotWK29 RotWK30 RotWK31 RotWK32 RotWK33 RotWK34 RotWK35 RotWK36 RotWK37 RotWK38 RotWK39 RotWK40 RotWK41 RotWK42 RotWK43 RotWK44 RotWK45 RotWK46 RotWK47 RotWK48 RotWK49 RotWK50 RotWK51 RotWK52 ;,;
......@@ -2392,7 +2392,7 @@ Multisound WOTR_MusicDwarvesMS
Subsounds = RotWK53 RotWK54 RotWK55 RotWK56 RotWK57 RotWK58 ;,;
Subsounds = RotWK59 RotWK60 RotWK61 RotWK63 RotWK64 RotWK65 RotWK66 RotWK67 RotWK69 RotWK70 RotWK71 ;,;
Subsounds = LivingWorldMusicGood02 LivingWorldMusicGood03 LivingWorldMusicGood04 LivingWorldMusicGood05 LivingWorldMusicGood06 ;,;
Subsounds = KindledHope ;,;
Subsounds = Credits01 Credits02 Credits03 KindledHope ;,;
End
......@@ -2422,7 +2422,7 @@ Multisound WOTR_MusicElvesMS
Subsounds = RotWK53 RotWK54 RotWK55 RotWK56 RotWK57 RotWK58 ;,;
Subsounds = RotWK59 RotWK60 RotWK61 RotWK63 RotWK64 RotWK65 RotWK66 RotWK67 RotWK69 RotWK70 RotWK71 ;,;
Subsounds = LivingWorldMusicGood02 LivingWorldMusicGood03 LivingWorldMusicGood04 LivingWorldMusicGood05 LivingWorldMusicGood06 ;,;
Subsounds = KindledHope ;,;
Subsounds = Credits01 Credits02 Credits03 KindledHope ;,;
End
Multisound WOTR_MusicMenMS
......@@ -2453,7 +2453,7 @@ Multisound WOTR_MusicMenMS
Subsounds = RotWK53 RotWK54 RotWK55 RotWK56 RotWK57 RotWK58 ;,;
Subsounds = RotWK59 RotWK60 RotWK61 RotWK63 RotWK64 RotWK65 RotWK66 RotWK67 RotWK69 RotWK70 RotWK71 ;,;
Subsounds = LivingWorldMusicGood02 LivingWorldMusicGood03 LivingWorldMusicGood04 LivingWorldMusicGood05 LivingWorldMusicGood06 ;,;
Subsounds = KindledHope ;,;
Subsounds = Credits01 Credits02 Credits03 KindledHope ;,;
End
Multisound WOTR_MusicGoblinsMS
......@@ -2551,7 +2551,7 @@ Multisound BaseBuildingElvenMusic
Subsounds = ExGood03 ExGood04 ;,;
Subsounds = RotWK20 RotWK22 RotWK23 RotWK24 RotWK25 RotWK27 RotWK29 RotWK30 RotWK31 RotWK34 RotWK35 RotWK38 RotWK42 RotWK43 RotWK44 RotWK46 RotWK49 RotWK52 ;,;
Subsounds = RotWK59 RotWK60 RotWK61 RotWK63 RotWK64 RotWK65 RotWK66 RotWK67 RotWK69 RotWK70 RotWK71 ;,;
Subsounds = LivingWorldMusicGood02 LivingWorldMusicGood03 LivingWorldMusicGood04 LivingWorldMusicGood05 LivingWorldMusicGood06 ;,;
Subsounds = LivingWorldMusicGood02 LivingWorldMusicGood03 LivingWorldMusicGood04 LivingWorldMusicGood05 LivingWorldMusicGood06 Credits01 Credits02 Credits03 ;,;
End
Multisound BaseBuildingDwarvenMusic
......@@ -2577,7 +2577,7 @@ Multisound BaseBuildingDwarvenMusic
Subsounds = ExGood03 ExGood04 ;,;
Subsounds = RotWK20 RotWK22 RotWK23 RotWK24 RotWK25 RotWK27 RotWK29 RotWK30 RotWK31 RotWK34 RotWK35 RotWK38 RotWK42 RotWK43 RotWK44 RotWK46 RotWK49 RotWK52 ;,;
Subsounds = RotWK59 RotWK60 RotWK61 RotWK63 RotWK64 RotWK65 RotWK66 RotWK67 RotWK69 RotWK70 RotWK71 ;,;
Subsounds = LivingWorldMusicGood02 LivingWorldMusicGood03 LivingWorldMusicGood04 LivingWorldMusicGood05 LivingWorldMusicGood06 ;,;
Subsounds = LivingWorldMusicGood02 LivingWorldMusicGood03 LivingWorldMusicGood04 LivingWorldMusicGood05 LivingWorldMusicGood06 Credits01 Credits02 Credits03 ;,;
End
Multisound BaseBuildingMannishMusic
......@@ -2601,7 +2601,7 @@ Multisound BaseBuildingMannishMusic
Subsounds = ExGood03 ExGood04 ;,;
Subsounds = RotWK20 RotWK22 RotWK23 RotWK24 RotWK25 RotWK27 RotWK29 RotWK30 RotWK31 RotWK34 RotWK35 RotWK38 RotWK42 RotWK43 RotWK44 RotWK46 RotWK49 RotWK52 ;,;
Subsounds = RotWK59 RotWK60 RotWK61 RotWK63 RotWK64 RotWK65 RotWK66 RotWK67 RotWK69 RotWK70 RotWK71 ;,;
Subsounds = LivingWorldMusicGood02 LivingWorldMusicGood03 LivingWorldMusicGood04 LivingWorldMusicGood05 LivingWorldMusicGood06 ;,;
Subsounds = LivingWorldMusicGood02 LivingWorldMusicGood03 LivingWorldMusicGood04 LivingWorldMusicGood05 LivingWorldMusicGood06 Credits01 Credits02 Credits03 ;,;
End
Multisound BaseBuildingMordorMusic
......@@ -3302,10 +3302,10 @@ End
Multisound AngmarMusicForLoadScreen
Control = PLAY_ONE
Subsounds = AngmarLoad1 AngmarLoad2 AngmarLoad3 AngmarLoad4 ;,; Added AngmarLoad4 ; VictoryScreenAngmar
Subsounds = AngmarLoad1 AngmarLoad2 AngmarLoad3 ;,; AngmarLoad4 ;,; Removed AngmarLoad4 ;,; Added AngmarLoad4 ; VictoryScreenAngmar
End
Multisound ArnorMusicForLoadScreen
Control = PLAY_ONE
Subsounds = ArnorLoad1 ArnorLoad2 ArnorLoad3 ArnorLoad4 ;,; Added ArnorLoad2 ArnorLoad3 ArnorLoad4
End
\ No newline at end of file
End
This diff is collapsed.
This diff is collapsed.
......@@ -61,7 +61,7 @@ Weather
HardwareFogColor = R:246 G:240 B:212
HardwareFogEnable = Yes
HardwareFogEnable = No ;,; Yes
HardwareFogStart = 725
......
Copyright (c) 2017 Justin Crawford <Justin@stacksmash.net>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
\ No newline at end of file
CC = gcc
bigtool: bigdecode.o Vec/vec.o
$(CC) -Wall Vec/vec.o bigdecode.o -o bigtool
Vec/vec.o: Vec/vec.c Vec/vec.h
$(CC) -c -Wall Vec/vec.c -o Vec/vec.o
bigdecode.o: bigdecode.c
$(CC) -c -Wall -std=c11 bigdecode.c -o bigdecode.o
clean:
find . \
-name \*.o -o \
-name bigtool \
| xargs rm
\ No newline at end of file
Copyright 2014 rxi
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
/**
* Copyright (c) 2014 rxi
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MIT license. See LICENSE for details.
*/
#include "vec.h"
int vec_expand_(char **data, int *length, int *capacity, int memsz) {
if (*length + 1 > *capacity) {
void *ptr;
int n = (*capacity == 0) ? 1 : *capacity << 1;
ptr = realloc(*data, n * memsz);
if (ptr == NULL) return -1;
*data = ptr;
*capacity = n;
}
return 0;
}
int vec_reserve_(char **data, int *length, int *capacity, int memsz, int n) {
(void) length;
if (n > *capacity) {
void *ptr = realloc(*data, n * memsz);
if (ptr == NULL) return -1;
*data = ptr;
*capacity = n;
}
return 0;
}
int vec_reserve_po2_(
char **data, int *length, int *capacity, int memsz, int n
) {
int n2 = 1;
if (n == 0) return 0;
while (n2 < n) n2 <<= 1;
return vec_reserve_(data, length, capacity, memsz, n2);
}
int vec_compact_(char **data, int *length, int *capacity, int memsz) {
if (*length == 0) {
free(*data);
*data = NULL;
*capacity = 0;
return 0;
} else {
void *ptr;
int n = *length;
ptr = realloc(*data, n * memsz);
if (ptr == NULL) return -1;
*capacity = n;
*data = ptr;
}
return 0;
}
int vec_insert_(char **data, int *length, int *capacity, int memsz,
int idx
) {
int err = vec_expand_(data, length, capacity, memsz);
if (err) return err;
memmove(*data + (idx + 1) * memsz,
*data + idx * memsz,
(*length - idx) * memsz);
return 0;
}
void vec_splice_(char **data, int *length, int *capacity, int memsz,
int start, int count
) {
(void) capacity;
memmove(*data + start * memsz,
*data + (start + count) * memsz,
(*length - start - count) * memsz);
}
void vec_swapsplice_(char **data, int *length, int *capacity, int memsz,
int start, int count
) {
(void) capacity;
memmove(*data + start * memsz,
*data + (*length - count) * memsz,
count * memsz);
}
void vec_swap_(char **data, int *length, int *capacity, int memsz,
int idx1, int idx2
) {
unsigned char *a, *b, tmp;
int count;
(void) length;
(void) capacity;
if (idx1 == idx2) return;
a = (unsigned char*) *data + idx1 * memsz;
b = (unsigned char*) *data + idx2 * memsz;
count = memsz;
while (count--) {
tmp = *a;
*a = *b;
*b = tmp;
a++, b++;
}
}
/**
* Copyright (c) 2014 rxi
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MIT license. See LICENSE for details.
*/
#ifndef VEC_H
#define VEC_H
#include <stdlib.h>
#include <string.h>
#define VEC_VERSION "0.2.1"
#define vec_unpack_(v)\
(char**)&(v)->data, &(v)->length, &(v)->capacity, sizeof(*(v)->data)
#define vec_t(T)\
struct { T *data; int length, capacity; }
#define vec_init(v)\
memset((v), 0, sizeof(*(v)))
#define vec_deinit(v)\
( free((v)->data),\
vec_init(v) )
#define vec_push(v, val)\
( vec_expand_(vec_unpack_(v)) ? -1 :\
((v)->data[(v)->length++] = (val), 0), 0 )
#define vec_pop(v)\
(v)->data[--(v)->length]
#define vec_splice(v, start, count)\
( vec_splice_(vec_unpack_(v), start, count),\
(v)->length -= (count) )
#define vec_swapsplice(v, start, count)\
( vec_swapsplice_(vec_unpack_(v), start, count),\
(v)->length -= (count) )
#define vec_insert(v, idx, val)\
( vec_insert_(vec_unpack_(v), idx) ? -1 :\
((v)->data[idx] = (val), 0), (v)->length++, 0 )
#define vec_sort(v, fn)\
qsort((v)->data, (v)->length, sizeof(*(v)->data), fn)
#define vec_swap(v, idx1, idx2)\
vec_swap_(vec_unpack_(v), idx1, idx2)
#define vec_truncate(v, len)\
((v)->length = (len) < (v)->length ? (len) : (v)->length)
#define vec_clear(v)\
((v)->length = 0)
#define vec_first(v)\
(v)->data[0]
#define vec_last(v)\
(v)->data[(v)->length - 1]
#define vec_reserve(v, n)\
vec_reserve_(vec_unpack_(v), n)
#define vec_compact(v)\
vec_compact_(vec_unpack_(v))
#define vec_pusharr(v, arr, count)\
do {\
int i__, n__ = (count);\
if (vec_reserve_po2_(vec_unpack_(v), (v)->length + n__) != 0) break;\
for (i__ = 0; i__ < n__; i__++) {\
(v)->data[(v)->length++] = (arr)[i__];\
}\
} while (0)
#define vec_extend(v, v2)\
vec_pusharr((v), (v2)->data, (v2)->length)
#define vec_find(v, val, idx)\
do {\
for ((idx) = 0; (idx) < (v)->length; (idx)++) {\
if ((v)->data[(idx)] == (val)) break;\
}\
if ((idx) == (v)->length) (idx) = -1;\
} while (0)
#define vec_remove(v, val)\
do {\
int idx__;\
vec_find(v, val, idx__);\
if (idx__ != -1) vec_splice(v, idx__, 1);\
} while (0)
#define vec_reverse(v)\
do {\
int i__ = (v)->length / 2;\
while (i__--) {\
vec_swap((v), i__, (v)->length - (i__ + 1));\
}\
} while (0)
#define vec_foreach(v, var, iter)\
if ( (v)->length > 0 )\
for ( (iter) = 0;\
(iter) < (v)->length && (((var) = (v)->data[(iter)]), 1);\
++(iter))
#define vec_foreach_rev(v, var, iter)\
if ( (v)->length > 0 )\
for ( (iter) = (v)->length - 1;\
(iter) >= 0 && (((var) = (v)->data[(iter)]), 1);\
--(iter))
#define vec_foreach_ptr(v, var, iter)\
if ( (v)->length > 0 )\
for ( (iter) = 0;\
(iter) < (v)->length && (((var) = &(v)->data[(iter)]), 1);\
++(iter))
#define vec_foreach_ptr_rev(v, var, iter)\
if ( (v)->length > 0 )\
for ( (iter) = (v)->length - 1;\
(iter) >= 0 && (((var) = &(v)->data[(iter)]), 1);\
--(iter))
int vec_expand_(char **data, int *length, int *capacity, int memsz);
int vec_reserve_(char **data, int *length, int *capacity, int memsz, int n);
int vec_reserve_po2_(char **data, int *length, int *capacity, int memsz,
int n);
int vec_compact_(char **data, int *length, int *capacity, int memsz);
int vec_insert_(char **data, int *length, int *capacity, int memsz,
int idx);
void vec_splice_(char **data, int *length, int *capacity, int memsz,
int start, int count);
void vec_swapsplice_(char **data, int *length, int *capacity, int memsz,
int start, int count);
void vec_swap_(char **data, int *length, int *capacity, int memsz,
int idx1, int idx2);
typedef vec_t(void*) vec_void_t;
typedef vec_t(char*) vec_str_t;
typedef vec_t(int) vec_int_t;
typedef vec_t(char) vec_char_t;
typedef vec_t(float) vec_float_t;
typedef vec_t(double) vec_double_t;
#endif
#include <stdio.h> /* needed for vsnprintf */
#include <stdlib.h> /* needed for malloc-free */
#include <stdarg.h> /* needed for va_list */
#ifndef _vscprintf
/* For some reason, MSVC fails to honour this #ifndef. */
/* Hence function renamed to _vscprintf_so(). */
int _vscprintf_so(const char * format, va_list pargs) {
int retval;
va_list argcopy;
va_copy(argcopy, pargs);
retval = vsnprintf(NULL, 0, format, argcopy);
va_end(argcopy);
return retval;}
#endif // _vscprintf
#ifndef vasprintf
int vasprintf(char **strp, const char *fmt, va_list ap) {
int len = _vscprintf_so(fmt, ap);
if (len == -1) return -1;
char *str = malloc((size_t) len + 1);
if (!str) return -1;
int r = vsnprintf(str, len + 1, fmt, ap); /* "secure" version of vsprintf */
if (r == -1) return free(str), -1;
*strp = str;
return r;}
#endif // vasprintf
#ifndef asprintf
int asprintf(char *strp[], const char *fmt, ...) {
va_list ap;
va_start(ap, fmt);
int r = vasprintf(strp, fmt, ap);
va_end(ap);
return r;}
#endif // asprintf
This diff is collapsed.
This diff is collapsed.
// "License": Public Domain
// I, Mathias Panzenböck, place this file hereby into the public domain. Use it at your own risk for whatever you like.
// In case there are jurisdictions that don't support putting things in the public domain you can also consider it to
// be "dual licensed" under the BSD, MIT and Apache licenses, if you want to. This code is trivial anyway. Consider it
// an example on how to get the endian conversion functions on different platforms.
#ifndef PORTABLE_ENDIAN_H__
#define PORTABLE_ENDIAN_H__
#if (defined(_WIN16) || defined(_WIN32) || defined(_WIN64)) && !defined(__WINDOWS__)
# define __WINDOWS__
#endif
#if defined(__linux__) || defined(__CYGWIN__)
# include <endian.h>