19 themes/skins available for your browsing pleasure. A variety of looks, 6 AC2 exclusives - Featuring SMACX, Civ6 Firaxis, and two CivII themes.[new Theme Select Box, bottom right sidebar - works for lurkers, too]
0 Members and 1 Guest are viewing this topic.
I thought you might find this interesting, Yitzi--apparently since the developer is pretty much done improving Pandora, they gave a player access to the source code to improve the AI--http://www.slitherine.com/forum/viewtopic.php?f=173&t=55054. Too bad they don't that with all games, like SMAC/X.
Actually, rather than wait two weeks if Yitzi or whoever would like to merge my patch that would be great. Releasing a stand alone patch just splitters the patches even more and since Yitzi has been doing the majority of patch work merging the new patches into his sounds like the best solution. Especially since I don't plan to continue releasing patches.I highly recommend using NSIS to create a single click installer. I have included the NSI script along with all the comments. This allows for managing all the related files besides just the exes such as the various languages for text files and ability to update registry among other things. I tried to make clear comments for each section, but more than happy to explain anything.I have a mix of various text files by Guv. The ones I have packaged as part of my patch are not the latest. I believe the ones in "final_update_txt.zip" are the final set he sent me via email. I didn't merge them together so folks can see. However, some kind of unified text files would be a good call. He did a LOT of work updating and cleaning up the stock ones.Also, inside my patch files I included my internal patches.txt I use to locate specific patch data to speed up applying them to binary. Actually, I don't think I ever applied Kyrub's patches to my binaries. However, everything else should be there. I tested all my patch code extensively.My readme includes detailed explanations of all the patches and what they do.Enjoy. I should of shared this sooner with the community.
Was sighted commenting on rpgcodex forums earlier this week about the paid mods fiasco.http://www.rpgcodex.net/forums/index.php?threads/steam-is-no-longer-charging-for-mods-now-lmao.98728/page-31#post-3884105He is still around, but he tends to disappear for a long time once in a while.
Processing config: Processing plugin dlls: "C:\Program Files (x86)\NSIS\Plugins\*.dll" - AdvSplash::show - Banner::destroy - Banner::getWindow - Banner::show - BgImage::AddImage - BgImage::AddText - BgImage::Clear - BgImage::Destroy - BgImage::Redraw - BgImage::SetBg - BgImage::SetReturn - BgImage::Sound - Dialer::AttemptConnect - Dialer::AutodialHangup - Dialer::AutodialOnline - Dialer::AutodialUnattended - Dialer::GetConnectedState - InstallOptions::dialog - InstallOptions::initDialog - InstallOptions::show - LangDLL::LangDialog - Math::Script - NSISdl::download - NSISdl::download_quiet - Splash::show - StartMenu::Init - StartMenu::Select - StartMenu::Show - System::Alloc - System::Call - System::Copy - System::Free - System::Get - System::Int64Op - System::Store - TypeLib::GetLibVersion - TypeLib::Register - TypeLib::UnRegister - UserInfo::GetAccountType - UserInfo::GetName - UserInfo::GetOriginalAccountType - VPatch::GetFileCRC32 - VPatch::GetFileMD5 - VPatch::vpatchfile - nsDialogs::Create - nsDialogs::CreateControl - nsDialogs::CreateItem - nsDialogs::CreateTimer - nsDialogs::GetUserData - nsDialogs::KillTimer - nsDialogs::OnBack - nsDialogs::OnChange - nsDialogs::OnClick - nsDialogs::OnNotify - nsDialogs::SelectFileDialog - nsDialogs::SelectFolderDialog - nsDialogs::SetRTL - nsDialogs::SetUserData - nsDialogs::Show - nsExec::Exec - nsExec::ExecToLog - nsExec::ExecToStack!define: "MUI_INSERT_NSISCONF"=""Changing directory to: "C:\Users\*\Documents\patch_2.0_files\##patcher"Processing script file: "C:\Users\*\Documents\patch_2.0_files\##patcher\SMACX Patch.nsi"!include: "C:\Program Files (x86)\NSIS\Include\MUI2.nsh"!include: "C:\Program Files (x86)\NSIS\Contrib\Modern UI 2\MUI2.nsh"NSIS Modern User Interface version 2.0 - Copyright 2002-2009 Joost Verburg (C:\Program Files (x86)\NSIS\Contrib\Modern UI 2\MUI2.nsh:8 )!define: "MUI_INCLUDED"=""!define: "MUI_SYSVERSION"="2.0"!define: "MUI_VERBOSE"="3"!include: closed: "C:\Program Files (x86)\NSIS\Contrib\Modern UI 2\MUI2.nsh"!include: closed: "C:\Program Files (x86)\NSIS\Include\MUI2.nsh"!define: "APP_NAME"="SMAC/X Unofficial Patch"!define: "VERSION"="02.00.00.00"!define: "VERSION_SHRT"="2.00"!define: "REG_ROOT"="HKLM"!define: "REG_APP_PATH"="Software\Microsoft\DirectPlay\Applications"!define: "PATCH_FILES_PATH"="K:\#AC-ACX Project\##current patch files"VIAddVersionKey: "ProductName" "SMAC/X Unofficial Patch"VIAddVersionKey: "CompanyName" "scient"VIAddVersionKey: "LegalCopyright" "scient © 2013"VIAddVersionKey: "FileDescription" "SMAC/X Unofficial Patch"VIAddVersionKey: "FileVersion" "02.00.00.00"CRCCheck: onXPStyle: onSetCompressor: /FINAL /SOLID LZMAName: "SMAC/X Unofficial Patch"Caption: "SMAC/X Unofficial Patch v2.00 Installer"OutFile: "SMACX_UP_v2.00_Installer.exe"!define: "MUI_ABORTWARNING"=""!define: "MUI_UNABORTWARNING"=""!define: "MUI_LANGDLL_REGISTRY_VALUENAME"="Installer Language"!insertmacro: MUI_PAGE_DIRECTORY!insertmacro: end of MUI_PAGE_DIRECTORY!insertmacro: MUI_PAGE_INSTFILES!insertmacro: end of MUI_PAGE_INSTFILES!insertmacro: MUI_UNPAGE_CONFIRM!insertmacro: end of MUI_UNPAGE_CONFIRM!insertmacro: MUI_UNPAGE_INSTFILES!insertmacro: end of MUI_UNPAGE_INSTFILES!insertmacro: MUI_LANGUAGE!insertmacro: end of MUI_LANGUAGE!insertmacro: MUI_RESERVEFILE_LANGDLL!insertmacro: end of MUI_RESERVEFILE_LANGDLLFunction: ".onInit"!insertmacro: MUI_LANGDLL_DISPLAY!insertmacro: end of MUI_LANGDLL_DISPLAYReadRegStr $0 HKLM\Software\Microsoft\DirectPlay\Applications\Sid Meier's Alpha Centauri\UnofficialPathStrCmp "$0" "" equal=0, nonequal=default_pathReadRegStr $0 HKLM\Software\Microsoft\DirectPlay\Applications\Sid Meier's Planetary Pack\PathStrCmp "$0" "" equal=0, nonequal=default_pathReadRegStr $0 HKLM\Software\Microsoft\DirectPlay\Applications\Sid Meier's Alpha Centauri\PathStrCmp "$0" "" equal=0, nonequal=default_pathReadRegStr $0 HKLM\Software\Microsoft\DirectPlay\Applications\Sid Meier's Alien Crossfire\PathStrCmp "$0" "" equal=0, nonequal=default_pathStrCpy $0 "$PROGRAMFILES\Sid Meier's Alpha Centauri" () ()StrCpy $INSTDIR "$0" () ()FunctionEnd!define: "BCKPATH"="$INSTDIR\_backup_v2.00"Section: "-MainProgram"SetShellVarContext: currentRename: $INSTDIR\fungalpayld_sm.pcx->$INSTDIR\fungpayld_sm.pcxRename: $INSTDIR\humref_sm.pcx->$INSTDIR\humanref_sm.pcxRename: $INSTDIR\sporelnch_sm.pcx->$INSTDIR\sporlnch_sm.pcxWriteINIStr: [PREFERENCES] ForceOldVoxelAlgorithm=0 in $INSTDIR\Alpha Centauri.iniIfFileExists: "$INSTDIR\fx" ? 0 : +2WriteRegStr: HKLM\Software\Microsoft\DirectPlay\Applications\Sid Meier's Alpha Centauri\Complete=YesWriteRegStr: HKLM\Software\Microsoft\DirectPlay\Applications\Sid Meier's Alpha Centauri\UnofficialVer=2.00WriteRegStr: HKLM\Software\Microsoft\DirectPlay\Applications\Sid Meier's Alpha Centauri\UnofficialPath=$INSTDIRCreateDirectory: "$INSTDIR\_backup_v2.00\fx"Delete: "$INSTDIR\*.016"Delete: "$INSTDIR\*.256"Delete: "$INSTDIR\*.icd"Delete: "$INSTDIR\clcd*.dll"Delete: "$INSTDIR\clokspl.exe"Delete: "$INSTDIR\dplayerx.dll"Delete: "$INSTDIR\drvmgt.dll"Delete: "$INSTDIR\secdrv.sys"Delete: "$INSTDIR\logfile.txt"CopyFiles: (silent) "$INSTDIR\fx\CPU nn already linked.wav" -> "$INSTDIR\_backup_v2.00\fx", size=0KBCopyFiles: (silent) "$INSTDIR\fx\wpn missile launcher.wav" -> "$INSTDIR\_backup_v2.00\fx", size=0KBCopyFiles: (silent) "$INSTDIR\fx\wpn singularity laser.wav" -> "$INSTDIR\_backup_v2.00\fx", size=0KBCopyFiles: (silent) "$INSTDIR\terran.exe" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\alpha.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\basename.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\believe.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\blurbs.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\concepts.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\credits.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\facedit.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\faction.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\flavor.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\gaians.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\help.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\hive.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\Holobook.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\interlude.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\jackal.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\labels.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\menu.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\monument.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\morgan.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\movlist.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\peace.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\scenario.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\script.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\spartans.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\system.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\techlongs.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\techshorts.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\tutor.txt" -> "$INSTDIR\_backup_v2.00", size=0KBCopyFiles: (silent) "$INSTDIR\univ.txt" -> "$INSTDIR\_backup_v2.00", size=0KBSetOutPath: "$INSTDIR\fx"File: "K:\#AC-ACX Project\##current patch files\ALL\CPU nn already linked.wav" -> no files found.Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] | /oname=outfile one_file_only)Error in script "C:\Users\*\Documents\patch_2.0_files\##patcher\SMACX Patch.nsi" on line 150 -- aborting creation process
# TODO# custom image on launch -> AdvSplash# banner image!include "MUI2.nsh"!define APP_NAME "SMAC/X Unofficial Patch"#!define WEB_SITE "http://www.civgaming.net/forums/"!define VERSION "02.00.00.00"!define VERSION_SHRT "2.00"!define REG_ROOT "HKLM"!define REG_APP_PATH "Software\Microsoft\DirectPlay\Applications"#!define REG_GOG_PATH "Software\GOG.com"!define PATCH_FILES_PATH "K:\#AC-ACX Project\##current patch files"
Quote from: scient on May 14, 2016, 08:49:41 PMQuote from: BUncle on May 10, 2016, 02:49:50 AMscient talked to ANYone five months ago and I'm only hearing about it now?Like Rumpelstiltskin just say my name and I appear (maybe with a bit of delay haha). I'll do a more in-depth post in one of other threads related to my work on SMACX. For learning RCE, I suggest writing small basic programs in C/C++ and then popping the compiled debug binary into IDA/debugger. OllyDbg is great debugger for beginners. For disassembly, IDA is industry standard. There are some others like Hopper for mac. IDA also had a great decompiler plugin that is quite helpful with SMACX code. This way you have your own original source code and can see what's going on under the hood. Great books under Reverse Engineering section here:http://dfir.org/?q=node/8The x86 binary (windows) was compiled with an older version of Microsoft Visual C++ (5 or 6).So I've been talking with DrazharLn about sharing the database like a week ago. He reached out to me via email, my life has been hectic. I have a little bit of time before things get busy again so I'm currently working on cleaning a few things up and merging notes into the database. There is much do to with understanding data structures as well as what certain globals or enums do. I have tried to identify as much as I can as I work on it. Either way, it makes it a lot easier to say find specific combat, base or diplomacy code than blindly look around. Want to understand something related to global map? Just see all references to g_MAP in database. Things like this. It makes finding patterns and understanding code flow more manageable. Once I finish a draft ready for public, I will host it on here as reference and maybe if people identify more stuff merge that info in future draft. If I run out of time and don't finish want I wanted to, will post it anyway. Either way, it will get posted by first week in June.Glad you're not dead, sir. Sooner is better than later - just sayin'.
Quote from: BUncle on May 10, 2016, 02:49:50 AMscient talked to ANYone five months ago and I'm only hearing about it now?Like Rumpelstiltskin just say my name and I appear (maybe with a bit of delay haha). I'll do a more in-depth post in one of other threads related to my work on SMACX. For learning RCE, I suggest writing small basic programs in C/C++ and then popping the compiled debug binary into IDA/debugger. OllyDbg is great debugger for beginners. For disassembly, IDA is industry standard. There are some others like Hopper for mac. IDA also had a great decompiler plugin that is quite helpful with SMACX code. This way you have your own original source code and can see what's going on under the hood. Great books under Reverse Engineering section here:http://dfir.org/?q=node/8The x86 binary (windows) was compiled with an older version of Microsoft Visual C++ (5 or 6).So I've been talking with DrazharLn about sharing the database like a week ago. He reached out to me via email, my life has been hectic. I have a little bit of time before things get busy again so I'm currently working on cleaning a few things up and merging notes into the database. There is much do to with understanding data structures as well as what certain globals or enums do. I have tried to identify as much as I can as I work on it. Either way, it makes it a lot easier to say find specific combat, base or diplomacy code than blindly look around. Want to understand something related to global map? Just see all references to g_MAP in database. Things like this. It makes finding patterns and understanding code flow more manageable. Once I finish a draft ready for public, I will host it on here as reference and maybe if people identify more stuff merge that info in future draft. If I run out of time and don't finish want I wanted to, will post it anyway. Either way, it will get posted by first week in June.
scient talked to ANYone five months ago and I'm only hearing about it now?
alt_at(int, int)bad_reg(int) : 00575502base_project(int)bit_at(int, int)by_zoom(int, int) : basesbyteflip_dogleader(DogLeader *)byteflip_dogvehicle(DogVehicle *)byteflip_leaders(Leader *)byteflip_monument(Monuments *)byteflip_offers(void)byteflip_player(Player *)byteflip_regions(Region *)byteflip_snoopdogleader(SnoopDogLeader *)byteflip_timecontrol(TimeControl *)byteflip_vehicle(Vehicle *)clear(char *) : null stringclimate_at(int, int)code_at(int, int)crappy(int, int) : something to do with base_terraform()expand(int) : expanding abstract map?, param * 5friction_level(int, int) : get fac_struct_friction_level (0056CB82)get_special(char *, int *) : 005DC85Cget_special_link(char *,int *) : 005DC817has_agenda(int fac1, int fac2, int enum) : checks against fac_struct_diplo_agenda (00577AA9)has_treaty(int,int,int) : checks against fac_struct_diplo_status (00560CBB)help_spock(void): 0x0051F1EChof_load(void) : hall_of_fame()hof_save(void) : hall_of_fame()io_mapwin(MapWin *, std::_FILE *)is_ocean(int, int)map_loc(int, int)on_abstract(int, int)polygon(Buffer *, Vert *, int, int)polygon_dest(Buffer *, Vert *, int, unsigned char *)pop_close(void)popp(char *, char *, int (*)(void))population_limit(int) : base_growth() / base_doctors()reactor_power(int) : 005799CDrecurse_zorder(Win *) : 005F4EC0region_at(int, int)rocky_at(int, int)scan_out_line_poly(int, int)scan_out_line_poly_dest(int, int)sunny(int, int)temp_at(int, int)vector_dist(int, int)vector_dist(int, int, int, int)veh_down(int)veh_who(int, int)xrange_abstract(int) : similar to xrange but specifc to WORLD global?