Skip to content

Commit

Permalink
v2.7.2.1 Alpha Merge pull request #762 from Die4Ever/develop
Browse files Browse the repository at this point in the history
* Remove image viewing bingo goals from HX, make sure vending machine
texture and classes are correct in HX after being replaced

* GetPlayerPawn() doesn't work in HX, so make sure there's a fallback
option for finding a player

* Daylight bulbs suck.

* Add pushjson.txt file to gitignore (because I want to be able to leave
it in my directory and not see it with git status).  Commit
DXRBurningFire even though we aren't using it, because it's conceptually
interesting even if we aren't actively using it

* Move laser triggers in mission 8 sewers up a little bit so they are at
the same height as other missions (and you can crouch under them)

* Miguel is no longer considered saved if you tell him to wait where he is
once you get to the surface.

* Mission Distribution script no longer crashes on bingo lines with
comments

* installer check for RevisionDefault.ini

* speedrun mode slightly more starting equipment

* DataStorage EndPlaythrough() don't expire data immediately

* bump version number to v2.7.2.0 Alpha

* Medbots and Repairbots stop glowing once disabled

* Move Silo Machine Shop Computer location from on the desk to on the wall

* installer convenience function for building radio selects

* Deus_nsf balanced texture filtering

* installer fix title for D3D10 texture filtering radios

* speedrun splits view use average splits

* speedrun splits view use average splits, option to show average times

