diff --git a/games-fps/uhexen2/additional-files/uhexen2.rdef.in b/games-fps/uhexen2/additional-files/uhexen2.rdef.in new file mode 100644 index 000000000..f98f28977 --- /dev/null +++ b/games-fps/uhexen2/additional-files/uhexen2.rdef.in @@ -0,0 +1,140 @@ +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "uHexen2", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource vector_icon array { + $"6E63696603050103F1010103F3A0000700A9BA55B547BA55B547BA70B50DBAE2" + $"B537BAB5B522BB3D26BBFAB5ABBB95B598BD02B5DEBE60B792BE0CB688BE80B8" + $"23BE78B94BBE59B8B9BE91B9C0BF0233BEC9BA2ABF63BB40C02DBC98BFC2BBEF" + $"C05ABCDEC0B6BD6BC07DBD2DC123BD87C1C3BCF0C179BD30C24EBC6FC38BBB9E" + $"C2E8BBFEC40BBB53C512BAC7C484344EBAAEC5D1BA6EC598BA98C67CB9ECC7B5" + $"B8C4C712B950C862B83CC994B6FFC8EBB78DC9D9B6C5CA67B655CA12B679CAAE" + $"B678CB0CB6FECAE1B6BDCB2CB72CCAF2B78CCB092BCA95B81CC99AB907CA19B8" + $"95C972B92CC930B986C947B953C929B9CCC945BA56C94ABA10C91FBAA5C87FBA" + $"EEC8C7BAC7C7E7BB35C6F0BC19C762BBA0C6BFBC48C6E2BCCFC6BDBC98C71EBD" + $"2FC78BBDF7C76BBD88C7BDBEA3C7EAC008C7ECBF54C7EAC0BDC7CEC225C7EBC1" + $"72C7A3C348C749C58EC77BC46CC734C60FC6D2C700C708C68BC6BAC73DC69FC7" + $"BEC697C77BC6BAC81AC712C8C4C700C864C711C8FBC6C5C953C6F4C935C683C9" + $"6BC5FFC92AC62FC961C5D1C8F6C595C879C5B4C8B6C556C7F6C499C719C500C7" + $"7FC44EC6C7C37CC6AAC3C4C701C328C64DC2B8C56CC2EEC5DDC288C509C27EC4" + $"2EC290C498C25CC3CFC1C7C346C20EC389C19DC31CC12AC309C162C312C099C3" + $"D4BF034DBFAEC43EBE93C561BDA5C634BE18C5C6BCCBC712BACDC878BBD1C7CF" + $"BA22C8E7B89AC92DB93AC8A8B7EDC9B4B67ACA9DB72CCA1DB632CAD0B58DCB10" + $"B5E7CB06B536CB1AB486CB19B4DECB18B499CA9DB555CA01B508CA59B59CC9B9" + $"B570C905B51DC94AB60EC85CB765C726B6C5C7CEB833C66FB9C1C4F4B8F2C5A9" + $"BA23C4A9BA4AC3C3B9EAC40FBA9EC379BB5DC304BB06C34ABC57C23BBE39C096" + $"BD41C161BE87C055BF39BFF3BEEBC035BF58BF99BF0BBEECBF25BF40BEE8BE95" + $"BE92BDEDBEDDBE2DBE3ABDA1BD8CBD08BDD6BD62BCF5BC58BBCDBAF4BC66BBA2" + $"BBA1BAC0BB80BA3BBB6DBA84BB86BA0DBBE4BA0EBBBFB9FEBC28BA28BCA7BA6D" + $"BC63BA54BCD4BA4BBCA2B9F2BCB2BA19BC73B998BBFEB8F1BC3BB943BBDBB8C5" + $"BB77B888BBB3B892BB08B87BBA28B87CBA97B88BB9CBB86EB916B841B971B858" + $"B926B813B95FB7C0B929B7D3B9B9B795BA6DB73DBA21B783BAAEB702BB4DB6BA" + $"34B6D2BB28B66CBAC3B5E1BAFAB624BB42B633BBFDB721BB9DB6AEBC23B752BC" + $"61B7BEBC4DB782BC65B7E8BC3EB832BC4BB80CBC02B7FDBB95B787BBC8B7C5BB" + $"6DB75CBB17B706BB54B716BAD4B70DBA6DB76ABAA5B748BA15B79EB96DB812B9" + $"BDB7D3B9FBB82BBB1AB829BA8BB822BB7CB82DBC19B8A5BBDBB859BC6FB961BD" + $"4BBABDBCDDBA0FBDBCBB6CBECEBCA7BE4DBC04BED8BCDBBEC9BD43BECDBD0FBE" + $"1BBCD3BD16BB93BD9FBC2BBCA2BB13BBA2BA29BC5ABA56BBB6BA7CBC11BB0DBB" + $"D5BACEBC99BBA5BD9CBCE0BD17BC45BDEBBD3EBEADBDD1BE53BD80BF03BE1FBF" + $"40BEFFBF1ABE96BF57BF4FBF70BFF7BF7EBFA2BF25C04EBE55C0B4BEAEC06CBD" + $"11C1ADBA99C3B6BBF6C2DDBA25C3FAB9F2C4F7BA49C49CB9A1C54AB8F2C5E1B9" + $"43C58EB833C6A7B69EC81AB75DC754B638C87AB586C954B5CDC8D9B5D2C940B6" + $"5657B61EC923B714C832B898C6CCB7E0C78AB8F8C66AB9C8C5B6B962C612BA4F" + $"C53CBB3EC42BBABDC4AABBECC37ABD6FC243BCB7C2E9BDF3C1CDBF0843BE89C1" + $"6DBF4AC0B6BFECC062BF8EC06EC030C08FBFD4C103BFF5C0D3BF20C1E1BD83C3" + $"6EBE54C2AABC70C463BA4CC652BB4FC54AB9F7C6ACB926C72CB97CC6D4B831C8" + $"67B587CA05B6C0C918B542CA36B4F7CACDB518CA81B59ACAA3B692C9CAB607CA" + $"1DB73AC963B87D56B7E4C900B8F5C824B9CCC747B95CC7B0BA65C6B7BBB1C5B5" + $"BB15C642BCE8C495BF63C265BE2EC387BFC3C20EC078C156C002C192C0A1C16D" + $"C0CBC1C3C0C7C192C0DCC215C052C26EC086C240BFCBC2CDBEEBC3BFBF62C34E" + $"BE17C480BC5AC5EBBD3AC537BB9F51BA26C7B9BAE6C723B9DAC7F1B989C89AB9" + $"A8C842BA51C851BB93C73BBAE6C7B1BC99C64FBEAAC47EBDACC572BF32C3FDC0" + $"52C30DBFCFC394C08DC2D3C108C265C0C0C290C170C271C1ECC321C1A7C2DEC2" + $"42C381C2B2C46BC2A4C3E4C2CDC547C3DEC6B6C311C63FC3C4C640C376C55BC3" + $"99C5CFC3C9C587C43BC61AC40FC5C7C4C4C712C5FEC8E8C581C7E9C613C8E1C6" + $"54C8CAC63EC8D2C63EC86BC5E1C7BDC61CC80CC559C6FEC447C583C4E1C633C3" + $"ACC4CFC2C3C32DC310C411C2A4C2D2C2B1C213C2ACC271C26EC1E3C1FC44C1E4" + $"C1C2C25CC05DC3F6BF1AC3A9C021C3ACBF32C323BF7FC360BF4CC2D0BFBEC242" + $"C056C297C01AC21DC071C1D1C040C1F5C049C209BFDAC2A5BF2EC24DBF7AC371" + $"BE6EC506BCEBC443BDB5C5A0BC4EC6DDBB1CC63FBBB5C753BAA8C87EBA21C7FE" + $"BA87C84EB9FFC7EBB9BFC81CB9DFC804B977C86DB90AC82BB933C929B887CA41" + $"B71CC9C8B7DECA37B70CCA1BB6DCCA25B6ECC94EB752C815B8AFC8CAB81DC794" + $"B917C6A2B9F9C71AB987C5AFBAC8C3D5BC74C4BCBB97C36EBCD0C298BD7FC2FF" + $"BD23C254BDBEC1AABE0CC201BDEBC21DBD45C352BBFCC2FDBCD6C29DBC50C17C" + $"BD62C210BCE0C13BBD9BC0A8BDF5C0FBBDD8C073BDDFC025BD87C04ABDB3BFC2" + $"BD0CBF20BBFDBF6DBC86BEADBB37BDD6B9A2BE3ABA70BDA4B93FBD95B864BDA4" + $"B8CFBD93B81ABD11B7DEBD42B803BC92B798BC2BB687BC4BB70FBC41B678BC74" + $"B66BBC59B66FBCDFB6D8BD93B7CDBD1AB76CBDB9B72DBCDDB640BD4CB6A4BC95" + $"B5FFBBD6B5EABC30B5FDBB68B5D9BAB3B557BB0FB591BAB4B582BAB4B5D6BAB4" + $"B5ACBA8DB5ADBA55B547BA56B586BA55B547000BC550BD90C550BD90C50BBDE0" + $"C47FBE7DC4C6BE2FC433BEC2C482BF78C47FBF25C462BFBCC3ECC019C423BFE9" + $"C38EC065C2FCC128C341C0C4C2C9C16DC2FFC212C2E6C1C9C34FC2E1C413C470" + $"C388C3BFC48CC51DC591C666C5194FC5E2C65AC5D2C5C3C5CEC5FFC5C8C2F8C5" + $"D0BD60C5D3C02CC5A4BD6CC550BD90C56FBD6AC550BD90000CC9FCBCC1C9FCBC" + $"C1CA20BCA2CA76BCDFCA62BCB5CA94BD17CAA2BD95CA9EBD57CAABBF08CAB4C1" + $"EFCA96C07DCAB1C289CA76C3B8CA93C321CA43C4AFC9E7C69ECA1EC5A8C9D2C6" + $"F2C96DC785C9B7C74FC944C794C8EBC76DC905C799C8CCC729C8CFC695C8D2C6" + $"DDC8CEC618C8B9C51FC8B7C59CC8B9C354C8B740C8B6C18AC8B5BEA2C9FCBCC1" + $"C939BD8DC9FCBCC10263BAB3B557BAB4B582BB0FB591BBD6B5EABB68B5D9BC30" + $"B5FDBCDDB640BC95B5FFBD4CB6A4BD93B7CDBDB9B72DBD1AB76CBC74B66BBCDF" + $"B6D8BC59B66FBC2BB687BC41B678BC4BB70FBD11B7DEBC92B798BD42B803BD95" + $"B864BD93B81ABDA4B8CFBDD6B9A2BDA4B93FBE3ABA70BF20BBFDBEADBB37BF6D" + $"BC86C025BD87BFC2BD0CC04ABDB3C0A8BDF5C073BDDFC0FBBDD8C17CBD62C13B" + $"BD9BC210BCE0C352BBFCC29DBC50C2FDBCD6C1AABE0CC21DBD45C201BDEBC298" + $"BD7FC254BDBEC2FFBD23C3D5BC74C36EBCD0C4BCBB97C6A2B9F9C5AFBAC8C71A" + $"B987C815B8AFC794B917C8CAB81DCA1BB6DCC94EB752CA25B6ECCA41B71CCA37" + $"B70CC9C8B7DEC86DB90AC929B887C82BB933C7EBB9BFC804B977C81CB9DFC87E" + $"BA21C84EB9FFC7FEBA87C6DDBB1CC753BAA8C63FBBB5C506BCEBC5A0BC4EC443" + $"BDB5C2A5BF2EC371BE6EC24DBF7AC1D1C040C209BFDAC1F5C049C242C056C21D" + $"C071C297C01AC323BF7FC2D0BFBEC360BF4CC3F6BF1AC3ACBF32C3A9C021C1FC" + $"44C25CC05DC1E4C1C2C2B1C213C26EC1E3C2ACC271C2C3C32DC2A4C2D2C310C4" + $"11C447C583C3ACC4CFC4E1C633C5E1C7BDC559C6FEC61CC80CC654C8CAC63EC8" + $"6BC63EC8D2C5FEC8E8C613C8E1C581C7E9C43BC61AC4C4C712C40FC5C7C376C5" + $"5BC3C9C587C399C5CFC3DEC6B6C3C4C640C311C63FC2B2C46BC2CDC547C2A4C3" + $"E4C1ECC321C242C381C1A7C2DEC108C265C170C271C0C0C290C052C30DC08DC2" + $"D3BFCFC394BEAAC47EBF32C3FDBDACC572BB93C73BBC99C64FBAE6C7B1B989C8" + $"9ABA51C851B9A8C842BA26C7B9B9DAC7F1BAE6C723BC5AC5EBBB9F51BD3AC537" + $"BEEBC3BFBE17C480BF62C34EC052C26EBFCBC2CDC086C240C0CBC1C3C0DCC215" + $"C0C7C192C078C156C0A1C16DC002C192BF63C265BFC3C20EBE2EC387BBB1C5B5" + $"BCE8C495BB15C642B9CCC747BA65C6B7B95CC7B0B87D56B8F5C824B7E4C900B6" + $"92C9CAB73AC963B607CA1DB4F7CACDB59ACAA3B518CA81B587CA05B542CA36B6" + $"C0C918B926C72CB831C867B97CC6D4BA4CC652B9F7C6ACBB4FC54ABD83C36EBC" + $"70C463BE54C2AABFD4C103BF20C1E1BFF5C0D3BFECC062C030C08FBF8EC06EBF" + $"0843BF4AC0B6BE89C16DBD6FC243BDF3C1CDBCB7C2E9BB3EC42BBBECC37ABABD" + $"C4AAB9C8C5B6BA4FC53CB962C612B898C6CCB8F8C66AB7E0C78AB65657B714C8" + $"32B61EC923B586C954B5D2C940B5CDC8D9B69EC81AB638C87AB75DC754B8F2C5" + $"E1B833C6A7B943C58EB9F2C4F7B9A1C54ABA49C49CBA99C3B6BA25C3FABBF6C2" + $"DDBE55C0B4BD11C1ADBEAEC06CBF70BFF7BF25C04EBF7EBFA2BF40BEFFBF57BF" + $"4FBF1ABE96BEADBDD1BF03BE1FBE53BD80BD9CBCE0BDEBBD3EBD17BC45BC11BB" + $"0DBC99BBA5BBD5BACEBBA2BA29BBB6BA7CBC5ABA56BD16BB93BCA2BB13BD9FBC" + $"2BBEC9BD43BE1BBCD3BECDBD0FBECEBCA7BED8BCDBBE86BC03BD9FBAF3BDF9BB" + $"8CBD15BA33BC19B8A5BCBCB952BBDBB859BB1AB829BB7CB82DBA8BB822B96DB8" + $"12B9FBB82BB9BDB7D3BA6DB76ABA15B79EBAA4B754BB17B734BADBB738BB48B7" + $"44BB95B787BB6FB767BBC8B7C5BC3EB832BC02B7FDBC4BB80CBC61B7BEBC65B7" + $"E8BC4DB782BBFDB721BC23B752BB9DB6AEBAC3B5E1BB42B633BAC3B5E1BAB4B5" + $"D6BAB4B5D6BAB4B5AC0204BC19B8A5BC6FB961BCBCB952BD9FBAF3BD15BA33BD" + $"F9BB8CBECEBCA7BE86BC03BE4DBC04BD4BBABDBDBCBB6CBCDDBA0F0208C96BBE" + $"4CC936BEB85A395A3BC9EDBDDCCA223DC9E9C04BC9E7BF7FC9E7C1015A47CA42" + $"C1D6C9F4C3425851C976C5CDC93AC677C931C46DC942C482C91EC41EC926C37B" + $"C926C3CCC92DC235C928BFA7C920C0EEC92BBF310207513AC65DBDE3C6A6BD60" + $"523DC6DBBE72C723BEEC5341C759BFBAC746C0C95347C75EC1E6C745C3035151" + $"C6C0C617C654C651C64BC2C2C651C304C646C1F8C652C063C648C12DC65ABFD8" + $"070A0002010002402D2A0000000000004037C0C35682C44B1C0A00010202402D" + $"2A0000000000004037C0C35682C44B1C0A01010302402D2A0000000000004037" + $"C0C35682C44B1C0A020002402D2A0000000000004037C0C35682C44B1C0A0201" + $"0402402D2A0000000000004037C0C35682C44B1C0A02010502402D2A00000000" + $"00004037C0C35682C44B1C0A02010602402D2A0000000000004037C0C35682C4" + $"4B1C" +}; diff --git a/games-fps/uhexen2/patches/uhexen2-1.5.9.patchset b/games-fps/uhexen2/patches/uhexen2-1.5.9.patchset new file mode 100644 index 000000000..a67e75c09 --- /dev/null +++ b/games-fps/uhexen2/patches/uhexen2-1.5.9.patchset @@ -0,0 +1,205 @@ +From 214ba1d68ab6018fb61ebec5a1cce8c4e9b637ec Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Mon, 10 Sep 2018 13:29:56 +1000 +Subject: Fix build for Haiku + + +diff --git a/common/arch_def.h b/common/arch_def.h +index 9e8a5fc..d67db5d 100644 +--- a/common/arch_def.h ++++ b/common/arch_def.h +@@ -48,6 +48,12 @@ + # define PLATFORM_WINDOWS 1 + # endif + ++#elif defined(__HAIKU__) ++ ++# if !defined(PLATFORM_HAIKU) ++# define PLATFORM_HAIKU 1 ++# endif ++ + #elif defined(__APPLE__) && defined(__MACH__) /* Mac OS X */ + + # if !defined(PLATFORM_OSX) +@@ -85,7 +91,7 @@ + defined(__sun) || defined(sun) || \ + defined(__sgi) || defined(sgi) || defined(__sgi__) || \ + defined(__GNU__) /* GNU/Hurd */ || \ +- defined(__QNX__) || defined(__QNXNTO__) ++ defined(__QNX__) || defined(__QNXNTO__) || defined(__HAIKU__) + # if !defined(PLATFORM_UNIX) + # define PLATFORM_UNIX 1 + # endif +@@ -145,6 +151,8 @@ + # define PLATFORM_STRING "AmigaOS" + #elif defined(__QNX__) || defined(__QNXNTO__) + # define PLATFORM_STRING "QNX" ++#elif defined(PLATFORM_HAIKU) ++# define PLATFORM_STRING "Haiku" + #elif defined(PLATFORM_OSX) + # define PLATFORM_STRING "MacOSX" + #elif defined(PLATFORM_MAC) +diff --git a/common/net_sys.h b/common/net_sys.h +index 9b69bd3..80dc6ce 100644 +--- a/common/net_sys.h ++++ b/common/net_sys.h +@@ -50,7 +50,7 @@ + #endif /* BSD, sockaddr */ + + /* unix includes and compatibility macros */ +-#if defined(PLATFORM_UNIX) || defined(PLATFORM_RISCOS) ++#if defined(PLATFORM_UNIX) || defined(PLATFORM_RISCOS) || defined(PLATFORM_HAIKU) + + #include + #include +diff --git a/common/q_stdinc.h b/common/q_stdinc.h +index 41bc316..0333319 100644 +--- a/common/q_stdinc.h ++++ b/common/q_stdinc.h +@@ -86,8 +86,12 @@ + /* Make sure the types really have the right + * sizes: These macros are from SDL headers. + */ ++#ifdef __HAIKU__ ++#define COMPILE_TIME_ASSERT(name, x) ++#else + #define COMPILE_TIME_ASSERT(name, x) \ + typedef int dummy_ ## name[(x) * 2 - 1] ++#endif + + COMPILE_TIME_ASSERT(char, sizeof(char) == 1); + COMPILE_TIME_ASSERT(float, sizeof(float) == 4); +diff --git a/engine/hexen2/Makefile b/engine/hexen2/Makefile +index 66e4dd3..971c888 100644 +--- a/engine/hexen2/Makefile ++++ b/engine/hexen2/Makefile +@@ -412,6 +412,9 @@ endif + ifeq ($(HOST_OS),qnx) + SYSLIBS += -lsocket + endif ++ifeq ($(HOST_OS),haiku) ++SYSLIBS += -lnetwork ++endif + ifeq ($(HOST_OS),sunos) + SYSLIBS += -lsocket -lnsl -lresolv + endif +diff --git a/engine/hexen2/net_udp.c b/engine/hexen2/net_udp.c +index 48e313b..804cad5 100644 +--- a/engine/hexen2/net_udp.c ++++ b/engine/hexen2/net_udp.c +@@ -55,6 +55,7 @@ struct Library *SocketBase; + + static int udp_scan_iface (sys_socket_t socketfd) + { ++#ifndef __HAIKU__ + struct ifconf ifc; + struct ifreq *ifr; + char buf[8192]; +@@ -93,7 +94,7 @@ static int udp_scan_iface (sys_socket_t socketfd) + return 0; + } + } +- ++#endif + return -1; + } + +-- +2.16.4 + + +From e1983a5560414a664dd2058e4618f8054b2cdf32 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Mon, 10 Sep 2018 21:05:00 +1000 +Subject: Fix cursor scancodes + + +diff --git a/engine/h2shared/in_sdl.c b/engine/h2shared/in_sdl.c +index bd264d1..3a7a2e9 100644 +--- a/engine/h2shared/in_sdl.c ++++ b/engine/h2shared/in_sdl.c +@@ -887,6 +887,20 @@ void IN_SendKeyEvents (void) + } + /* else: it's an international character */ + } ++ switch (sym) { ++ case 28: ++ sym = 276; ++ break; ++ case 29: ++ sym = 275; ++ break; ++ case 31: ++ sym = 274; ++ break; ++ case 30: ++ sym = 273; ++ break; ++ } + /*printf("You pressed %s (%d) (%c)\n", SDL_GetKeyName(sym), sym, sym);*/ + + switch (sym) +-- +2.16.4 + + +From 91983190d764f5f0e6946282afea61de8ae0868d Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Mon, 10 Sep 2018 21:46:52 +1000 +Subject: Fix settings dir + + +diff --git a/engine/h2shared/userdir.h b/engine/h2shared/userdir.h +index f821df5..1e13bc8 100644 +--- a/engine/h2shared/userdir.h ++++ b/engine/h2shared/userdir.h +@@ -40,6 +40,8 @@ + + #if defined(PLATFORM_OSX) + #define AOT_USERDIR SYS_USERDIR_OSX ++#elif defined(PLATFORM_HAIKU) ++#define AOT_USERDIR "config/settings/hexen2" + #else /* unix: */ + #define AOT_USERDIR SYS_USERDIR_UNIX + #endif +-- +2.16.4 + + +From 3c566975035cebb10a70f68470875048b5b84055 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Mon, 10 Sep 2018 21:47:17 +1000 +Subject: Set current dir to application floder + + +diff --git a/engine/hexen2/sys_unix.c b/engine/hexen2/sys_unix.c +index e387e32..1a0414d 100644 +--- a/engine/hexen2/sys_unix.c ++++ b/engine/hexen2/sys_unix.c +@@ -683,6 +683,23 @@ int main (int argc, char **argv) + int i; + double time, oldtime, newtime; + ++#ifdef PLATFORM_HAIKU ++ char abs_exe_path[PATH_MAX]; ++ char path_save[PATH_MAX]; ++ char *p; ++ ++ if(!(p = strrchr(argv[0], '/'))) { ++ getcwd(abs_exe_path, sizeof(abs_exe_path)); ++ } else { ++ *p = '\0'; ++ getcwd(path_save, sizeof(path_save)); ++ chdir(argv[0]); ++ getcwd(abs_exe_path, sizeof(abs_exe_path)); ++ chdir(path_save); ++ } ++ chdir(abs_exe_path); ++#endif ++ + PrintVersion(); + + if (argc > 1) +-- +2.16.4 + diff --git a/games-fps/uhexen2/uhexen2-1.5.9.recipe b/games-fps/uhexen2/uhexen2-1.5.9.recipe new file mode 100644 index 000000000..fc2c86178 --- /dev/null +++ b/games-fps/uhexen2/uhexen2-1.5.9.recipe @@ -0,0 +1,80 @@ +SUMMARY="A cross-platform port of Hexen II game" +DESCRIPTION="Hammer of Thyrion (uHexen2) is a cross-platform port of Raven Software's Hexen II source. \ +It is based on an older linux port, Anvil of Thyrion. HoT includes countless bug fixes, improved music, \ +sound and video modes, opengl improvements, support for many operating systems and architectures, and \ +documentation among many others." +HOMEPAGE="https://sourceforge.net/projects/uhexen2/" +COPYRIGHT="2000 Raven Software" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://sourceforge.net/projects/uhexen2/files/Hammer%20of%20Thyrion/$portVersion/Source/hexen2source-$portVersion.tgz" +CHECKSUM_SHA256="2aa84c141a820f9087850aacf3684a5f71c434428bc57545899eda1b9a28c3e0" +SOURCE_DIR="hexen2source-$portVersion" +SOURCE_URI_2="https://sourceforge.net/projects/uhexen2/files/Hexen2Demo-Nov.1997/hexen2demo_nov1997-linux-i586.tgz" +CHECKSUM_SHA256_2="2df15cde0128b7a036e71995e068ca853f13be8e2b591caac140025d66643fc0" +SOURCE_DIR_2="hexen2demo_nov1997" +PATCHES="uhexen2-$portVersion.patchset" +ADDITIONAL_FILES="uhexen2.rdef.in" + +ARCHITECTURES="!x86_gcc2 x86_64 ?x86" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + uhexen2$secondaryArchSuffix = $portVersion + app:Hexen2$secondaryArchSuffix + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libmad$secondaryArchSuffix + lib:libogg$secondaryArchSuffix + lib:libSDL$secondaryArchSuffix + lib:libvorbis$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libmad$secondaryArchSuffix + devel:libogg$secondaryArchSuffix + devel:libSDL$secondaryArchSuffix + devel:libvorbis$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + cd engine/hexen2 + make h2 $jobArgs +} + +INSTALL() +{ + mkdir -p $appsDir/uHexen2 + cp engine/hexen2/hexen2 "$appsDir/uHexen2/Hexen II" + cp -rf $sourceDir2/data1 \ + $sourceDir2/docs \ + $sourceDir2/DEMO.TXT \ + $sourceDir2/SUBLICENSE.doc \ + $appsDir/uHexen2 + + local APP_SIGNATURE="application/x-vnd.uhexen2" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/uhexen2.rdef.in > $sourceDir/uhexen2.rdef + + addResourcesToBinaries $sourceDir/uhexen2.rdef \ + "$appsDir/uHexen2/Hexen II" + addAppDeskbarSymlink "$appsDir/uHexen2/Hexen II" +}