eezstreet Posted March 30, 2017 Author Posted March 30, 2017 I didn't think the game had backwards compatibility?
Teancum Posted March 30, 2017 Posted March 30, 2017 Not officially. If you're running a JTAG/RGH modded system you can get some unofficial updates installed. I no longer play online with my 360 since I have an Xbox One, so I went ahead and made it modded. It's nice because my kids like to try and get all my game discs. This way they sit in a bin under our bed in our room, and everything runs off the hard drive.
Alvar007 Posted March 30, 2017 Posted March 30, 2017 It is officially backwards compatible. I can play it normally in my unmodded 360. Outcast however is not.
eezstreet Posted April 2, 2017 Author Posted April 2, 2017 @@Teancum here, try this version out: https://www.dropbox.com/s/kjymtlvp7e29jlu/gobconvert_test.zip?dl=0 You'll want to specify compression level in the commandline with the argument: gobconvert.exe <filename.zip> -compress=<number from 0 to 9> So for instance: gobconvert.exe assets_mp.zip -compress=1 Teancum likes this
Teancum Posted April 2, 2017 Posted April 2, 2017 Still waiting for the TV to be free (family is using it now), but I realized something. There may be checksums on the gob, particularly in MP. I found references to such in the original MP source, so odds are if mods are available it may be SP only as we shouldn't compile new executables. ***EDIT*** Ran the SP executable this time. I got to the splash screen at least before locking up. I'll look at the SP source again. Problem is that it is far more modified than MP from where we seemingly were doing some tests on 360. Still, it looks like they were aiming to run gobs, so maybe that code is untouched. I'll look to see if there's some checksum against the gob
eezstreet Posted April 3, 2017 Author Posted April 3, 2017 Which screen does it fail at? Before the license screen? After the license screen?
Teancum Posted April 3, 2017 Posted April 3, 2017 In both multi player and single player it fails at the license/splash screen using various compression levels, including 0. The splash screen exists outside of the gob, in /base/media
eezstreet Posted April 4, 2017 Author Posted April 4, 2017 That would mean it's failing anywhere in this chunk of code: Cmd_Init (); Cvar_Init (); // get the commandline cvars set Com_StartupVariable( NULL ); // done early so bind command exists CL_InitKeyCommands(); #ifdef _XBOX extern void Sys_FilecodeScan_f(); Sys_InitFileCodes(); Cmd_AddCommand("filecodes", Sys_FilecodeScan_f); extern void Sys_StreamInit(); Sys_StreamInit(); // This just forces the static singleton in the function to call // its constructor, which allocates a stupid 12 byte block of // memory that never gets freed. Otherwise, it ends up stranded in // the middle of the zone: TheGhoul2InfoArray(); #endif FS_InitFilesystem (); //uses z_malloc R_InitWorldEffects(); // this doesn't do much but I want to be sure certain variables are intialized. Cbuf_AddText ("exec default.cfg\n"); // skip the jaconfig.cfg if "safe" is on the command line if ( !Com_SafeMode() ) { Cbuf_AddText ("exec jaconfig.cfg\n"); } Cbuf_AddText ("exec autoexec.cfg\n"); Cbuf_Execute (); // override anything from the config files with command line args Com_StartupVariable( NULL ); // allocate the stack based hunk allocator Com_InitHunkMemory(); // if any archived cvars are modified after this, we will trigger a writing // of the config file cvar_modifiedFlags &= ~CVAR_ARCHIVE; // // init commands and vars // Cmd_AddCommand ("quit", Com_Quit_f); Cmd_AddCommand ("writeconfig", Com_WriteConfig_f ); com_maxfps = Cvar_Get ("com_maxfps", "85", CVAR_ARCHIVE); com_developer = Cvar_Get ("developer", "0", CVAR_TEMP ); com_logfile = Cvar_Get ("logfile", "0", CVAR_TEMP ); com_speedslog = Cvar_Get ("speedslog", "0", CVAR_TEMP ); com_timescale = Cvar_Get ("timescale", "1", CVAR_CHEAT ); com_fixedtime = Cvar_Get ("fixedtime", "0", CVAR_CHEAT); com_showtrace = Cvar_Get ("com_showtrace", "0", CVAR_CHEAT); com_terrainPhysics = Cvar_Get ("com_terrainPhysics", "1", CVAR_CHEAT); com_viewlog = Cvar_Get( "viewlog", "0", CVAR_TEMP ); com_speeds = Cvar_Get ("com_speeds", "0", 0); #ifdef G2_PERFORMANCE_ANALYSIS com_G2Report = Cvar_Get("com_G2Report", "0", 0); #endif cl_paused = Cvar_Get ("cl_paused", "0", CVAR_ROM); sv_paused = Cvar_Get ("sv_paused", "0", CVAR_ROM); com_sv_running = Cvar_Get ("sv_running", "0", CVAR_ROM); com_cl_running = Cvar_Get ("cl_running", "0", CVAR_ROM); com_skippingcin = Cvar_Get ("skippingCinematic", "0", CVAR_ROM); com_buildScript = Cvar_Get( "com_buildScript", "0", 0 ); if ( com_developer && com_developer->integer ) { Cmd_AddCommand ("error", Com_Error_f); Cmd_AddCommand ("crash", Com_Crash_f ); Cmd_AddCommand ("freeze", Com_Freeze_f); } s = va("%s %s %s", Q3_VERSION, CPUSTRING, __DATE__ ); com_version = Cvar_Get ("version", s, CVAR_ROM | CVAR_SERVERINFO ); // So any controller can skip the logo movies: inSplashMenu = Cvar_Get( "inSplashMenu", "1", 0 ); controllerOut= Cvar_Get( "ControllerOutNum", "-1", 0); #ifdef XBOX_DEMO // Cvar used to hide "QUIT TO DEMOS MENU" options if we weren't started by CDX extern bool demoLaunchDataValid; if( demoLaunchDataValid ) Cvar_SetValue( "ui_allowDemoQuit", 1 ); else Cvar_SetValue( "ui_allowDemoQuit", 0 ); #endif SE_Init(); // Initialize StringEd Sys_Init(); // this also detects CPU type, so I can now do this CPU check below... Netchan_Init( Com_Milliseconds() & 0xffff ); // pick a port value that should be nice and random // VM_Init(); SV_Init(); CL_Init(); #ifdef _XBOX // Experiment. Sound memory never gets freed, move it earlier. This // will also let us play movies sooner, if we need to. extern void CL_StartSound(void); CL_StartSound(); #endif Sys_ShowConsole( com_viewlog->integer, qfalse ); // set com_frameTime so that if a map is started on the // command line it will still be able to count on com_frameTime // being random enough for a serverid com_frameTime = Com_Milliseconds(); // add + commands from command line #ifndef _XBOX if ( !Com_AddStartupCommands() ) { #ifdef NDEBUG // if the user didn't give any commands, run default action // if ( !com_dedicated->integer ) { Cbuf_AddText ("cinematic openinglogos\n"); // if( !com_introPlayed->integer ) { // Cvar_Set( com_introPlayed->name, "1" ); // Cvar_Set( "nextmap", "cinematic intro" ); // } } #endif } #endif Smoo and DarthValeria like this
Teancum Posted April 7, 2017 Posted April 7, 2017 So I did a really basic experiment just now -- I swapped the GFC/GOB names so that assets.gfc/.gob became assets_mp.gfc/.gob and vice versa. Both the SP and MP executables loaded just fine. I had previously checked if they shared the same .gfc/.gob by deleting one or the other, and I can also confirm that they do indeed rely on their individual sets. The SP xbe (XBox Executable) loads assets.gob and MP loads assets_mp.gob. Basically this leads me to believe that there's not some sort of check to ensure it's the original container for that executable, but that the problem must be elsewhere. I can understand if you're bored with this though. If you are would you mind passing the source along? If not I'll do some more thinking to try and help resolve the issue.
eezstreet Posted April 7, 2017 Author Posted April 7, 2017 So I did a really basic experiment just now -- I swapped the GFC/GOB names so that assets.gfc/.gob became assets_mp.gfc/.gob and vice versa. Both the SP and MP executables loaded just fine. I had previously checked if they shared the same .gfc/.gob by deleting one or the other, and I can also confirm that they do indeed rely on their individual sets. The SP xbe (XBox Executable) loads assets.gob and MP loads assets_mp.gob. Basically this leads me to believe that there's not some sort of check to ensure it's the original container for that executable, but that the problem must be elsewhere. I can understand if you're bored with this though. If you are would you mind passing the source along? If not I'll do some more thinking to try and help resolve the issue.Not bored, I'm just unsure of how to proceed. I looked in the source code pretty extensively and I wasn't able to find any sort of issue indicating the problem. But I can provide the source code, sure. Teancum likes this
DarthDementous Posted April 20, 2017 Posted April 20, 2017 so what are the advantages of being able to modify the console version of Jedi Academy? I thought that the PC and console versions were almost identical.
Teancum Posted April 20, 2017 Posted April 20, 2017 The main reason I was hoping to do it was that my family and friends are all console gamers. When we get together we can carry just a few Xbox consoles and 8 controllers in a bag, hook them up to 2 TVs, and instantly have an 8 player battle. RAILBACK likes this
DarthDementous Posted April 21, 2017 Posted April 21, 2017 The main reason I was hoping to do it was that my family and friends are all console gamers. When we get together we can carry just a few Xbox consoles and 8 controllers in a bag, hook them up to 2 TVs, and instantly have an 8 player battle.JKA LAN party with mods certainly sounds fun, god's speed to you! DarthValeria likes this
TomArrow Posted March 17, 2022 Posted March 17, 2022 Hi, I'm getting an error with gobextract: [gobextract.cpp:151]: Not enough memory to perform operation. What could this mean? DarthValeria likes this
Lancelot Posted March 17, 2022 Posted March 17, 2022 1 hour ago, TomArrow said: Hi, I'm getting an error with gobextract: [gobextract.cpp:151]: Not enough memory to perform operation. What could this mean? This is a RAM issue, which can occur when a process takes up too much memory. If you have 4 or 8 GB of RAM, you need to upgrade.
TomArrow Posted March 17, 2022 Posted March 17, 2022 Well I thought of that, but I have more than enough memory and a hundred gigabytes of swap file available, I don't think that this is the issue. DarthValeria likes this
mikisoft Posted January 30 Posted January 30 I would love for someone to continue this project. We need a working GOBconver.exe script so that XBOX can see repackaged files. Hope for the best
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now