-
Posts
5,207 -
Joined
-
Last visited
Content Type
Profiles
News Articles
Tutorials
Forums
Downloads
Posts posted by eezstreet
-
-
What is the NPC code for it? galak_mech?
-
Where is the source code? is it on Github?
-
-
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 -
WHY IN THE FUCK NOT!?
Because it's an experimental/incomplete feature.
-
I mean that JK2:Enhanced and JA:Enhanced are on the same repository, not in two separate repositories. Sorry if I was unclear about that.
-
/thedestroyer@@eezstreet Source all in one... What, does that mean I could use saber staff in outcast now?
-
Thanks, I will check it out.
EDIT: Where does this occur? Can you give some more details?
-
I've started work on getting JK2:Enhanced working using rend2, based on SomaZ's work with DF2 mod (which made me realize how much code is actually shared between the two projects, interestingly enough). Currently so far I've got it merged in a rend2-sp branch.
Current status: it crashes upon startup with this error: https://pastebin.com/Gcpqphqq
Boothand, Smoo, Archangel35757 and 2 others like this -
Are you going to bring rend2-GL2 code from DF2 into this repo? Or a branch or fork?
It's going to be a branch for right now.
Archangel35757 likes this -
The source code for all of the JK:Enhanced is now on one codebase. The OP has been updated with this information.
Archangel35757 and Smoo like this -
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
DarthValeria and Smoo like this -
Removed a lot of pointless drama here (10+ posts), but bottom line: when a file says as its license, "Other players may not share or modify this work." that means you don't share or modify the work. Likewise, you don't attack people for their decision to license such a work that way. That's their decision, and their right to defend their work. If you don't understand that or why that's bad, that's your problem, not theirs. Let's keep it civil now and stay on topic.
Noodle, JAWSFreelao, Penekowski and 6 others like this -
Which screen does it fail at? Before the license screen? After the license screen?
-
@@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 -
Thread(s) merged.
OobidoobBenubi, Cerez, Bek and 1 other like this -
@@eezstreet Will putting that code into Jedi Outcast that you linked work? I would like the destroyer as an option for Outcast SP, but I failed doing this a while ago. Exar Kun like, style of combat for the win! I would actually love THIS!!! if what I said can be done
I think it'd make more sense to pursue a hilt system like Jedi Academy, but that's just me.
-
I didn't think the game had backwards compatibility?
-
So I took the updated build for a spin. It still locked up the console. I don't know if it's the compression level or what, so I'll try out your version with compression settings when it's up and see what we have.
Are you running it on a physical device or are you using an emulator (XDK?)
-
zlib's compression algorithm doesn't change across versions, it's the same every time, otherwise you'd get issues with extraction for every application that uses zlib (and there are a lot).
I tried it with all 9 compression levels and it never produced anything that had the same size as the original archive, always either smaller (with compression) or larger (without compression).
I ran `gobextract <> <> -noextract -echodata -debug` to see if there was any differences between the two files and they both validated correctly, although the converted assets had backslashes and a leading dot in front of them, so for example:
Mine:
botfiles/alora.jkb
Theirs:
.\botfiles\alora.jkb
That alone couldn't cause freezing though, because the filesystem is smart enough to handle the paths correctly (at least this is the case on the pc version)
EDIT: Oh yeah, nope. That would definitely cause a problem. The filename is hashed and compared to other files in the file control table...that was my bad
I'll make some modifications and do a third revision, with a couple of planned features:
- gobconvert: ability to specify how compressed you want it to be with -level=X (scale of 0 to 9, 1 default, 0 for totally uncompressed)
- gobextract: drag and drop support, output argument optional (defaults to ./out/)
EDIT #2: In the meantime @@Teancum, could you test this for me? It should have the correct paths:
https://www.dropbox.com/s/aozovacngesuyv5/gobconvert_test.zip?dl=0
-
I used simply zlib's compress() function. It must not play nice with that for some reason.
Try using gobconvett and then gobextract to verify all of the files got added.
-
Yeah, I have BSPthing compiled to split the BSP. It works, but errors out after the last split. Not sure if there's extra data at the end or of there's an actual error. I'll have to check. So specifically Xbox textures need to be DXT3 DDS, max of 256x256 (small, I know). In other games loadscreens can be 512x512, but I'll have to test that as well. Sounds are banked separately, so if people are looking for the ability to dump them into a pk3-->gob, no can do (they live outside the gob in their own archive). Tools might already exist if it's a proprietary Xbox format, but I'll have to look into it more.
I did try using an Xbox .glm on PC, but it crashed, so I'm unsure if PC .glms will work on Xbox. I'll see what Modviewer shows (I think that's what it's called -- the model viewing app?). I'm wondering if the skeleton wasn't further simplified or something. Vicarious Visions optimized several other formats for other ports they did, like Doom 3. If nothing else code comparison for Ghoul2 between OpenJK and the Xbox code should provide some answers, but I'll try the simplest solutions first. I think it's only fitting to try the Jedi Academy Bonus Map Pack first.
So speaking of maps, I'm curious -- will a Jedi Outcast MP map play in Jedi Academy without any modifications? I feel like I remember issues with bots, but it's been AGES since I've messed with it. There are a few mod maps from JO I want to play.
Yep, JK2 MP maps will work in Jedi Academy as long as the textures and shaders exist for it. SP maps, not so much. You can see my efforts in reverse engineering the JA SP game prior to the source release to load the JK2 SP maps with the JK2:Uncut mod:
-
Just a joke of course.
This is perfect, though, and I thank you for that. I can extract all my assets, rebuild it as assets.pk3, add mods to the pk3, then convert to gob and test. Couldn't ask for more.
Keep in mind, you'll need to make some modifications that are specific to the console you're working with. So as a result, you'll need to edit a _console_dir_list_ file in models/players (although I'm not sure this is actually used by the game) and you'll need to make sure your textures are the correct format for the console - DDS for xbox and TDF for gamecube. For maps you'll need to break the BSP into its component lumps (the code for it exists in the xbox code).
Teancum likes this -
v2 of the GOB tools is out now, it has gobconvert in it. I think that's about all that people should need to do console modding. Eat your hearts out etc
Teancum likes this
Anybody have this user's latest email?
in Modding Assistance
Posted
He's been spotted a few days ago on the JKCommunity Discord server (https://discord.gg/ZWGEDjX).
@@Almightygir