Compare commits

...

21 Commits

Author SHA1 Message Date
RyzenDew 98203e3c23
Merge pull request #347 from xoascf/update-dev-from-master
Update dev from master
2023-04-21 23:03:37 -03:00
Amaro Martínez 303e9aa34f
Merge remote-tracking branch 'upstream/master' into update-dev-from-master 2023-04-21 21:01:34 -05:00
RyzenDew 0b061406e0
Merge pull request #346 from xoascf/dev-alt-fixes
Misc fixes
2023-04-21 22:55:13 -03:00
RyzenDew d9c19b5345
Merge pull request #330 from xoascf/es-translation-eduardo_a2j
Added full Spanish translation (by eduardo_a2j)
2023-04-21 22:53:30 -03:00
RyzenDew 634dea781c
Update README.md 2023-04-21 22:49:16 -03:00
Amaro Martínez ea6d2f8c1c
Update message_data_es-SV.h
Swap TEXTBOX_POS_MIDDLE with TEXTBOX_POS_BOTTOM
2023-04-21 20:49:05 -05:00
RyzenDew 5ccc7d3cb8
Merge pull request #344 from xoascf/fix-vs2022
Fix Visual Studio 2022 build
2023-04-21 22:34:11 -03:00
RyzenDew 28ff18b683
Merge pull request #345 from xoascf/fix-text-box-positions
Upstream fix: Update TEXTBOX_POS (text box positions)
2023-04-21 20:17:39 -03:00
Amaro Martínez 5b897e045e
Update translations 2023-04-21 17:53:00 -05:00
Amaro Martínez bf14e560e1
Upstream fix: Update TEXTBOX_POS
https://github.com/zeldaret/oot/pull/1329
2023-04-21 17:49:55 -05:00
Amaro Martínez 5981cf6194
Use message debug drawing for debug only 2023-04-21 17:00:42 -05:00
Amaro Martínez 1ef0f073b0
Restore Ganondorf title card (PAL/EUR) 2023-04-21 17:00:40 -05:00
Amaro Martínez 800320b2d4
Restore save confirmation screen 2023-04-21 17:00:38 -05:00
Amaro Martínez b34d989bdf
Add pauseOnLostFocus option to config.json 2023-04-21 16:17:03 -05:00
Amaro Martínez 3de84b662c
Do not generate debug info 2023-04-21 16:17:01 -05:00
Amaro Martínez b6182eeb5e
Fix aAddMixerImpl 2023-04-21 16:14:19 -05:00
Amaro Martínez df534e32e2
Fix Visual Studio 2022 build 2023-04-21 16:07:11 -05:00
Amaro Martínez 2fa1357c10
Fix size bug, use correct sound for Deku Scrubs
One error in the original translation was that the Deku Scrubs sounded like Wolfos
2022-06-22 18:12:31 -05:00
Amaro Martínez c54d112782
Update message_data_es-SV.h 2022-06-21 22:56:46 -05:00
Amaro Martínez ce1a68d1e5
Added full Spanish translation (by eduardo_a2j)
Based on US ROM v1.0
http://dorando.emuverse.com/projects/eduardo_a2j/zelda-ocarina-of-time.html
2022-06-21 19:54:57 -05:00
RyzenDew bb69b09ec2
updating read me
Adding new video links and MD5 for PAL and Eur MQD
2022-05-26 07:25:54 -03:00
31 changed files with 29631 additions and 13364 deletions

View File

