Skip to content

Commit f66856a

Browse files
committed
Added crosshair options to options menu
1 parent e3578cb commit f66856a

10 files changed

Lines changed: 66 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222
- Added option to adjust volume of flames / afterburn and sentry hitsounds (default: 50%)
2323
- Fixed hitsound repeat delay being framerate dependent
2424

25+
### Menus
26+
- Added option to change crosshair to the options menu
27+
2528
### Quality of Life
2629
- Made master volume and damage indicator volume settings more intuitive to set
2730
> **NOTE:** Make sure to adjust your volume setting accordingly, the settings are closer to being linear now so it should be easier to make fine adjustments

Source/gg2/Objects/Menus/Options Menus/OptionsController.events/Create.xml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,29 @@
6868
gg2_write_ini("Settings", "Queued Jumping", argument0);
6969
');
7070

71+
menu_addedit_script("Custom Crosshair:", menu_format_crosshair_filepath(global.CrosshairFilename), '
72+
var absPath;
73+
74+
absPath = get_open_filename("Crosshair Sprite|*.png", working_directory + "\*");
75+
76+
if (absPath == "") {
77+
global.CrosshairFilename = absPath;
78+
} else {
79+
global.CrosshairFilename = getRelativePathIfDescendand(working_directory + "\", absPath);
80+
}
81+
82+
gg2_write_ini("Settings", "CrosshairFilename", global.CrosshairFilename);
83+
84+
replace_crosshair();
85+
86+
return menu_format_crosshair_filepath(global.CrosshairFilename);
87+
');
88+
89+
menu_addedit_boolean("Remove Crosshair Background:", "global.CrosshairRemoveBG", '
90+
gg2_write_ini("Settings", "CrosshairRemoveBG", argument0);
91+
replace_crosshair();
92+
');
93+
7194
vanilla_menu_tabs();
7295
}
7396
</argument>

Source/gg2/Scripts/Game/game_init.gml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,8 @@
9696
global.attemptPortForward = ini_read_real("Server", "Attempt UPnP Forwarding", 0);
9797
global.serverPluginList = ini_read_string("Server", "ServerPluginList", "");
9898
global.serverPluginsRequired = ini_read_real("Server", "ServerPluginsRequired", 0);
99-
var CrosshairFilename, CrosshairRemoveBG;
100-
CrosshairFilename = ini_read_string("Settings", "CrosshairFilename", "");
101-
CrosshairRemoveBG = ini_read_real("Settings", "CrosshairRemoveBG", 1);
99+
global.CrosshairFilename = ini_read_string("Settings", "CrosshairFilename", "");
100+
global.CrosshairRemoveBG = ini_read_real("Settings", "CrosshairRemoveBG", 1);
102101
global.queueJumping = ini_read_real("Settings", "Queued Jumping", 0);
103102
global.hideSpyGhosts = ini_read_real("Settings", "Hide Spy Ghosts", 0);
104103
//Hidden setting
@@ -175,8 +174,8 @@
175174
ini_write_real("Server", "Attempt UPnP Forwarding", global.attemptPortForward);
176175
ini_write_string("Server", "ServerPluginList", global.serverPluginList);
177176
ini_write_real("Server", "ServerPluginsRequired", global.serverPluginsRequired);
178-
ini_write_string("Settings", "CrosshairFilename", CrosshairFilename);
179-
ini_write_real("Settings", "CrosshairRemoveBG", CrosshairRemoveBG);
177+
ini_write_string("Settings", "CrosshairFilename", global.CrosshairFilename);
178+
ini_write_real("Settings", "CrosshairRemoveBG", global.CrosshairRemoveBG);
180179
ini_write_real("Settings", "Queued Jumping", global.queueJumping);
181180
ini_write_real("Settings", "Hide Spy Ghosts", global.hideSpyGhosts);
182181

@@ -395,11 +394,7 @@ global.launchMap = "";
395394
previous_window_y = window_get_y();
396395
previous_window_w = window_get_width();
397396
398-
if (file_exists(CrosshairFilename))
399-
{
400-
sprite_replace(CrosshairS,CrosshairFilename,1,CrosshairRemoveBG,false,0,0);
401-
sprite_set_offset(CrosshairS,sprite_get_width(CrosshairS)/2,sprite_get_height(CrosshairS)/2);
402-
}
397+
replace_crosshair();
403398
404399
global.isHost = false;
405400

Source/gg2/Scripts/Re-DSM/Functions/_resources.list.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@
2323
<resource name="clear_send_buffer" type="RESOURCE"/>
2424
<resource name="get_superburst_string" type="RESOURCE"/>
2525
<resource name="calc_linear_volume" type="RESOURCE"/>
26+
<resource name="replace_crosshair" type="RESOURCE"/>
2627
</resources>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
if (file_exists(global.CrosshairFilename) and global.CrosshairFilename != "")
2+
{
3+
sprite_replace(CrosshairS,global.CrosshairFilename,1,global.CrosshairRemoveBG,false,0,0);
4+
sprite_set_offset(CrosshairS,sprite_get_width(CrosshairS)/2,sprite_get_height(CrosshairS)/2);
5+
}
6+
else
7+
{
8+
//sprite_replace(CrosshairS,global.CrosshairFilename,1,global.CrosshairRemoveBG,false,0,0);
9+
//sprite_set_offset(CrosshairS,sprite_get_width(CrosshairS)/2,sprite_get_height(CrosshairS)/2);
10+
sprite_assign(CrosshairS, DefaultCrosshairS);
11+
}

Source/gg2/Scripts/Re-DSM/Menus/_resources.list.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<resource name="DSM_menu_color_options" type="RESOURCE"/>
88
<resource name="menu_get_tabcount" type="RESOURCE"/>
99
<resource name="menu_format_hitsound_filepath" type="RESOURCE"/>
10+
<resource name="menu_format_crosshair_filepath" type="RESOURCE"/>
1011
<resource name="menu_divider" type="RESOURCE"/>
1112
<resource name="menu_addedit_float" type="RESOURCE"/>
1213
<resource name="menu_addedit_num_percent" type="RESOURCE"/>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
var LIMIT;
2+
LIMIT = 30;
3+
4+
if (argument0 == "")
5+
return "None (default crosshair)";
6+
else if (string_length(argument0) <= LIMIT)
7+
return argument0;
8+
else
9+
return "..." + string_copy(argument0, string_length(argument0)-(LIMIT-3-1), LIMIT-3);
128 Bytes
Loading
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<sprite>
3+
<origin x="10" y="10"/>
4+
<mask>
5+
<separate>false</separate>
6+
<shape>RECTANGLE</shape>
7+
<bounds alphaTolerance="0" mode="AUTO"/>
8+
</mask>
9+
<preload>true</preload>
10+
<smoothEdges>false</smoothEdges>
11+
<transparent>false</transparent>
12+
</sprite>

Source/gg2/Sprites/Re-DSM/_resources.list.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
<resource name="Menus" type="GROUP"/>
55
<resource name="Projectiles" type="GROUP"/>
66
<resource name="HUD" type="GROUP"/>
7+
<resource name="DefaultCrosshairS" type="RESOURCE"/>
78
</resources>

0 commit comments

Comments
 (0)