Skip to content

Commit

Permalink
Merge pull request Roman971#50 from Elagatua/feature/dev-merge
Browse files Browse the repository at this point in the history
Dev merge
  • Loading branch information
Elagatua authored May 20, 2024
2 parents 7fa96d8 + 15b6bea commit 8090d12
Show file tree
Hide file tree
Showing 14 changed files with 14,193 additions and 14,017 deletions.
734 changes: 367 additions & 367 deletions ASM/build/asm_symbols.txt

Large diffs are not rendered by default.

Binary file modified ASM/build/bundle.o
Binary file not shown.
776 changes: 388 additions & 388 deletions ASM/build/c_symbols.txt

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions ASM/c/kaleido_item.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ void KaleidoScope_DrawItemSelect(z64_game_t* play) {
if (pause_ctxt->cursor_special_pos == 0) {
pause_ctxt->cursor_color_set = 4;

if (cursor_item == PAUSE_ITEM_NONE) {
pause_ctxt->stick_movement_x = 40;
}

// Code for ensuring an empty deku stick slot isn't selected when entering the screen for the first time
// has been removed for randomizer. It's a valid position for the cursor to start and empty slots can't equip
// items so there is no need for this.
Expand Down
501 changes: 501 additions & 0 deletions Cutscenes.py

Large diffs are not rendered by default.

15 changes: 12 additions & 3 deletions GUI/src/app/pages/generator/generator.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -200,11 +200,20 @@ <h3>{{section.text}}</h3>
<ng-container *ngIf="!global.getGlobalVar('electronAvailable')">
<input class="ioInputWeb" nbInput [disabled]="!global.generator_settingsVisibilityMap[setting.name]" readonly type="text" maxlength="260" fieldSize="small" [(ngModel)]="getVariableType(global.generator_settingsMap[setting.name]) === 'string' ? global.generator_settingsMap[setting.name] : global.generator_settingsMap[setting.name].name"
(ngModelChange)="afterSettingChange()" [nbPopover]="tooltipComponent" [nbPopoverContext]="{tooltip: setting.tooltip}" [nbPopoverTrigger]="setting.tooltip && setting.tooltip.length > 0 ? 'hint' : 'noop'" nbPopoverPlacement="top" nbPopoverAdjustment="clockwise" (dragover)="onDirectoryDragOverWeb($event, setting)" (drop)="onDirectoryDropWeb($event, setting)">
<input #refHiddenDirectoryInput class="ioHiddenInputWeb" type="file" webkitdirectory multiple (change)="onDirectorySelectedWeb($event, setting)">
<button class="ioInputBrowseButton" [disabled]="!global.generator_settingsVisibilityMap[setting.name]" nbButton status="info" size="small" (click)="refHiddenDirectoryInput.click()">Browse</button>

<!--Desktop supports directory picker, mobile only a file picker-->
<ng-container *ngIf="global.getGlobalVar('webSupportDirectoryPicker')">
<input #refHiddenDirectoryInput class="ioHiddenInputWeb" type="file" webkitdirectory multiple (change)="onDirectorySelectedWeb($event, setting)">
<button class="ioInputBrowseButton" [disabled]="!global.generator_settingsVisibilityMap[setting.name]" nbButton status="info" size="small" (click)="refHiddenDirectoryInput.click()">Browse</button>
</ng-container>
<ng-container *ngIf="!global.getGlobalVar('webSupportDirectoryPicker')">
<input #refHiddenDirectoryInput class="ioHiddenInputWeb" type="file" multiple (change)="onDirectorySelectedWeb($event, setting)">
<button class="ioInputBrowseButton" [disabled]="!global.generator_settingsVisibilityMap[setting.name]" nbButton status="info" size="small" (click)="refHiddenDirectoryInput.click()">Browse</button>
</ng-container>

<button class="ioInputBrowseButton" [disabled]="!global.generator_settingsVisibilityMap[setting.name]" nbButton status="info" size="small" (click)="global.generator_settingsMap[setting.name] = ''">Clear</button>
</ng-container>
</ng-container>
</ng-container>
<ng-container *ngSwitchCase="'Presetinput'">
<div class="select-wrapper">
<nb-select #refPresetSelect
Expand Down
28 changes: 25 additions & 3 deletions GUI/src/app/pages/generator/generator.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -823,16 +823,38 @@ export class GeneratorComponent implements OnInit {

onDirectorySelectedWeb(event, setting: any) { //Web only

let dirPickerMode: boolean = this.global.getGlobalVar("webSupportDirectoryPicker");

let fileList = event.currentTarget.files;

if (!fileList || fileList.length < 1)
return;

//Grab dropped folder name from first file path
let folderName = fileList[0].webkitRelativePath.substr(0, fileList[0].webkitRelativePath.indexOf("/"));
let displayName: string;

if (dirPickerMode) {
displayName = fileList[0].webkitRelativePath.substr(0, fileList[0].webkitRelativePath.indexOf("/")); //Grab dropped folder name from first file path
}
else {
//Create a sensible display name for any file combination
let nameParts = [];

nameParts.push(fileList[0].name);

if (fileList.length > 1) {
nameParts.push(`${fileList.length - 1} other file${fileList.length > 2 ? "s" : ""}`);
}

let lastNamePart = nameParts.pop();

if (nameParts.length > 0)
displayName = `${nameParts.join(", ")} and ${lastNamePart}`;
else
displayName = `${lastNamePart}`;
}

//Set setting
this.global.generator_settingsMap[setting.name] = { name: folderName, fileList: fileList };
this.global.generator_settingsMap[setting.name] = { name: displayName, fileList: fileList };
this.cd.markForCheck();
this.afterSettingChange(true);
}
Expand Down
24 changes: 24 additions & 0 deletions GUI/src/app/providers/GUIGlobal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ export class GUIGlobal implements OnDestroy {
["electronAvailable", false],
["webSourceVersion", ""],
["webIsMasterVersion", false],
["webSupportDirectoryPicker", false],
["generatorSettingsArray", []],
["generatorSettingsObj", {}],
["generatorCosmeticsArray", []],
Expand Down Expand Up @@ -78,6 +79,11 @@ export class GUIGlobal implements OnDestroy {

console.log("Web version: " + (<any>window).pythonSourceVersion + " ; master version:", this.getGlobalVar("webIsMasterVersion"));

let dirPickerSupport = this.testDirectoryPickerFeatureWeb();
this.setGlobalVar("webSupportDirectoryPicker", dirPickerSupport);

console.log("webkitdirectory support:", dirPickerSupport);

this.webInit();
}
}
Expand Down Expand Up @@ -1299,6 +1305,24 @@ export class GUIGlobal implements OnDestroy {
return fileName.endsWith(".z64") || fileName.endsWith(".n64") || fileName.endsWith(".v64");
}

testDirectoryPickerFeatureWeb() { //Web only

var input = (<any>document).createElement('input');
input.type = 'file';

if (!("webkitdirectory" in input))
return false;

//Hack: Mobile Chrome claims support, but actually does nothing, so we need to block it separately
let isMobile = /Android|iPhone|iPad|iPod|BlackBerry|IEMobile/i.test((<any>navigator).userAgent);
let isChrome = /Chrome/i.test((<any>navigator).userAgent);

if (isMobile && isChrome)
return false;

return true;
}

isValidFileObjectWeb(file: any) { //Web only
return file && typeof (file) == "object" && file.name && file.name.length > 0;
}
Expand Down
Loading

0 comments on commit 8090d12

Please sign in to comment.