@ -8,7 +8,21 @@
**Discord:** <https://discord.com/invite/8tktBEhbZm>
[MattsCreative](http://www.youtube.com/channel/UCzoVL1aVjec7YKPeG59xKFg) has a great video tutorial on how to compile this project here: <https://youtu.be/swv1Tv-kjsU> and Compiling the dev branch to enable 30-120fps here https://www.youtube.com/watch?v=khiLvG3psPM
## How to Acquire the ROM needed
You must get that on your own and please do not ask for that in the discord due to discord's TOS.
PAL 1.0 MD5
`9526b263b60577d8ed22fb7a33c2facd`
EUR MQD MD5
`f0b7f35375f9cc8ca1b2d59d78e35405`
[MattsCreative](https://youtu.be/k1fjHLU9gGU) has a great videos and tutorial on how to compile this project Below:
[How to use OOT Builder](https://youtu.be/pZi0r6g3YJ8)
## FAQ
@ -41,34 +55,6 @@ The current main contributers of this project are [blawar](https://github.com/bl
You must get that on your own and please do not ask for that in the discord due to discord's TOS.
PAL 1.0 MD5
`9526b263b60577d8ed22fb7a33c2facd`
EUR MQD MD5
`f0b7f35375f9cc8ca1b2d59d78e35405`
[MattsCreative](https://youtu.be/k1fjHLU9gGU) has a great videos and tutorial on how to compile this project Below:
[How to use OOT Builder](https://youtu.be/pZi0r6g3YJ8)
### The Easy Way OOT Builder
Go here `https://github.com/nitrostemp/OOOT-HELPER-GUI/releases/`
Grab the newest release and unzip it.
Place Your rom next to the `OOOT GUI.exe`
next run `OOOT GUI.exe` as Admin
click `Install tools , clone and compile`
![image](https://user-images.githubusercontent.com/84041391/169138316-9abebef8-df20-4621-b36d-c68e8383cee7.png)
And enjoy the ride.
### Windows and Required Programs
Step one install all required Programs below
@ -78,7 +64,17 @@ Step one install all required Programs below
![68747470733a2f2f692e696d6775722e636f6d2f4544326c5139512e706e67](https://user-images.githubusercontent.com/84041391/163289314-75bf3467-9506-4df6-bdf8-ece6a7114792.png)
[Git](https://git-scm.com/) **Choose x64 Build and Use the git bash to clone the repo and to run setup.py**
[Git Deskktop](https://central.github.com/deployments/desktop/desktop/latest/win32) **Install with your github account and clone using URL**
![image](https://user-images.githubusercontent.com/84041391/233754962-5c28c5e7-9c91-4ca3-8862-91f79e68dbb9.png)
Next we switch to Dev branch
![image](https://user-images.githubusercontent.com/84041391/233754991-bb94b133-74d5-4e2c-9563-cf5279d93202.png)
Next click Fetch
![image](https://user-images.githubusercontent.com/84041391/233755011-a14ef259-0367-4a74-8cfc-781d1a560358.png)
[Visual Studio Community 2022](https://visualstudio.microsoft.com/vs/community/) **During setup click C++ development**
![vcc](https://user-images.githubusercontent.com/84041391/163289227-6fdfd616-edeb-4314-b29c-9a5ed50aa1c5.png)
@ -99,21 +95,20 @@ make sure baserom_original.z64 or baserom_original.n64 is inside the correct fol
![rom pal](https://user-images.githubusercontent.com/84041391/163308550-bc9afea2-ce38-4021-bafc-2a83c63d9b85.png)
iF the roms hash is not correct it won't extract the assets and continue. MD5 `9526b263b60577d8ed22fb7a33c2facd`
iF the roms hash is not correct it won't extract the assets and continue. `"hash_md5": ["c02c1d79679f7ceb9a3bde55fff8aa13"] `
Open git Bash or command prompt and type:
``git clone --recursive https://github.com/blawar/ooot.git``
Open command prompt and type:
![git clone](https://user-images.githubusercontent.com/84041391/163308082-4af59ab6-4956-405e-96a3-63b6407b32be.png)
```
cd .\source\repo\ooot
```
![image](https://user-images.githubusercontent.com/84041391/233755375-b20fd588-1879-4f8f-a2cb-c5c1bd590ea3.png)
after it's done type `cd ooot`
after it's done type:
![cd ooot](https://user-images.githubusercontent.com/84041391/163308108-2c0bb792-9535-41b3-acd1-942730183f3e.png)
run this command next to extract the assets from the rom. (baserom_original.z64 must exist in the directory `\ooot\roms\PAL_1.0\`)
![pal](https://user-images.githubusercontent.com/84041391/163309103-8936c210-5532-45ab-b3f1-f3f21b04f1f7.png)
![image](https://user-images.githubusercontent.com/84041391/233755385-f85fbc3b-e1ad-4766-aa9e-0c364356b44c.png)
```
python setup.py -b PAL_1.0
@ -128,21 +123,19 @@ make sure baserom_original.z64 or baserom_original.n64 is inside the correct fol
![rom mq](https://user-images.githubusercontent.com/84041391/163308745-19d57f25-8ec7-45fb-9874-c0ddd865c50f.png)
if the roms hash is not correct it won't extract the assets and continue. MD5 `f0b7f35375f9cc8ca1b2d59d78e35405`
if the roms hash is not correct it won't extract the assets and continue. `"hash_md5": ["f0b7f35375f9cc8ca1b2d59d78e35405", "8ca71e87de4ce5e9f6ec916202a623e9"`
Open git Bash or command prompt and type:
Open command prompt and type:
``git clone --recursive https://github.com/blawar/ooot.git``
```
cd .\source\repo\ooot
```
![git clone](https://user-images.githubusercontent.com/84041391/163308776-13aa98c0-7e5a-4e00-9b2c-4c44e67ecc89.png)
after it's done type `cd ooot`
![cd ooot](https://user-images.githubusercontent.com/84041391/163308819-37bec5b7-1b30-4964-bacf-6213d45a4c01.png)
![image](https://user-images.githubusercontent.com/84041391/233755375-b20fd588-1879-4f8f-a2cb-c5c1bd590ea3.png)
run this command next to extract the assets from the rom. (baserom_original.z64 must exist in the directory `\ooot\roms\EUR_MQD\`)
![mq](https://user-images.githubusercontent.com/84041391/163309044-3956df29-5e0c-4325-8d53-c9009199ebd5.png)
![image](https://user-images.githubusercontent.com/84041391/233755458-da107be7-65ab-4bd1-b897-3f83ea3a31e5.png)
```
python setup.py -b EUR_MQD

View File

@ -1,4 +1,5 @@
#pragma once
#include <string>
#define PAGE_COUNT 6
#if PAGE_COUNT == 6

View File

@ -24,8 +24,8 @@ enum TextBoxPosition
{
/* 0 */ TEXTBOX_POS_VARIABLE,
/* 1 */ TEXTBOX_POS_TOP,
/* 2 */ TEXTBOX_POS_BOTTOM,
/* 3 */ TEXTBOX_POS_MIDDLE
/* 2 */ TEXTBOX_POS_MIDDLE,
/* 3 */ TEXTBOX_POS_BOTTOM
};
struct MessageTableEntry

View File

@ -61,7 +61,7 @@ void aEnvSetup2Impl(uint16_t initial_vol_left, uint16_t initial_vol_right);
void aEnvMixerImpl(uint16_t in_addr, uint16_t n_samples, bool swap_reverb, bool neg_3, bool neg_2, bool neg_left, bool neg_right, int32_t wet_dry_addr, u32 unk);
void aMixImpl(uint16_t count, int16_t gain, uint16_t in_addr, uint16_t out_addr);
void aS8DecImpl(uint8_t flags, ADPCM_STATE state);
void aAddMixerImpl(uint16_t in_addr, uint16_t out_addr, uint16_t count);
void aAddMixerImpl(uint16_t count, uint16_t in_addr, uint16_t out_addr);
void aDuplicateImpl(uint16_t count, uint16_t in_addr, uint16_t out_addr);
void aResampleZohImpl(uint16_t pitch, uint16_t start_fract);
void aInterlImpl(uint16_t in_addr, uint16_t out_addr, uint16_t n_samples);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -61,7 +61,7 @@
<DList Name="object_ganon_DL_00C518" Offset="0xC518"/>
<DList Name="gDorfOpenHandDL" Offset="0xC9E8"/>
<Texture Name="gDorfTitleCardTex" OutName="ganondorf_title_card" Format="i8" Width="128" Height="40" Offset="0xCF00"/>
<Texture Name="gDorfTitleCardTex" OutName="ganondorf_title_card" Format="i8" Width="128" Height="120" Offset="0xCF00"/>
<Animation Name="object_ganon_Anim_011348" Offset="0x11348"/>

View File

@ -61,7 +61,7 @@
<DList Name="object_ganon_DL_00C518" Offset="0xC518"/>
<DList Name="gDorfOpenHandDL" Offset="0xC9E8"/>
<Texture Name="gDorfTitleCardTex" OutName="ganondorf_title_card" Format="i8" Width="128" Height="40" Offset="0xCF00"/>
<Texture Name="gDorfTitleCardTex" OutName="ganondorf_title_card" Format="i8" Width="128" Height="120" Offset="0xCF00"/>
<Animation Name="object_ganon_Anim_011348" Offset="0x11348"/>

View File

@ -3325,6 +3325,8 @@ void Message_DrawMain(GlobalContext* globalCtx, Gfx** p)
*p = gfx;
}
#ifdef _DEBUG
/**
* If the s16 variable pointed to by `var` changes in value, a black bar and white box
* are briefly drawn onto the screen. It can only watch one variable per build due to
@ -3380,6 +3382,7 @@ void Message_DrawDebugText(GlobalContext* globalCtx, Gfx** p)
*p = GfxPrint_Close(&printer);
GfxPrint_Destroy(&printer);
}
#endif
void Message_Draw(GlobalContext* globalCtx)
{
@ -3389,6 +3392,7 @@ void Message_Draw(GlobalContext* globalCtx)
OPEN_DISPS(globalCtx->gfxCtx, "../z_message_PAL.c", 3554);
#ifdef _DEBUG
watchVar = gSaveContext.scarecrowCustomSongSet;
Message_DrawDebugVariableChanged(&watchVar, globalCtx->gfxCtx);
if(BREG(0) != 0 && globalCtx->msgCtx.textId != 0)
@ -3400,6 +3404,8 @@ void Message_Draw(GlobalContext* globalCtx)
Graph_BranchDlist(polyOpaP, plusOne);
POLY_OPA_DISP = plusOne;
}
#endif
plusOne = Graph_GfxPlusOne(polyOpaP = POLY_OPA_DISP);
gSPDisplayList(OVERLAY_DISP++, plusOne);
Message_DrawMain(globalCtx, &plusOne);
@ -3414,13 +3420,13 @@ void Message_Update(GlobalContext* globalCtx)
static s16 sTextboxXPositions[] = {
34, 34, 34, 34, 34, 34,
};
static s16 sTextboxMidYPositions[] = {
static s16 sTextboxLowerYPositions[] = {
142, 142, 142, 142, 174, 142,
};
static s16 sTextboxUpperYPositions[] = {
38, 38, 38, 38, 174, 38,
};
static s16 sTextboxLowerYPositions[] = {
static s16 sTextboxMidYPositions[] = {
90, 90, 90, 90, 174, 90,
};
static s16 sTextboxEndIconYOffset[] = {
@ -3442,6 +3448,7 @@ void Message_Update(GlobalContext* globalCtx)
s16 playerFocusScreenPosY;
s16 actorFocusScreenPosY;
#ifdef _DEBUG
if(BREG(0) != 0)
{
if(CHECK_BTN_ALL(input->press.button, BTN_DDOWN) && CHECK_BTN_ALL(input->cur.button, BTN_L))
@ -3473,6 +3480,7 @@ void Message_Update(GlobalContext* globalCtx)
}
}
}
#endif
if(msgCtx->msgLength == 0)
{
@ -3532,7 +3540,7 @@ void Message_Update(GlobalContext* globalCtx)
{
if(averageY < XREG(92))
{
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
}
else
{
@ -3543,7 +3551,7 @@ void Message_Update(GlobalContext* globalCtx)
{
if(averageY < XREG(93))
{
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
}
else
{
@ -3554,7 +3562,7 @@ void Message_Update(GlobalContext* globalCtx)
{
if(averageY < XREG(94))
{
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
}
else
{
@ -3562,20 +3570,17 @@ void Message_Update(GlobalContext* globalCtx)
}
}
}
else if(msgCtx->textBoxPos == TEXTBOX_POS_TOP)
{
R_TEXTBOX_Y_TARGET = sTextboxUpperYPositions[var];
}
else if(msgCtx->textBoxPos == TEXTBOX_POS_MIDDLE)
{
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
}
else
{
if(msgCtx->textBoxPos == TEXTBOX_POS_TOP)
{
R_TEXTBOX_Y_TARGET = sTextboxUpperYPositions[var];
}
else if(msgCtx->textBoxPos == TEXTBOX_POS_BOTTOM)
{
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
}
else
{
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
}
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
}
R_TEXTBOX_X_TARGET = sTextboxXPositions[var];

View File

@ -1915,6 +1915,10 @@ void KaleidoScope_DrawPages(GlobalContext* globalCtx, GraphicsContext* gfxCtx)
POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sPromptChoiceTexs[gSaveContext.language][1], 48, 16, 16);
}
else if(((pauseCtx->state == 7 && pauseCtx->unk_1EC >= 4) || pauseCtx->state == 0xF) && oot::config().game().restoreSaveConfirmation())
{
POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sSaveConfirmationTexs[gSaveContext.language], 152, 16, 0);
}
else if((pauseCtx->state != 7) || (pauseCtx->unk_1EC < 4))
{
if((pauseCtx->state != 0xF) && ((pauseCtx->state == 0x10) || (pauseCtx->state == 0x11)))
@ -3163,7 +3167,7 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
void KaleidoScope_Update(GlobalContext * globalCtx)
{
static s16 D_8082B258 = 0;
static s16 D_8082B25C = 10;
static s16 timeLeft = 10; // D_8082B25C
static s16 D_8082B260 = 0;
PauseContext* pauseCtx = &globalCtx->pauseCtx;
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
@ -3720,21 +3724,21 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
{
Audio_PlaySoundGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gAudioDefaultPos, 4, &D_801333E0, &D_801333E0, &gReverbAdd2);
D_8082B258 = 0;
D_8082B25C = 30;
timeLeft = 30;
pauseCtx->unk_1E4 = 6;
}
else if(pauseCtx->ocarinaStaff->state == 0xFF)
{
Audio_PlaySoundGeneral(NA_SE_SY_OCARINA_ERROR, &gAudioDefaultPos, 4, &D_801333E0, &D_801333E0, &gReverbAdd2);
D_8082B258 = 4;
D_8082B25C = 20;
timeLeft = 20;
pauseCtx->unk_1E4 = 6;
}
break;
case 6:
D_8082B25C--;
if(D_8082B25C == 0)
timeLeft--;
if(timeLeft == 0)
{
pauseCtx->unk_1E4 = D_8082B258;
if(pauseCtx->unk_1E4 == 0)
@ -3817,7 +3821,7 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
gSaveContext.savedSceneNum = globalCtx->sceneNum;
gSaveContext.save();
pauseCtx->unk_1EC = 4;
D_8082B25C = 3;
timeLeft = oot::config().game().restoreSaveConfirmation() ? 90 /* 3 s */ : 3 /* 0.1 s */;
}
}
else if(CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->press.button, BTN_B))
@ -3834,7 +3838,7 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
break;
case 4:
if(CHECK_BTN_ALL(input->press.button, BTN_B) || CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_START) || (--D_8082B25C == 0))
if(CHECK_BTN_ALL(input->press.button, BTN_B) || CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_START) || (--timeLeft == 0))
{
Interface_SetDoAction(globalCtx, DO_ACTION_NONE);
gSaveContext.buttonStatus[0] = gSaveContext.buttonStatus[1] = gSaveContext.buttonStatus[2] = gSaveContext.buttonStatus[3] = BTN_ENABLED;
@ -4067,19 +4071,19 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
gSaveContext.savedSceneNum = globalCtx->sceneNum;
gSaveContext.save();
pauseCtx->state = 0xF;
D_8082B25C = 3;
timeLeft = oot::config().game().restoreSaveConfirmation() ? 90 /* 3 s */ : 3 /* 0.1 s */;
}
}
break;
case 0xF:
D_8082B25C--;
if(D_8082B25C == 0)
timeLeft--;
if(timeLeft == 0)
{
pauseCtx->state = 0x10;
gameOverCtx->state++;
}
else if((D_8082B25C <= 80) && (CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_START)))
else if((timeLeft <= 80) && (CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_START)))
{
pauseCtx->state = 0x10;
gameOverCtx->state++;

View File

@ -405,7 +405,7 @@ void aS8DecImpl(uint8_t flags, ADPCM_STATE state)
memcpy(state, out - 16, 16 * sizeof(int16_t));
}
void aAddMixerImpl(uint16_t in_addr, uint16_t out_addr, uint16_t count)
void aAddMixerImpl(uint16_t count, uint16_t in_addr, uint16_t out_addr)
{
int16_t* in = BUF_S16(in_addr);
int16_t* out = BUF_S16(out_addr);

View File

@ -208,6 +208,8 @@ namespace oot
json::setBool(container, "forceMouse", forceMouse(), allocator);
json::setBool(container, "enableExtendedOptionsMenu", enableExtendedOptionsMenu(), allocator);
json::setBool(container, "enableDebugLevelSelect", enablDebugLevelSelect(), allocator);
json::setBool(container, "restoreSaveConfirmation", restoreSaveConfirmation(), allocator);
json::setBool(container, "pauseOnLostFocus", pauseOnLostFocus(), allocator);
json::setU64(container, "pauseExitInputClearFrames", pauseExitInputClearFrames(), allocator);
json::setU64(container, "textScrollSpeed", textScrollSpeed(), allocator);
@ -233,6 +235,8 @@ namespace oot
json::getBool(container, "forceMouse", forceMouse());
json::getBool(container, "enableExtendedOptionsMenu", enableExtendedOptionsMenu());
json::getBool(container, "enableDebugLevelSelect", enablDebugLevelSelect());
json::getBool(container, "restoreSaveConfirmation", restoreSaveConfirmation());
json::getBool(container, "pauseOnLostFocus", pauseOnLostFocus());
json::getU64(container, "pauseExitInputClearFrames", pauseExitInputClearFrames());
json::getU64(container, "fastForwardSpeed", fastForwardSpeed());

View File

@ -505,6 +505,26 @@ namespace oot
float framerate() const;
const bool& pauseOnLostFocus() const
{
return m_pauseOnLostFocus;
}
bool& pauseOnLostFocus()
{
return m_pauseOnLostFocus;
}
const bool& restoreSaveConfirmation() const
{
return m_restoreSaveConfirmation;
}
bool& restoreSaveConfirmation()
{
return m_restoreSaveConfirmation;
}
protected:
bool m_graphicsEnabled = true;
bool m_audioEnabled = true;
@ -523,6 +543,8 @@ namespace oot
u64 m_textScrollSpeed = 1;
Language m_language = LANGUAGE_ENG;
u64 m_fastForwardSpeed = 5;
bool m_pauseOnLostFocus = true;
bool m_restoreSaveConfirmation = true;
};
class Base

View File

@ -395,14 +395,17 @@ namespace platform::window
}
if(event.window.event == SDL_WINDOWEVENT_FOCUS_LOST || event.window.event == SDL_WINDOWEVENT_MINIMIZED)
{
SDL_SetRelativeMouseMode(SDL_FALSE);
AudioMgr_Pause(true);
do
if(oot::config().game().pauseOnLostFocus())
{
SDL_PollEvent(&event);
_sleep(100);
}while(event.window.event != SDL_WINDOWEVENT_FOCUS_GAINED);
AudioMgr_Pause(false);
SDL_SetRelativeMouseMode(SDL_FALSE);
AudioMgr_Pause(true);
do
{
SDL_PollEvent(&event);
_sleep(100);
}while(event.window.event != SDL_WINDOWEVENT_FOCUS_GAINED);
AudioMgr_Pause(false);
}
}
#ifdef ENABLE_MOUSE

View File

@ -257,8 +257,8 @@ textbox_type = {
textbox_ypos = {
0: "TEXTBOX_POS_VARIABLE",
1: "TEXTBOX_POS_TOP",
2: "TEXTBOX_POS_BOTTOM",
3: "TEXTBOX_POS_MIDDLE",
2: "TEXTBOX_POS_MIDDLE",
3: "TEXTBOX_POS_BOTTOM",
}
# message entry tables vrom addresses

View File

@ -71,6 +71,7 @@
<LinkTimeCodeGeneration Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<RegisterOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</RegisterOutput>
<RegisterOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</RegisterOutput>
<GenerateDebugInformation Condition="'$(Configuration)'=='Release'">false</GenerateDebugInformation>
</Link>
<ClCompile>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\RaphnetAdapter\hidapi-win\include</AdditionalIncludeDirectories>

View File

@ -76,6 +76,11 @@
<TargetName>oot_assets</TargetName>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Link>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<PropertyGroup Label="UserMacros" />
<ItemGroup>
<ClCompile Include="..\assets\$(buildrom)\misc\link_animetion\link_animetion.cpp" />

View File

@ -69,38 +69,13 @@
<LinkTimeCodeGeneration Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
<PostBuildEvent>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x86\ $(SolutionDir)$(Configuration)\</Command>
<Command Condition="'$(Platform)'=='Win32'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x86\* $(SolutionDir)$(Configuration)\</Command>
</PostBuildEvent>
<PostBuildEvent>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x86\ $(SolutionDir)$(Configuration)\</Command>
</PostBuildEvent>
<PostBuildEvent>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x64\ $(SolutionDir)$(Configuration)\</Command>
</PostBuildEvent>
<PostBuildEvent>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x64\ $(SolutionDir)$(Configuration)\</Command>
<Command Condition="'$(Platform)'=='x64'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x64\* $(SolutionDir)$(Configuration)\</Command>
</PostBuildEvent>
<PreBuildEvent>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.12.0/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip')"
mkdir $(SolutionDir)..\$(ProjectName)\hidapi-win
cd $(SolutionDir)..\$(ProjectName)\hidapi-win
tar -xf $(SolutionDir)..\$(ProjectName)\hidapi-win.zip</Command>
</PreBuildEvent>
<PreBuildEvent>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.12.0/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip')"
cd $(SolutionDir)..\$(ProjectName)\hidapi-win
tar -xf $(SolutionDir)..\$(ProjectName)\hidapi-win.zip</Command>
</PreBuildEvent>
<PreBuildEvent>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.12.0/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip')"
mkdir $(SolutionDir)..\$(ProjectName)\hidapi-win
cd $(SolutionDir)..\$(ProjectName)\hidapi-win
tar -xf $(SolutionDir)..\$(ProjectName)\hidapi-win.zip</Command>
</PreBuildEvent>
<PreBuildEvent>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.12.0/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip')"
cd $(SolutionDir)..\$(ProjectName)\hidapi-win
tar -xf $(SolutionDir)..\$(ProjectName)\hidapi-win.zip</Command>
<Command>powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.13.1/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip'); Expand-Archive -Path '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip' -DestinationPath '$(SolutionDir)..\$(ProjectName)\hidapi-win' -Force"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>