Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
b578491
First commit, the start of a new FUN gamemode.
ArrayIndexOutOfBound Oct 3, 2024
696ef08
New branch only for debug, tests and findings to keep master cleaner …
ArrayIndexOutOfBound Oct 3, 2024
f332aef
Pushing limits to authorize more unique entities to spawn.
ArrayIndexOutOfBound Oct 4, 2024
8c499b3
Locking the max NPC to 10, with a RELEASE version of the game that se…
ArrayIndexOutOfBound Oct 4, 2024
ef9a576
Added a way to access a funciton in NPC_spawn.cpp via the command "ra…
ArrayIndexOutOfBound Oct 4, 2024
17da992
Changin randomizerdebug to randomizer_debug and adding some results t…
ArrayIndexOutOfBound Oct 5, 2024
055fad5
Push of what I did today.
ArrayIndexOutOfBound Oct 6, 2024
d25bc7f
Add Randomizer menus in pk3 and add seeded randomness
Mugsworth1 Oct 6, 2024
a6004c2
Removed randomizer_debug content from menus
Mugsworth1 Oct 7, 2024
f4b1615
Random Seed now generates a fixed length 9 digit string and displays …
Mugsworth1 Oct 7, 2024
a7790db
temp fix to reduce repeater missile spam to make crashes less frequent
Mugsworth1 Oct 7, 2024
be28d86
Added weapons and ammo randomizer on item racks.
ArrayIndexOutOfBound Oct 16, 2024
9ca2ce8
Prevent crash while copying seed string
Mugsworth1 Oct 17, 2024
df9dacd
Run seed regeneration on new game start
Mugsworth1 Oct 17, 2024
b530640
Added all 'static' NPCs that are necessarry for the game to work smoo…
ArrayIndexOutOfBound Oct 25, 2024
97f9b60
move seed reset into g_main.cpp
Mugsworth1 Oct 25, 2024
7db8ab4
Merge branch 'tests_debugs' of https://github.com/ArrayIndexOutOfBoun…
Mugsworth1 Oct 25, 2024
2e0a49a
Prevent allies from attacking enemies with ignore_enemies flag on
Mugsworth1 Nov 2, 2024
8a12a66
Added a condition to check is the Randomizer is enabled.
ArrayIndexOutOfBound Nov 4, 2024
be6016e
Tests to get an "all items" randomizer.
ArrayIndexOutOfBound Nov 5, 2024
be6f523
Added enable_randomizer config
Mugsworth1 Nov 6, 2024
7a78cd0
Moved seed handling to RandomizerUtils class, applied this during map…
Mugsworth1 Nov 6, 2024
76f3c70
Encapsulated more code between the randomizer check, and moved the de…
ArrayIndexOutOfBound Nov 7, 2024
06ff7f0
Allow interactions with items clipped partially into geometry
Mugsworth1 Nov 7, 2024
6deb7ed
Small push
ArrayIndexOutOfBound Nov 8, 2024
84f73e0
Probably the last forced NPC that we need
ArrayIndexOutOfBound Nov 8, 2024
591c736
Forcepowers now increment by 1 on pickup of a holocron, register holo…
Mugsworth1 Nov 9, 2024
0c4680e
updated assets_randomizer.pk3 to render force holocrons correctly
Mugsworth1 Nov 9, 2024
79d2b4b
Fix build issues using FinalBuild
Mugsworth1 Nov 9, 2024
8e4a22f
general repo cleanup 1
Mugsworth1 Nov 9, 2024
6301fe0
cleanup and ignore commit 2
Mugsworth1 Nov 9, 2024
7380205
Merge pull request #2 from ArrayIndexOutOfBound/cleanup-and-gitignore
ArrayIndexOutOfBound Nov 9, 2024
6e665e1
Added the old values on q_shared.h in commented code.
ArrayIndexOutOfBound Nov 9, 2024
2ce615c
reset when loading auto_kejim_post
Mugsworth1 Nov 10, 2024
d0592af
Quadruple entity limit, double FX limit
Mugsworth1 Nov 11, 2024
546ac8f
Respect set seed value
Mugsworth1 Nov 11, 2024
5ac8cee
Added old values of edited variable important for the engine.
ArrayIndexOutOfBound Nov 12, 2024
b38a8db
Merge pull request #3 from ArrayIndexOutOfBound/increase_ent_limit
ArrayIndexOutOfBound Nov 12, 2024
b6b6015
Fixed the behavior of the lightsaber before yavin_trial + added a ran…
ArrayIndexOutOfBound Nov 13, 2024
5f855b5
Added a second roll when rolling for a saber and force powers.
ArrayIndexOutOfBound Nov 21, 2024
58c4fa0
Get random saber style based on game time
ArrayIndexOutOfBound Dec 6, 2024
b28e6c0
Merge branch 'tests_debugs' into saber_fix_pre_trial
ArrayIndexOutOfBound Dec 6, 2024
48f814b
Merge pull request #5 from ArrayIndexOutOfBound/saber_fix_pre_trial
Mugsworth1 Dec 6, 2024
5275217
Base game fixes (#7)
ArrayIndexOutOfBound Dec 6, 2024
441107c
NPC Behaviour fixes to allow any NPC to take any slot in any map (#4)
Mugsworth1 Dec 16, 2024
47ebb26
Fix for Kyle that couldn't attack with a saber.
ArrayIndexOutOfBound Dec 16, 2024
ba902cb
Merge pull request #9 from ArrayIndexOutOfBound/saber-fix
Mugsworth1 Dec 16, 2024
c9a10d9
Refactor sabre model safety checks (#10)
Mugsworth1 Dec 16, 2024
5c3815c
Fix behaviour set assignment for droids, fix Interrogator not doing a…
Mugsworth1 Dec 19, 2024
7657be6
Making randomized secutiry keys usable, can be transfered between lev…
ArrayIndexOutOfBound Dec 25, 2024
0055cbb
Added a randomized saber lenght (#12)
ArrayIndexOutOfBound Dec 25, 2024
3c0f340
Added some fixes to the list of bug found the 28 December (#14)
ArrayIndexOutOfBound Jan 6, 2025
5828bdc
Secured read on artus_detention warden, preventing crashes.
ArrayIndexOutOfBound Jan 6, 2025
b7749fd
Safe read on variables, the last one I hope.
ArrayIndexOutOfBound Jan 6, 2025
b686657
Enhancements (#15)
ArrayIndexOutOfBound Jan 10, 2025
86a987f
add texture randomizer
Mugsworth1 Jan 11, 2025
f2ce0e4
Merge pull request #20 from ArrayIndexOutOfBound/random_textures
Mugsworth1 Jan 11, 2025
0642795
Added random projectile per projectile shot. Only on blaster weapons.…
ArrayIndexOutOfBound Jan 11, 2025
d524855
Randomized NPC health (#21)
Mugsworth1 Jan 12, 2025
f8dbae6
Fix for memory leaks. Preparing random NPC Speed.
ArrayIndexOutOfBound Jan 12, 2025
fbeae72
Added Random NPC Speed. Range of 33% to 300%.
ArrayIndexOutOfBound Jan 12, 2025
d1042cd
Also added room for description in the basic randomizer menu.
ArrayIndexOutOfBound Jan 12, 2025
bde28e1
Merge pull request #22 from ArrayIndexOutOfBound/memory_leaks_and_npc…
Mugsworth1 Jan 12, 2025
c63168a
Changed the version from 1.1 to 1.2
ArrayIndexOutOfBound Jan 16, 2025
a5918f8
Add assists menu with safeStart, startWithPush and bonusJanHealth (#23)
Mugsworth1 Jan 19, 2025
87bc3d3
Added encapsulation for the assists and redid the UI menu. (#24)
ArrayIndexOutOfBound Jan 19, 2025
00e2831
Hotfix for NPC Jailer and Warden on both detention map.
ArrayIndexOutOfBound Jan 19, 2025
4aa4c1c
Merge branch 'tests_debugs' of https://github.com/ArrayIndexOutOfBoun…
ArrayIndexOutOfBound Jan 19, 2025
452a682
Max HP changes. (#25)
ArrayIndexOutOfBound Feb 13, 2025
7157689
Switching to version 1.3
ArrayIndexOutOfBound Feb 13, 2025
d6f336f
Update README.md
ArrayIndexOutOfBound Apr 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
**/Release
**/SHDebug
*vcxproj.user
*.tlog
code/base/*
code/demo/*
233 changes: 233 additions & 0 deletions README - SpeedOutcast.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
# Speed Outcast

Source port of the singleplayer of Star Wars Jedi Knight II: Jedi Outcast.
Focuses on staying true to the original game to be used for speedrun purposes.
See the [speedrun.com leaderboard](https://www.speedrun.com/jk2) for more information.

Based on the original source code released by Raven, see README.txt.

## New Console Variables

### Input

#### `in_mouse_raw` (0 or 1)

Use raw mouse input. Only applies after an `in_restart` (or after restarting the game).
Default: `1`.

### HUD

#### `cg_drawOverbounceInfo` (0 or 1)

Draw overbounce probabilities, G is for Go, J is for Jump.
Default: `0`.

#### `cg_drawSecrets` (0 or 1)

Show a tracker for found versus total number of secrets on the current level.
Default `0`.

#### `cg_drawServerFPS` (0 or 1)

Show current value of `sv_fps`.
For verification of speedruns for the leaderboards.
Default: `1`.

#### `cg_drawSpeedrunTotalTimer` (0-3)

Draw a total run timer.
Higher values show more decimals.
Default: `0`.

#### `cg_drawSpeedrunLevelTimer` (0-3)

Draw a current level timer.
Higher values show more decimals.
Default: `0`.

#### `cg_drawJumpHelper` (0 or 1)

Draw a helper for correctly timing jump release and crouch jumping.

#### `cg_jumpHelperX` (#)

Horizontal position of the jump helper.
Default: `0.0` (center of the screen).

#### `cg_jumpHelperY` (#)

Vertical position of the jump helper.
Default: `0.0` (center of the screen).

#### `cg_jumpHelperWidth` (#)

Width of the jump helper.
Note that this becomes height when using the vertical jump helper (`cg_jumpHelperHorizontal 0`).
Default: `300`.

#### `cg_jumpHelperHeight` (#)

Height of the jump helper.
Note that this becomes width when using the vertical jump helper (`cg_jumpHelperHorizontal 0`).
Default: `20`.

#### `cg_jumpHelperHorizontal` (-1, 0 or 1)

Whether to draw the jump helper horizontally left-to-right (`1`), horizontally right-to-left (`-1`) or vertically bottom-to-top (`0`).
Default: `1`.

#### `cg_jumpHelperMirror` (0 or 1)

Whether to mirror the jump helper.
Mirrors horizontally when drawing horizontally, vertically otherwise.
Default: `1`.

#### `cg_jumpHelperAutoScale` (0 or 1)

Whether to rescale the jump helper to the same size for each force level.
Default: `0`.

#### `cg_jumpHelperCrouch` (0 or 1)

Show an additional height section for crouch jumping, appended to normal jump height.
Default: `1`.

#### `cg_jumpHelperCurrentScale` (#)

Scale of the indicator for the current height within the jump helper.
Negative values draw from top to bottom, positive values from bottom to top.
Default: `0.5`.

#### `cg_drawSpeed` (0 or 1)

Draw the current player speed.
Default: `0`.

#### `cg_speedScale` (#)

Scale of the text for speed display.
Default: `0.9`.

#### `cg_speedX` (#)

Horizontal offset for drawing speed text, relative to the center of the screen.
Default: `0.0` (center of the screen).

#### `cg_speedY` (#)

Vertical offset for drawing speed text, relative to the center of the screen.
Default: `75.0` (Slightly below center of the screen).

#### `cg_drawStrafeHelper` (0 or 1)

Draw a strafe helper.
Default: `0`.

#### `cg_strafeHelperCenter` (0 or 1)

Put the strafe helper in the center of the screen.
Default: `1`.

#### `cg_strafeHelperCenterMarker` (0 or 1)

Draw a marker in the center of the strafe helper.
Default: `1`.

#### `cg_strafeHelperHeight` (#)

Height of strafe helper bar.
Default: `20.0`.

#### `cg_strafeHelperScale` (#)

Horizontal scale of the strafe helper.
Angles correspond directly to the field of view if this scale is set to `360/cg_fov`.
Default: `4.0`.

#### `cg_strafeHelperSpeedScale` (#)

Scale of the text for speed display tied to strafe helper.
Note that this shows the speed after friction but prior to acceleration, as this is what is relevant for optimal strafing.
It is not the intuitive current player speed.
For that, see `cg_drawSpeed`.
Default: `0.9`.

#### `cg_strafeHelperSpeedX` (#)

Horizontal offset of the text for speed display, relative to the center of the screen.
Default: `0.0` (center of the screen).

#### `cg_strafeHelperSpeedY` (#)

Vertical offset of the text for speed display, relative to the strafe helper.
Default: `0.0` (directly under the strafe helper).

#### `cg_strafeHelperY` (#)

Vertical position of the strafe helper.
Default: `50.0`.

#### `cg_strafeHelperColor[...]` (0.0 - 1.0)

Color components (red, green, blue, alpha) for different strafe helper elements.
These are `Accelerating`, `Optimal`, `CenterMarker` and `Speed`.
Colors can be set more conveniently with the corresponding commands.

### Cosmetics

#### `g_saber_color` (color)

Set saber color.
Valid colors: "red", "orange", "yellow", "green", "blue", and "purple".
Default: "blue"

### Gameplay

#### `g_speedFactorLanding` (0 or 1)

To play with factors to multiply speed by on landing.
A value of `0.5` will obtain Jedi Academy behaviour, `1.0` is the original behaviour in Jedi Outcast.
**Cheat protected**.
Default: `1`.

#### `g_selfKnockback` (0 or 1)

Allow players to damage boost themselves with explosive weapons.
**Cheat protected**.
Default: `0`.

#### `sv_speedrunModeIL` (0 or 1)

Individual-level run mode.
When set to `1`, ingame timer will reset every time an autosave is loaded.
When set to `0`, ingame timer will reset only when `kejim_post` is loaded.
Default: `0`.

#### `sv_speedrunModeCheckpoint` (0 or 1)

Mode for running from quicksave to a specified checkpoint on a map.
Coordinates can be set with the command `settimedcheckpoint x1 y1 z1 x2 y2 z2`.
When the player enters the box spanned by the two points `(x1 y1 z1)` and `(x2 y2 z2)` the run is finished.
If `x2`, `y2` and `z2` are omitted, a checkpoint of reasonable size will be created at `(x1 y1 z1)`.
Default: `0`.

#### `sv_speedrunModeCheckpointSave` (0 or 1)

Create an automatic save when a checkpoint is reached in checkpoint mode.
Default: `0`.

## New Commands

### HUD

#### `jumpHelperColor[...] <r> <g> <b> <a>` (components in range 0.0 to 1.0)

Sets the color for one of the jump helper elements `Background`, `Crouch`, `CrouchExtend`, `Extend`, `Optimal`, `Current` or `Cancel` to the given red, green, blue and alpha values.

#### `speedColor <r> <g> <b> <a>` (components in range 0.0 to 1.0)

Sets the color for the speed display to the given red, green, blue and alpha values.

#### `strafeHelperColor[...] <r> <g> <b> <a>` (components in range 0.0 to 1.0)

Sets the color for one of the strafe helper elements `Accelerating`, `Optimal`, `CenterMarker` or `Speed` to the given red, green, blue and alpha values.
Loading