* Most characters with different familiar and unfamiliar names keep them (#745)

* don't randomize names when familiar/unfamiliar are the same

* rando rick

* leaderboard request, include gamemode and difficulty, so speedrun mode can sort by time (#509)

* spawned datacubes shouldn't block actors

* Add "Open Elevator Door" button textures, use them on new button in
Vandenberg elevator.  Buttons get replaced with new class in
non-Vanilla.  #761

* Fix compile

* speedrun splits view option for useAverageGoal

* fix weapon PickupAmmoCount when dropped or taken away

* Most lamps get turned on when first entering a map (#743)

* turn on most lamps by default, increase light1 and light2 light radius

* SetAllLampsState can set lamps on a per-class basis

* add some lamp comments, decrease Lamp1 LightRadius

* increase Lamp2's LightSaturations some

* more lamp exceptions

* add SetAllLampsState optional parameter to only search over a specific area

* turn lamps on with mods that don't modify maps

* add menu choice for automatic lamps

* always set HSB and radius for lamps in PreFirstEntry

* use `lmp` name to not shadow `l` function

* use vector and rad as SetAllLampsState params

* in SetAllLampsState multiply loc by coords_mult directly

* change lamps menu option wording

* remove applyToModifiedMaps SetAllLampsState param

* slightly tone down Lamp2 radius

* fix HX build

* v2.7.2.1 Alpha builds

---------

Co-authored-by: theastropath@gmail.com <theastropath@gmail.com>
Co-authored-by: Jeffrey Thomas Piercy <mqduck@mqduck.net>
  • Loading branch information
3 people authored May 11, 2024
2 parents 3dfa52e + b3905a7 commit 9aa5a55
Show file tree
Hide file tree
Showing 46 changed files with 350 additions and 84 deletions.
4 changes: 2 additions & 2 deletions .github/release_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@ If you don't know what Deus Ex Randomizer is, then here's our old trailer which

## Major Changes

*
-

## Minor Changes

<details>
<summary>Click to expand Minor Changes</summary>

*
-
</details>

Download `DXRandoInstaller.exe` in the Assets section right below this line:
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ DerivedDataCache/*
# Settings file for the compiler
compiler_settings.json

# File that specifies where the bingo viewer can send bingo data online
pushjson.txt

__pycache__

# python virtual environment
Expand Down
1 change: 0 additions & 1 deletion DXRCore/DeusEx/Classes/DXRActorsBase.uc
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,6 @@ function Inventory MoveNextItemTo(Inventory item, vector Location, name Tag)
if(player != None) {
if (item.IsA('ChargedPickup'))
ChargedPickup(item).ChargedPickupEnd(player);
player.DeleteInventory(item);
}

for(i=0; i<100; i++) {
Expand Down
3 changes: 3 additions & 0 deletions DXRCore/DeusEx/Classes/DXRInfo.uc
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ simulated final function #var(PlayerPawn) player(optional bool quiet)
p = dxr.Player;
if( p == None ) {
p = #var(PlayerPawn)(GetPlayerPawn());
if(p==None){ //If GetPlayerPawn() didn't work (probably in HX)
foreach AllActors(class'#var(PlayerPawn)', p){break;}
}
dxr.Player = p;
}
if( p == None && !quiet ) warning("player() found None");
Expand Down
8 changes: 4 additions & 4 deletions DXRCore/DeusEx/Classes/DXRVersion.uc
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@ simulated static function CurrentVersion(optional out int major, optional out in
{
major=2;
minor=7;
patch=1;
build=5;//build can't be higher than 99
patch=2;
build=1;//build can't be higher than 99
}

simulated static function bool VersionIsStable()
{
return true;
return false;
}

simulated static function string VersionString(optional bool full)
{
local int major,minor,patch,build;
local string status;

status = "";
status = "Alpha";

if(status!="") {
status = " " $ status;
Expand Down
2 changes: 1 addition & 1 deletion DXRCore/DeusEx/Classes/DataStorage.uc
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ function EndPlaythrough()
slen = Len(pid);
time = SystemTime();
expired = time-1;
expired = time + 86400;
for( i=0; i < ArrayCount(config_data); i++) {
if( ! IsCurrentData(config_data[i], time) ) continue;
if( Right(config_data[i].key, slen) != pid ) continue;
Expand Down
1 change: 0 additions & 1 deletion DXRFixes/DeusEx/Classes/Carcass.uc
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@ function _DropItems(Name classname, vector offset, vector velocity)
function DropKeys()
{
_DropItems('NanoKey', vect(0,0,80), vect(-0.2, -0.2, 1) );
SetCollision(true,true,bBlockPlayers);
}

function Destroyed()
Expand Down
5 changes: 0 additions & 5 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM01.uc
Original file line number Diff line number Diff line change
Expand Up @@ -130,11 +130,6 @@ function PreFirstEntryMapFixes()
Spawn(class'PlaceholderContainer',,, vectm(2384,1669,-95)); //MJ12 Door
Spawn(class'PlaceholderContainer',,, vectm(-383.6,1376,273)); //JC's Office

foreach AllActors(class'#var(prefix)HumanCivilian', hc, 'LDDPChet') {
// Chet's name is Chet
hc.bImportant = true;
}

break;
}
}
Expand Down
10 changes: 10 additions & 0 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM02.uc
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,8 @@ function PreFirstEntryMapFixes()
Spawn(class'PlaceholderItem',,, vectm(-129,-3038,127)); //Bathroom counter
Spawn(class'PlaceholderItem',,, vectm(15,-2972,123)); //Kitchen counter
Spawn(class'PlaceholderItem',,, vectm(-853,-3148,75)); //Crack next to Paul's bed

SetAllLampsState(false, true, true); // the lamp in Paul's apartment
}
break;

Expand All @@ -194,6 +196,8 @@ function PreFirstEntryMapFixes()
buttonHint = DXRButtonHoverHint(class'DXRButtonHoverHint'.static.Create(self, "", button.Location, button.CollisionRadius+5, button.CollisionHeight+5, exit));
buttonHint.SetBaseActor(button);

SetAllLampsState(false, true, true); // the lamp in Paul's apartment, seen through the window

break;
case "02_NYC_BAR":
Spawnm(class'BarDancer',,,vect(-1475,-580,48),rot(0,25000,0));
Expand Down Expand Up @@ -231,6 +235,12 @@ function PreFirstEntryMapFixes()
oot = Spawn(class'OnceOnlyTrigger');
oot.Event='botordertriggerDoor';
oot.Tag='botordertrigger';
SetAllLampsState(false, true, true); // smuggler has one table lamp, upstairs where no one is
break;

case "02_NYC_FREECLINIC":
SetAllLampsState(true, true, false); // the free clinic has one desk lamp, at a desk no one is using
break;
}
}

Expand Down
8 changes: 2 additions & 6 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM03.uc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ function PostFirstEntryMapFixes()
AddActor(class'#var(prefix)CrateUnbreakableSmall', vect(-9463.387695, 3377.530029, 60));
AddActor(class'#var(prefix)CrateUnbreakableMed', vect(-9461.959961, 3320.718750, 75));
}
SetAllLampsState(true, true, false); // this map has one desk lamp, in an office no one is in
break;
}
}
Expand Down Expand Up @@ -368,12 +369,7 @@ function PreFirstEntryMapFixes()
Spawn(class'PlaceholderContainer',,, vectm(-1187,-1154,-31)); //Behind Jail Desk
Spawn(class'PlaceholderContainer',,, vectm(2384,1669,-95)); //MJ12 Door
Spawn(class'PlaceholderContainer',,, vectm(-383.6,1376,273)); //JC's Office

foreach AllActors(class'#var(prefix)HumanCivilian', hc, 'LDDPChet') {
// Chet's name is Chet
hc.bImportant = true;
}


break;
}
}
Expand Down
6 changes: 1 addition & 5 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM04.uc
Original file line number Diff line number Diff line change
Expand Up @@ -255,11 +255,6 @@ function PreFirstEntryMapFixes()
Spawn(class'PlaceholderContainer',,, vectm(2384,1669,-95)); //MJ12 Door
Spawn(class'PlaceholderContainer',,, vectm(-383.6,1376,273)); //JC's Office

foreach AllActors(class'#var(prefix)HumanCivilian', hc, 'LDDPChet') {
// Chet's name is Chet
hc.bImportant = true;
}

if(IsAprilFools()) {
Spawnm(class'MahoganyDesk',,, vect(646.848999, 1524.899902, 263.097137), rot(0, -16384, 0));
}
Expand Down Expand Up @@ -312,6 +307,7 @@ function PreFirstEntryMapFixes()
oot = Spawn(class'OnceOnlyTrigger');
oot.Event='botordertriggerDoor';
oot.Tag='botordertrigger';
SetAllLampsState(false, true, true); // smuggler has one table lamp, upstairs where no one is
break;
}
}
Expand Down
11 changes: 3 additions & 8 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM05.uc
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,9 @@ function PreFirstEntryMapFixes()
}
foreach AllActors(class'#var(prefix)MJ12Troop', mj12, 'Cellguard') {
mj12.bImportant = true;
mj12.UnfamiliarName = "Rick";
mj12.FamiliarName = "Rick";
mj12.BindName = "MJ12CellguardRick";
mj12.UnfamiliarName = class'DXRNames'.static.RandomName(dxr);
mj12.FamiliarName = mj12.UnfamiliarName;
mj12.BindName = "MJ12CellguardRick"; // he's still Rick in our hearts
}

//Anna hates weapons (why?) in Revision, but can't hurt to set it for all mods
Expand Down Expand Up @@ -186,11 +186,6 @@ function PreFirstEntryMapFixes()

}

foreach AllActors(class'#var(prefix)HumanCivilian', hc, 'LDDPChet') {
// Chet's name is Chet
hc.bImportant = true;
}

break;

case "05_NYC_UNATCOISLAND":
Expand Down
12 changes: 12 additions & 0 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM08.uc
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ function PreFirstEntryMapFixes()
local DXRHoverHint hoverHint;
local bool VanillaMaps;
local ScriptedPawn pawn;
local #var(prefix)LaserTrigger lt;

#ifdef injections
local #var(prefix)Newspaper np;
Expand Down Expand Up @@ -237,6 +238,17 @@ function PreFirstEntryMapFixes()
oot = Spawn(class'OnceOnlyTrigger');
oot.Event='botordertriggerDoor';
oot.Tag='botordertrigger';
SetAllLampsState(false, true, true); // smuggler has one table lamp, upstairs where no one is
break;

case "08_NYC_FREECLINIC":
SetAllLampsState(true, true, false); // the free clinic has one desk lamp, at a desk no one is using
break;
case "08_NYC_UNDERGROUND":
foreach AllActors(class'#var(prefix)LaserTrigger',lt){
if (lt.Location.Z < -574 && lt.Location.Z > -575){
lt.SetLocation(lt.Location+vect(0,0,11)); //Move them slightly higher up to match their location in missions 2 and 4, so you can crouch under
}
}
}
}
8 changes: 8 additions & 0 deletions DXRMapFixups/DeusEx/Classes/DXRFixupParis.uc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ function PreFirstEntryMapFixes()
{
case "10_PARIS_CATACOMBS":
FixConversationAddNote(GetConversation('MeetAimee'), "Stupid, stupid, stupid password.");
SetAllLampsState(true, false, true); // lamps in the building next to the metro station
break;

case "10_PARIS_CATACOMBS_TUNNELS":
Expand Down Expand Up @@ -80,6 +81,8 @@ function PreFirstEntryMapFixes()
foreach AllActors(class'DeusExMover', m, 'cellar_door') {
m.MoveTime = 1;
}

SetAllLampsState(false, false, false); // surely Nicolette didn't leave all the lights on when she moved out
}
break;
case "10_PARIS_METRO":
Expand Down Expand Up @@ -119,6 +122,9 @@ function PreFirstEntryMapFixes()
Spawn(class'PlaceholderItem',,, vectm(-1464,-1649.6,-197)); //Bathroom stall 1
Spawn(class'PlaceholderItem',,, vectm(-1096.7,-847,-197)); //Bathroom stall 2
Spawn(class'PlaceholderItem',,, vectm(-2093.7,-293,-161)); //Club back room

SetAllLampsState(true, true, false, vect(-1821.85, -351.37, -207.11), 200.0); // the two Lamp3s on the desks near the back exit, but not the one where the accountant is

break;
case "11_PARIS_UNDERGROUND":
foreach AllActors(class'DXRMapVariants', mapvariants) { break; }
Expand Down Expand Up @@ -170,6 +176,8 @@ function PreFirstEntryMapFixes()
hoverHint = class'DXRTeleporterHoverHint'.static.Create(self, "", jock.Location, jock.CollisionRadius+5, jock.CollisionHeight+5, exit);
hoverHint.SetBaseActor(jock);

SetAllLampsState(true, false, true); // Everett's bedroom

break;
}
}
Expand Down
6 changes: 4 additions & 2 deletions DXRMapFixups/DeusEx/Classes/DXRFixupVandenberg.uc
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,8 @@ function VandenbergCmdFixTimsDoor()
//Add a new button in the elevator to open the doors
function FixCmdElevator()
{
local #var(prefix)Button1 doorButton,butt;
local #var(injectsprefix)Button1 doorButton;
local #var(prefix)Button1 butt;
local Dispatcher d;
local Trigger t;
local Vector loc;
Expand All @@ -468,8 +469,9 @@ function FixCmdElevator()
loc = butt.Location;
loc.Z += 7; //Three buttons are 7 apart from each other on Y axis, so put this one equally above

doorButton = Spawn(class'#var(prefix)Button1',,,loc,rot);
doorButton = Spawn(class'#var(injectsprefix)Button1',,,loc,rot);
doorButton.moverTag = butt.moverTag;
doorButton.RandoButtonType=RBT_OpenDoors;
doorButton.ButtonType=BT_Blank;
doorButton.Event='all_doors_button';
doorButton.BeginPlay();
Expand Down
2 changes: 1 addition & 1 deletion DXRMissions/DeusEx/Classes/DXRMissionsVandenberg.uc
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ function int InitGoals(int mission, string map)
computer_vanilla = AddGoalLocation("14_OCEANLAB_SILO", "Launch Command", GOAL_TYPE2 | VANILLA_GOAL, vect(175.973724, -1612.441650, 853.105103), rot(0,16344,0));
computer_radio = AddGoalLocation("14_OCEANLAB_SILO", "Radio", GOAL_TYPE2, vect(-1721.988770, -6533.606445, 1665), rot(16384,32768,0));
computer_meeting = AddGoalLocation("14_OCEANLAB_SILO", "Surface Meeting Room", GOAL_TYPE2, vect(-691.854248, -3575.400391, 1475), rot(16384,0,0));
computer_machine_shop = AddGoalLocation("14_OCEANLAB_SILO", "Machine Shop", GOAL_TYPE2, vect(234, -4439, 1475.204590), rot(16384,0,0));
computer_machine_shop = AddGoalLocation("14_OCEANLAB_SILO", "Machine Shop", GOAL_TYPE2, vect(203,-4326,1513), rot(0,0,0));

// MUTEXES
AddMutualExclusion(howard_radio, computer_radio);
Expand Down
12 changes: 12 additions & 0 deletions DXRModules/DeusEx/Classes/DXREvents.uc
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,8 @@ function SetWatchFlags() {
break;
case "05_NYC_UNATCOISLAND":
bt = class'BingoTrigger'.static.Create(self,'nsfwander',vectm(0,0,0));
bt.Tag='SavedMiguel';

bt = class'BingoTrigger'.static.Create(self,'CommsPit',vectm(-6385.640625,1441.881470,-247.901276),40,40);

break;
Expand Down Expand Up @@ -1512,6 +1514,14 @@ simulated function AnyEntry()
DeleteChoiceFlag(choice, 'M10EnteredBakery', true);
}
break;
case "05_NYC_UNATCOISLAND":
//Add a trigger event to hit the SavedMiguel bingo trigger
conv = GetConversation('MiguelHack');
ce = conv.GetEventFromLabel("Hop");
ce = NewConEvent(conv, ce, class'ConEventTrigger');
ce.eventType = ET_Trigger;
ConEventTrigger(ce).triggerTag = 'SavedMiguel';
break;
}
}

Expand Down Expand Up @@ -3238,11 +3248,13 @@ defaultproperties
#ifdef vanilla
bingo_options(213)=(event="BethsPainting",desc="Admire Beth DuClare's favourite painting",max=1,missions=1024)
#endif
#ifndef hx
bingo_options(214)=(event="ViewPortraits",desc="Look at %s portraits",max=2,missions=4890)
bingo_options(215)=(event="ViewSchematics",desc="Inspect a schematic",max=1,missions=49152)
bingo_options(216)=(event="ViewMaps",desc="View %s maps",max=6,missions=56686)
bingo_options(217)=(event="ViewDissection",desc="Have a look at a dissection report",max=1,missions=96)
bingo_options(218)=(event="ViewTouristPics",desc="Look at a tourist picture",max=1,missions=2576)
#endif
bingo_options(219)=(event="CathedralUnderwater",desc="Swim through the underwater tunnel at the cathedral",max=1,missions=2048)
bingo_options(220)=(event="DL_gold_found_Played",desc="Recover the Templar gold",max=1,missions=2048)
bingo_options(221)=(event="12_Email04",desc="Read a motivational email from Gary",max=1,missions=4096)
Expand Down
43 changes: 42 additions & 1 deletion DXRModules/DeusEx/Classes/DXRFixup.uc
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,8 @@ function CheckConfig()

function PreFirstEntry()
{
local #var(prefix)Lamp lmp;

Super.PreFirstEntry();
l( "mission " $ dxr.dxInfo.missionNumber @ dxr.localURL$" PreFirstEntry()");

Expand All @@ -205,6 +207,13 @@ function PreFirstEntry()
FixBeamLaserTriggers();
SpawnDatacubes();
AntiEpilepsy();
SetAllLampsState(true, true, true);
foreach AllActors(class'#var(prefix)Lamp', lmp) {
lmp.LightHue = lmp.Default.LightHue;
lmp.LightSaturation = lmp.Default.LightSaturation;
lmp.LightBrightness = lmp.Default.LightBrightness;
lmp.LightRadius = lmp.Default.LightRadius;
}

SetSeed( "DXRFixup PreFirstEntry missions" );
if(#defined(mapfixes))
Expand Down Expand Up @@ -662,6 +671,7 @@ function SpawnDatacubes()
#endif
if( dc != None ){
dc.SetCollision(true,false,false);
if(dxr.flags.settings.infodevices > 0)
GlowUp(dc);
dc.plaintext = add_datacubes[i].text;
Expand Down Expand Up @@ -797,6 +807,37 @@ static function FixConversationAddNote(Conversation c, string textSnippet)
}
}

defaultproperties
function SetLampState(#var(prefix)Lamp lmp, bool turnOn) // could maybe go in DXRLamp if it existed
{
if (turnOn) {
lmp.bOn = True;
lmp.LightType = LT_Steady;
// lmp.PlaySound(sound'Switch4ClickOn');
lmp.bUnlit = True;
lmp.ScaleGlow = 3.0;
} else if (lmp.bOn) {
lmp.bOn = False;
lmp.LightType = LT_None;
// lmp.PlaySound(sound'Switch4ClickOff');
lmp.bUnlit = False;
lmp.ResetScaleGlow();
}
}

function SetAllLampsState(bool type1, bool type2, bool type3, optional Vector loc, optional float rad)
{
local #var(prefix)Lamp lmp;

if (class'MenuChoice_AutoLamps'.default.enabled == false || #defined(revision || gmdx))
return;

if (rad == 0.0) {
foreach AllActors(class'#var(prefix)Lamp', lmp) {
SetLampState(lmp, (#var(prefix)Lamp1(lmp) != None && type1) || (#var(prefix)Lamp2(lmp) != None && type2) || (#var(prefix)Lamp3(lmp) != None && type3));
}
} else {
foreach RadiusActors(class'#var(prefix)Lamp', lmp, rad, loc * coords_mult) {
SetLampState(lmp, (#var(prefix)Lamp1(lmp) != None && type1) || (#var(prefix)Lamp2(lmp) != None && type2) || (#var(prefix)Lamp3(lmp) != None && type3));
}
}
}
Loading

0 comments on commit 9aa5a55

Please sign in to comment.