├── .editorconfig
├── .gitignore
├── .travis.yml
├── 3rdparty
├── GetVersionFromGitTag.cmake
└── SDL2-2_0_3
│ ├── BUGS.txt
│ ├── COPYING.txt
│ ├── README-SDL.txt
│ ├── README.txt
│ ├── WhatsNew.txt
│ ├── include
│ ├── SDL.h
│ ├── SDL_assert.h
│ ├── SDL_atomic.h
│ ├── SDL_audio.h
│ ├── SDL_bits.h
│ ├── SDL_blendmode.h
│ ├── SDL_clipboard.h
│ ├── SDL_config.h
│ ├── SDL_cpuinfo.h
│ ├── SDL_endian.h
│ ├── SDL_error.h
│ ├── SDL_events.h
│ ├── SDL_filesystem.h
│ ├── SDL_gamecontroller.h
│ ├── SDL_gesture.h
│ ├── SDL_haptic.h
│ ├── SDL_hints.h
│ ├── SDL_joystick.h
│ ├── SDL_keyboard.h
│ ├── SDL_keycode.h
│ ├── SDL_loadso.h
│ ├── SDL_log.h
│ ├── SDL_main.h
│ ├── SDL_messagebox.h
│ ├── SDL_mouse.h
│ ├── SDL_mutex.h
│ ├── SDL_name.h
│ ├── SDL_opengl.h
│ ├── SDL_opengles.h
│ ├── SDL_opengles2.h
│ ├── SDL_pixels.h
│ ├── SDL_platform.h
│ ├── SDL_power.h
│ ├── SDL_quit.h
│ ├── SDL_rect.h
│ ├── SDL_render.h
│ ├── SDL_revision.h
│ ├── SDL_rwops.h
│ ├── SDL_scancode.h
│ ├── SDL_shape.h
│ ├── SDL_stdinc.h
│ ├── SDL_surface.h
│ ├── SDL_system.h
│ ├── SDL_syswm.h
│ ├── SDL_test.h
│ ├── SDL_test_assert.h
│ ├── SDL_test_common.h
│ ├── SDL_test_compare.h
│ ├── SDL_test_crc32.h
│ ├── SDL_test_font.h
│ ├── SDL_test_fuzzer.h
│ ├── SDL_test_harness.h
│ ├── SDL_test_images.h
│ ├── SDL_test_log.h
│ ├── SDL_test_md5.h
│ ├── SDL_test_random.h
│ ├── SDL_thread.h
│ ├── SDL_timer.h
│ ├── SDL_touch.h
│ ├── SDL_types.h
│ ├── SDL_version.h
│ ├── SDL_video.h
│ ├── begin_code.h
│ └── close_code.h
│ └── lib
│ ├── x64
│ ├── SDL2.dll
│ ├── SDL2.lib
│ ├── SDL2main.lib
│ └── SDL2test.lib
│ └── x86
│ ├── SDL2.dll
│ ├── SDL2.lib
│ ├── SDL2main.lib
│ └── SDL2test.lib
├── Authors.md
├── CMakeLists.txt
├── CodingStyle.md
├── GPLv2.txt
├── License.txt
├── ReadMe.ContentAuthors.md
├── ReadMe.md
├── Thanks.txt
├── ci
└── travis
│ ├── before_install.sh
│ ├── before_script.sh
│ ├── install.sh
│ └── script.sh
├── cmake
├── FailCPack.cmake.in
├── include
│ └── NSIS.template.in
├── test_wxstl.cpp
└── wxLauncherInstaller.cmake
├── code
├── MainWindow.cpp
├── MainWindow.h
├── apis
│ ├── CmdLineManager.cpp
│ ├── CmdLineManager.h
│ ├── EventHandlers.cpp
│ ├── EventHandlers.h
│ ├── FREDManager.cpp
│ ├── FREDManager.h
│ ├── FileProfileManager.cpp
│ ├── FlagListManager.cpp
│ ├── FlagListManager.h
│ ├── HelpManager.cpp
│ ├── HelpManager.h
│ ├── JoystickManager.cpp
│ ├── JoystickManager.h
│ ├── OpenALManager.cpp
│ ├── OpenALManager.h
│ ├── PlatformProfileManager.h
│ ├── PlatformProfileManagerShared.cpp
│ ├── ProfileManager.cpp
│ ├── ProfileManager.h
│ ├── ProfileManagerOperator.cpp
│ ├── ProfileManagerOperator.h
│ ├── ProfileProxy.cpp
│ ├── ProfileProxy.h
│ ├── RegistryProfileManager.cpp
│ ├── SkinManager.cpp
│ ├── SkinManager.h
│ ├── SpeechManager.cpp
│ ├── SpeechManager.h
│ ├── TCManager.cpp
│ ├── TCManager.h
│ ├── resolution_manager.cpp
│ └── resolution_manager.hpp
├── controls
│ ├── BottomButtons.cpp
│ ├── BottomButtons.h
│ ├── FlagListBox.cpp
│ ├── FlagListBox.h
│ ├── LightingPresets.cpp
│ ├── LightingPresets.h
│ ├── Logger.cpp
│ ├── Logger.h
│ ├── ModList.cpp
│ ├── ModList.h
│ ├── StatusBar.cpp
│ ├── StatusBar.h
│ ├── TruncatableChoice.cpp
│ └── TruncatableChoice.h
├── datastructures
│ ├── FSOExecutable.cpp
│ ├── FSOExecutable.h
│ ├── FlagFileData.cpp
│ ├── FlagFileData.h
│ ├── FlagInfo.cpp
│ ├── NewsSource.cpp
│ ├── NewsSource.h
│ ├── ResolutionMap.cpp
│ └── ResolutionMap.h
├── global
│ ├── BasicDefaults.cpp
│ ├── BasicDefaults.h
│ ├── Compatibility.cpp
│ ├── Compatibility.h
│ ├── MemoryDebugging.h
│ ├── ModDefaults.cpp
│ ├── ModDefaults.h
│ ├── ModIniKeys.cpp
│ ├── ModIniKeys.h
│ ├── ProfileKeys.cpp
│ ├── ProfileKeys.h
│ ├── RegistryKeys.cpp
│ ├── RegistryKeys.h
│ ├── SkinDefaults.cpp
│ ├── SkinDefaults.h
│ ├── Utils.cpp
│ ├── Utils.h
│ ├── configure_launcher.h.in
│ ├── ids.h
│ ├── targetver.h
│ ├── version.cpp
│ ├── version.h
│ └── version_strings.cpp.in
├── tabs
│ ├── AdvSettingsPage.cpp
│ ├── AdvSettingsPage.h
│ ├── BasicSettingsPage.cpp
│ ├── BasicSettingsPage.h
│ ├── InstallPage.cpp
│ ├── InstallPage.h
│ ├── ModsPage.cpp
│ ├── ModsPage.h
│ ├── WelcomePage.cpp
│ └── WelcomePage.h
├── wxLauncherApp.cpp
└── wxLauncherApp.h
├── documentation
└── Eventflow.dia
├── onlinehelp
├── 10Introduction
│ ├── 02Profiles.help
│ └── index.help
├── 30Reference
│ ├── 10Welcome
│ │ ├── 02profiles.help
│ │ ├── 03news.help
│ │ └── index.help
│ ├── 20MODs
│ │ ├── 01modlist.help
│ │ └── index.help
│ ├── 30BasicSettings
│ │ ├── 01executable.help
│ │ ├── 02video.help
│ │ ├── 03audio.help
│ │ ├── 04speech.help
│ │ ├── 05joystick.help
│ │ ├── 06network.help
│ │ └── index.help
│ ├── 40AdvancedSettings
│ │ ├── 01flaglist.help
│ │ ├── 021lighting.help
│ │ ├── 05flagsets.help
│ │ ├── 10customflags.help
│ │ ├── 15commandline.help
│ │ └── index.help
│ └── index.help
├── 50TechnicalStuff
│ ├── 02Terminology.help
│ ├── 03privacy.help
│ └── index.help
├── ReadMe.txt
├── images
│ ├── header.png
│ ├── le.png
│ ├── li.png
│ └── readme.txt
├── index.help
├── jfaq.help
├── kauthors.help
└── lchanges.help
├── platform
├── freedesktop
│ └── wxLauncher.desktop.in
├── macosx
│ └── wxlauncher.icns
└── win32
│ ├── installer_header.bmp
│ ├── registry_helper.cpp
│ ├── small.ico
│ ├── wxlauncher.ico
│ └── wxlauncher.rc
├── resources
├── SCP_Header.png
├── helpicon.png
├── icon_error.png
├── icon_information.png
├── icon_link.png
├── icon_ok.png
├── icon_warning.png
├── info_big.png
├── info_medium.png
├── modimg.png
├── modimg_small.png
├── questionmark.png
├── recommended.png
├── warning_big.png
├── warning_medium.png
├── wxL_Splash.png
├── wxlauncher.ico
└── wxlauncher.png
└── scripts
├── ReadMe.md
├── ci.cmd
├── ohm
├── __init__.py
├── dataclasses.py
├── help_parsers
│ ├── __init__.py
│ └── helpparsers.py
├── jobs
│ ├── __init__.py
│ └── build.py
├── utilfunctions.py
└── version_file_builder.py
├── onlinehelpmaker.py
└── version.cpp.maker.py
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*.{h,cpp}]
4 | indent_style = tab
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | build/*/
2 | builds
3 | personal
4 | code/version.cpp
5 | */generated/*
6 | output
7 | *.pyc
8 | *~
9 | *.orig
10 | *.rej
11 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: cpp
2 | sudo: true
3 | addons:
4 | apt:
5 | packages:
6 | - build-essential
7 | - cmake
8 | - libopenal-dev
9 | osx_image: xcode7.3
10 | matrix:
11 | include:
12 | - os: linux
13 | compiler: gcc
14 | env: CONFIGURATION="Debug" wxWidgets_ver=2.8
15 | - os: linux
16 | compiler: gcc
17 | env: CONFIGURATION="Debug" wxWidgets_ver=3.0
18 |
19 | - os: linux
20 | compiler: clang
21 | env: CONFIGURATION="Debug" wxWidgets_ver=2.8
22 | - os: linux
23 | compiler: clang
24 | env: CONFIGURATION="Debug" wxWidgets_ver=3.0
25 |
26 | - os: osx
27 | compiler: clang
28 | env: CONFIGURATION="Debug"
29 |
30 | - os: linux
31 | compiler: gcc
32 | env: CONFIGURATION="Release" wxWidgets_ver=2.8
33 | - os: linux
34 | compiler: gcc
35 | env: CONFIGURATION="Release" wxWidgets_ver=3.0
36 |
37 | - os: linux
38 | compiler: clang
39 | env: CONFIGURATION="Release" wxWidgets_ver=2.8
40 | - os: linux
41 | compiler: clang
42 | env: CONFIGURATION="Release" wxWidgets_ver=3.0
43 |
44 | - os: osx
45 | compiler: clang
46 | env: CONFIGURATION="Release"
47 | before_install:
48 | - ./ci/travis/before_install.sh
49 | install:
50 | - ./ci/travis/install.sh
51 | before_script:
52 | - ./ci/travis/before_script.sh
53 | script:
54 | - ./ci/travis/script.sh
55 | cache:
56 | - pip: true
57 | - directories:
58 | - $HOME/cmake
59 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/BUGS.txt:
--------------------------------------------------------------------------------
1 |
2 | Bugs are now managed in the SDL bug tracker, here:
3 |
4 | http://bugzilla.libsdl.org/
5 |
6 | You may report bugs there, and search to see if a given issue has already
7 | been reported, discussed, and maybe even fixed.
8 |
9 |
10 | You may also find help on the SDL mailing list. Subscription information:
11 |
12 | http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
13 |
14 | Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
15 | bugs discussed on the mailing list may be forgotten or missed.
16 |
17 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/COPYING.txt:
--------------------------------------------------------------------------------
1 |
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 |
21 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/README-SDL.txt:
--------------------------------------------------------------------------------
1 |
2 | Please distribute this file with the SDL runtime environment:
3 |
4 | The Simple DirectMedia Layer (SDL for short) is a cross-platform library
5 | designed to make it easy to write multi-media software, such as games and
6 | emulators.
7 |
8 | The Simple DirectMedia Layer library source code is available from:
9 | http://www.libsdl.org/
10 |
11 | This library is distributed under the terms of the zlib license:
12 | http://www.zlib.net/zlib_license.html
13 |
14 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/README.txt:
--------------------------------------------------------------------------------
1 |
2 | Simple DirectMedia Layer
3 |
4 | (SDL)
5 |
6 | Version 2.0
7 |
8 | ---
9 | http://www.libsdl.org/
10 |
11 | Simple DirectMedia Layer is a cross-platform development library designed
12 | to provide low level access to audio, keyboard, mouse, joystick, and graphics
13 | hardware via OpenGL and Direct3D. It is used by video playback software,
14 | emulators, and popular games including Valve's award winning catalog
15 | and many Humble Bundle games.
16 |
17 | SDL officially supports Windows, Mac OS X, Linux, iOS, and Android.
18 | Support for other platforms may be found in the source code.
19 |
20 | SDL is written in C, works natively with C++, and there are bindings
21 | available for several other languages, including C# and Python.
22 |
23 | This library is distributed under the zlib license, which can be found
24 | in the file "COPYING.txt".
25 |
26 | The best way to learn how to use SDL is to check out the header files in
27 | the "include" subdirectory and the programs in the "test" subdirectory.
28 | The header files and test programs are well commented and always up to date.
29 | More documentation and FAQs are available online at:
30 | http://wiki.libsdl.org/
31 |
32 | If you need help with the library, or just want to discuss SDL related
33 | issues, you can join the developers mailing list:
34 | http://www.libsdl.org/mailing-list.php
35 |
36 | If you want to report bugs or contribute patches, please submit them to
37 | bugzilla:
38 | http://bugzilla.libsdl.org/
39 |
40 | Enjoy!
41 | Sam Lantinga (slouken@libsdl.org)
42 |
43 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_bits.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_bits.h
24 | *
25 | * Functions for fiddling with bits and bitmasks.
26 | */
27 |
28 | #ifndef _SDL_bits_h
29 | #define _SDL_bits_h
30 |
31 | #include "SDL_stdinc.h"
32 |
33 | #include "begin_code.h"
34 | /* Set up for C function definitions, even when using C++ */
35 | #ifdef __cplusplus
36 | extern "C" {
37 | #endif
38 |
39 | /**
40 | * \file SDL_bits.h
41 | */
42 |
43 | /**
44 | * Get the index of the most significant bit. Result is undefined when called
45 | * with 0. This operation can also be stated as "count leading zeroes" and
46 | * "log base 2".
47 | *
48 | * \return Index of the most significant bit, or -1 if the value is 0.
49 | */
50 | SDL_FORCE_INLINE int
51 | SDL_MostSignificantBitIndex32(Uint32 x)
52 | {
53 | #if defined(__GNUC__) && __GNUC__ >= 4
54 | /* Count Leading Zeroes builtin in GCC.
55 | * http://gcc.gnu.org/onlinedocs/gcc-4.3.4/gcc/Other-Builtins.html
56 | */
57 | if (x == 0) {
58 | return -1;
59 | }
60 | return 31 - __builtin_clz(x);
61 | #else
62 | /* Based off of Bit Twiddling Hacks by Sean Eron Anderson
63 | * , released in the public domain.
64 | * http://graphics.stanford.edu/~seander/bithacks.html#IntegerLog
65 | */
66 | const Uint32 b[] = {0x2, 0xC, 0xF0, 0xFF00, 0xFFFF0000};
67 | const int S[] = {1, 2, 4, 8, 16};
68 |
69 | int msbIndex = 0;
70 | int i;
71 |
72 | if (x == 0) {
73 | return -1;
74 | }
75 |
76 | for (i = 4; i >= 0; i--)
77 | {
78 | if (x & b[i])
79 | {
80 | x >>= S[i];
81 | msbIndex |= S[i];
82 | }
83 | }
84 |
85 | return msbIndex;
86 | #endif
87 | }
88 |
89 | /* Ends C function definitions when using C++ */
90 | #ifdef __cplusplus
91 | }
92 | #endif
93 | #include "close_code.h"
94 |
95 | #endif /* _SDL_bits_h */
96 |
97 | /* vi: set ts=4 sw=4 expandtab: */
98 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_blendmode.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_blendmode.h
24 | *
25 | * Header file declaring the SDL_BlendMode enumeration
26 | */
27 |
28 | #ifndef _SDL_blendmode_h
29 | #define _SDL_blendmode_h
30 |
31 | #include "begin_code.h"
32 | /* Set up for C function definitions, even when using C++ */
33 | #ifdef __cplusplus
34 | extern "C" {
35 | #endif
36 |
37 | /**
38 | * \brief The blend mode used in SDL_RenderCopy() and drawing operations.
39 | */
40 | typedef enum
41 | {
42 | SDL_BLENDMODE_NONE = 0x00000000, /**< no blending
43 | dstRGBA = srcRGBA */
44 | SDL_BLENDMODE_BLEND = 0x00000001, /**< alpha blending
45 | dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))
46 | dstA = srcA + (dstA * (1-srcA)) */
47 | SDL_BLENDMODE_ADD = 0x00000002, /**< additive blending
48 | dstRGB = (srcRGB * srcA) + dstRGB
49 | dstA = dstA */
50 | SDL_BLENDMODE_MOD = 0x00000004 /**< color modulate
51 | dstRGB = srcRGB * dstRGB
52 | dstA = dstA */
53 | } SDL_BlendMode;
54 |
55 | /* Ends C function definitions when using C++ */
56 | #ifdef __cplusplus
57 | }
58 | #endif
59 | #include "close_code.h"
60 |
61 | #endif /* _SDL_video_h */
62 |
63 | /* vi: set ts=4 sw=4 expandtab: */
64 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_clipboard.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_clipboard.h
24 | *
25 | * Include file for SDL clipboard handling
26 | */
27 |
28 | #ifndef _SDL_clipboard_h
29 | #define _SDL_clipboard_h
30 |
31 | #include "SDL_stdinc.h"
32 |
33 | #include "begin_code.h"
34 | /* Set up for C function definitions, even when using C++ */
35 | #ifdef __cplusplus
36 | extern "C" {
37 | #endif
38 |
39 | /* Function prototypes */
40 |
41 | /**
42 | * \brief Put UTF-8 text into the clipboard
43 | *
44 | * \sa SDL_GetClipboardText()
45 | */
46 | extern DECLSPEC int SDLCALL SDL_SetClipboardText(const char *text);
47 |
48 | /**
49 | * \brief Get UTF-8 text from the clipboard, which must be freed with SDL_free()
50 | *
51 | * \sa SDL_SetClipboardText()
52 | */
53 | extern DECLSPEC char * SDLCALL SDL_GetClipboardText(void);
54 |
55 | /**
56 | * \brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty
57 | *
58 | * \sa SDL_GetClipboardText()
59 | */
60 | extern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void);
61 |
62 |
63 | /* Ends C function definitions when using C++ */
64 | #ifdef __cplusplus
65 | }
66 | #endif
67 | #include "close_code.h"
68 |
69 | #endif /* _SDL_clipboard_h */
70 |
71 | /* vi: set ts=4 sw=4 expandtab: */
72 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_error.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_error.h
24 | *
25 | * Simple error message routines for SDL.
26 | */
27 |
28 | #ifndef _SDL_error_h
29 | #define _SDL_error_h
30 |
31 | #include "SDL_stdinc.h"
32 |
33 | #include "begin_code.h"
34 | /* Set up for C function definitions, even when using C++ */
35 | #ifdef __cplusplus
36 | extern "C" {
37 | #endif
38 |
39 | /* Public functions */
40 | /* SDL_SetError() unconditionally returns -1. */
41 | extern DECLSPEC int SDLCALL SDL_SetError(const char *fmt, ...);
42 | extern DECLSPEC const char *SDLCALL SDL_GetError(void);
43 | extern DECLSPEC void SDLCALL SDL_ClearError(void);
44 |
45 | /**
46 | * \name Internal error functions
47 | *
48 | * \internal
49 | * Private error reporting function - used internally.
50 | */
51 | /* @{ */
52 | #define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM)
53 | #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED)
54 | #define SDL_InvalidParamError(param) SDL_SetError("Parameter '%s' is invalid", (param))
55 | typedef enum
56 | {
57 | SDL_ENOMEM,
58 | SDL_EFREAD,
59 | SDL_EFWRITE,
60 | SDL_EFSEEK,
61 | SDL_UNSUPPORTED,
62 | SDL_LASTERROR
63 | } SDL_errorcode;
64 | /* SDL_Error() unconditionally returns -1. */
65 | extern DECLSPEC int SDLCALL SDL_Error(SDL_errorcode code);
66 | /* @} *//* Internal error functions */
67 |
68 | /* Ends C function definitions when using C++ */
69 | #ifdef __cplusplus
70 | }
71 | #endif
72 | #include "close_code.h"
73 |
74 | #endif /* _SDL_error_h */
75 |
76 | /* vi: set ts=4 sw=4 expandtab: */
77 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_gesture.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_gesture.h
24 | *
25 | * Include file for SDL gesture event handling.
26 | */
27 |
28 | #ifndef _SDL_gesture_h
29 | #define _SDL_gesture_h
30 |
31 | #include "SDL_stdinc.h"
32 | #include "SDL_error.h"
33 | #include "SDL_video.h"
34 |
35 | #include "SDL_touch.h"
36 |
37 |
38 | #include "begin_code.h"
39 | /* Set up for C function definitions, even when using C++ */
40 | #ifdef __cplusplus
41 | extern "C" {
42 | #endif
43 |
44 | typedef Sint64 SDL_GestureID;
45 |
46 | /* Function prototypes */
47 |
48 | /**
49 | * \brief Begin Recording a gesture on the specified touch, or all touches (-1)
50 | *
51 | *
52 | */
53 | extern DECLSPEC int SDLCALL SDL_RecordGesture(SDL_TouchID touchId);
54 |
55 |
56 | /**
57 | * \brief Save all currently loaded Dollar Gesture templates
58 | *
59 | *
60 | */
61 | extern DECLSPEC int SDLCALL SDL_SaveAllDollarTemplates(SDL_RWops *dst);
62 |
63 | /**
64 | * \brief Save a currently loaded Dollar Gesture template
65 | *
66 | *
67 | */
68 | extern DECLSPEC int SDLCALL SDL_SaveDollarTemplate(SDL_GestureID gestureId,SDL_RWops *dst);
69 |
70 |
71 | /**
72 | * \brief Load Dollar Gesture templates from a file
73 | *
74 | *
75 | */
76 | extern DECLSPEC int SDLCALL SDL_LoadDollarTemplates(SDL_TouchID touchId, SDL_RWops *src);
77 |
78 |
79 | /* Ends C function definitions when using C++ */
80 | #ifdef __cplusplus
81 | }
82 | #endif
83 | #include "close_code.h"
84 |
85 | #endif /* _SDL_gesture_h */
86 |
87 | /* vi: set ts=4 sw=4 expandtab: */
88 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_loadso.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_loadso.h
24 | *
25 | * System dependent library loading routines
26 | *
27 | * Some things to keep in mind:
28 | * \li These functions only work on C function names. Other languages may
29 | * have name mangling and intrinsic language support that varies from
30 | * compiler to compiler.
31 | * \li Make sure you declare your function pointers with the same calling
32 | * convention as the actual library function. Your code will crash
33 | * mysteriously if you do not do this.
34 | * \li Avoid namespace collisions. If you load a symbol from the library,
35 | * it is not defined whether or not it goes into the global symbol
36 | * namespace for the application. If it does and it conflicts with
37 | * symbols in your code or other shared libraries, you will not get
38 | * the results you expect. :)
39 | */
40 |
41 | #ifndef _SDL_loadso_h
42 | #define _SDL_loadso_h
43 |
44 | #include "SDL_stdinc.h"
45 | #include "SDL_error.h"
46 |
47 | #include "begin_code.h"
48 | /* Set up for C function definitions, even when using C++ */
49 | #ifdef __cplusplus
50 | extern "C" {
51 | #endif
52 |
53 | /**
54 | * This function dynamically loads a shared object and returns a pointer
55 | * to the object handle (or NULL if there was an error).
56 | * The 'sofile' parameter is a system dependent name of the object file.
57 | */
58 | extern DECLSPEC void *SDLCALL SDL_LoadObject(const char *sofile);
59 |
60 | /**
61 | * Given an object handle, this function looks up the address of the
62 | * named function in the shared object and returns it. This address
63 | * is no longer valid after calling SDL_UnloadObject().
64 | */
65 | extern DECLSPEC void *SDLCALL SDL_LoadFunction(void *handle,
66 | const char *name);
67 |
68 | /**
69 | * Unload a shared object from memory.
70 | */
71 | extern DECLSPEC void SDLCALL SDL_UnloadObject(void *handle);
72 |
73 | /* Ends C function definitions when using C++ */
74 | #ifdef __cplusplus
75 | }
76 | #endif
77 | #include "close_code.h"
78 |
79 | #endif /* _SDL_loadso_h */
80 |
81 | /* vi: set ts=4 sw=4 expandtab: */
82 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_name.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | #ifndef _SDLname_h_
23 | #define _SDLname_h_
24 |
25 | #if defined(__STDC__) || defined(__cplusplus)
26 | #define NeedFunctionPrototypes 1
27 | #endif
28 |
29 | #define SDL_NAME(X) SDL_##X
30 |
31 | #endif /* _SDLname_h_ */
32 |
33 | /* vi: set ts=4 sw=4 expandtab: */
34 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_opengles.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_opengles.h
24 | *
25 | * This is a simple file to encapsulate the OpenGL ES 1.X API headers.
26 | */
27 |
28 | #ifdef __IPHONEOS__
29 | #include
30 | #include
31 | #else
32 | #include
33 | #include
34 | #endif
35 |
36 | #ifndef APIENTRY
37 | #define APIENTRY
38 | #endif
39 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_power.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | #ifndef _SDL_power_h
23 | #define _SDL_power_h
24 |
25 | /**
26 | * \file SDL_power.h
27 | *
28 | * Header for the SDL power management routines.
29 | */
30 |
31 | #include "SDL_stdinc.h"
32 |
33 | #include "begin_code.h"
34 | /* Set up for C function definitions, even when using C++ */
35 | #ifdef __cplusplus
36 | extern "C" {
37 | #endif
38 |
39 | /**
40 | * \brief The basic state for the system's power supply.
41 | */
42 | typedef enum
43 | {
44 | SDL_POWERSTATE_UNKNOWN, /**< cannot determine power status */
45 | SDL_POWERSTATE_ON_BATTERY, /**< Not plugged in, running on the battery */
46 | SDL_POWERSTATE_NO_BATTERY, /**< Plugged in, no battery available */
47 | SDL_POWERSTATE_CHARGING, /**< Plugged in, charging battery */
48 | SDL_POWERSTATE_CHARGED /**< Plugged in, battery charged */
49 | } SDL_PowerState;
50 |
51 |
52 | /**
53 | * \brief Get the current power supply details.
54 | *
55 | * \param secs Seconds of battery life left. You can pass a NULL here if
56 | * you don't care. Will return -1 if we can't determine a
57 | * value, or we're not running on a battery.
58 | *
59 | * \param pct Percentage of battery life left, between 0 and 100. You can
60 | * pass a NULL here if you don't care. Will return -1 if we
61 | * can't determine a value, or we're not running on a battery.
62 | *
63 | * \return The state of the battery (if any).
64 | */
65 | extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *secs, int *pct);
66 |
67 | /* Ends C function definitions when using C++ */
68 | #ifdef __cplusplus
69 | }
70 | #endif
71 | #include "close_code.h"
72 |
73 | #endif /* _SDL_power_h */
74 |
75 | /* vi: set ts=4 sw=4 expandtab: */
76 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_quit.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_quit.h
24 | *
25 | * Include file for SDL quit event handling.
26 | */
27 |
28 | #ifndef _SDL_quit_h
29 | #define _SDL_quit_h
30 |
31 | #include "SDL_stdinc.h"
32 | #include "SDL_error.h"
33 |
34 | /**
35 | * \file SDL_quit.h
36 | *
37 | * An ::SDL_QUIT event is generated when the user tries to close the application
38 | * window. If it is ignored or filtered out, the window will remain open.
39 | * If it is not ignored or filtered, it is queued normally and the window
40 | * is allowed to close. When the window is closed, screen updates will
41 | * complete, but have no effect.
42 | *
43 | * SDL_Init() installs signal handlers for SIGINT (keyboard interrupt)
44 | * and SIGTERM (system termination request), if handlers do not already
45 | * exist, that generate ::SDL_QUIT events as well. There is no way
46 | * to determine the cause of an ::SDL_QUIT event, but setting a signal
47 | * handler in your application will override the default generation of
48 | * quit events for that signal.
49 | *
50 | * \sa SDL_Quit()
51 | */
52 |
53 | /* There are no functions directly affecting the quit event */
54 |
55 | #define SDL_QuitRequested() \
56 | (SDL_PumpEvents(), (SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUIT,SDL_QUIT) > 0))
57 |
58 | #endif /* _SDL_quit_h */
59 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_revision.h:
--------------------------------------------------------------------------------
1 | #define SDL_REVISION "hg-8628:b558f99d48f0"
2 | #define SDL_REVISION_NUMBER 8628
3 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_test.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_test.h
24 | *
25 | * Include file for SDL test framework.
26 | *
27 | * This code is a part of the SDL2_test library, not the main SDL library.
28 | */
29 |
30 | #ifndef _SDL_test_h
31 | #define _SDL_test_h
32 |
33 | #include "SDL.h"
34 | #include "SDL_test_common.h"
35 | #include "SDL_test_font.h"
36 | #include "SDL_test_random.h"
37 | #include "SDL_test_fuzzer.h"
38 | #include "SDL_test_crc32.h"
39 | #include "SDL_test_md5.h"
40 | #include "SDL_test_log.h"
41 | #include "SDL_test_assert.h"
42 | #include "SDL_test_harness.h"
43 | #include "SDL_test_images.h"
44 | #include "SDL_test_compare.h"
45 |
46 | #include "begin_code.h"
47 | /* Set up for C function definitions, even when using C++ */
48 | #ifdef __cplusplus
49 | extern "C" {
50 | #endif
51 |
52 | /* Global definitions */
53 |
54 | /*
55 | * Note: Maximum size of SDLTest log message is less than SDLs limit
56 | * to ensure we can fit additional information such as the timestamp.
57 | */
58 | #define SDLTEST_MAX_LOGMESSAGE_LENGTH 3584
59 |
60 | /* Ends C function definitions when using C++ */
61 | #ifdef __cplusplus
62 | }
63 | #endif
64 | #include "close_code.h"
65 |
66 | #endif /* _SDL_test_h */
67 |
68 | /* vi: set ts=4 sw=4 expandtab: */
69 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_test_assert.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_test_assert.h
24 | *
25 | * Include file for SDL test framework.
26 | *
27 | * This code is a part of the SDL2_test library, not the main SDL library.
28 | */
29 |
30 | /*
31 | *
32 | * Assert API for test code and test cases
33 | *
34 | */
35 |
36 | #ifndef _SDL_test_assert_h
37 | #define _SDL_test_assert_h
38 |
39 | #include "begin_code.h"
40 | /* Set up for C function definitions, even when using C++ */
41 | #ifdef __cplusplus
42 | extern "C" {
43 | #endif
44 |
45 | /**
46 | * \brief Fails the assert.
47 | */
48 | #define ASSERT_FAIL 0
49 |
50 | /**
51 | * \brief Passes the assert.
52 | */
53 | #define ASSERT_PASS 1
54 |
55 | /**
56 | * \brief Assert that logs and break execution flow on failures.
57 | *
58 | * \param assertCondition Evaluated condition or variable to assert; fail (==0) or pass (!=0).
59 | * \param assertDescription Message to log with the assert describing it.
60 | */
61 | void SDLTest_Assert(int assertCondition, const char *assertDescription, ...);
62 |
63 | /**
64 | * \brief Assert for test cases that logs but does not break execution flow on failures. Updates assertion counters.
65 | *
66 | * \param assertCondition Evaluated condition or variable to assert; fail (==0) or pass (!=0).
67 | * \param assertDescription Message to log with the assert describing it.
68 | *
69 | * \returns Returns the assertCondition so it can be used to externally to break execution flow if desired.
70 | */
71 | int SDLTest_AssertCheck(int assertCondition, const char *assertDescription, ...);
72 |
73 | /**
74 | * \brief Explicitely pass without checking an assertion condition. Updates assertion counter.
75 | *
76 | * \param assertDescription Message to log with the assert describing it.
77 | */
78 | void SDLTest_AssertPass(const char *assertDescription, ...);
79 |
80 | /**
81 | * \brief Resets the assert summary counters to zero.
82 | */
83 | void SDLTest_ResetAssertSummary();
84 |
85 | /**
86 | * \brief Logs summary of all assertions (total, pass, fail) since last reset as INFO or ERROR.
87 | */
88 | void SDLTest_LogAssertSummary();
89 |
90 |
91 | /**
92 | * \brief Converts the current assert summary state to a test result.
93 | *
94 | * \returns TEST_RESULT_PASSED, TEST_RESULT_FAILED, or TEST_RESULT_NO_ASSERT
95 | */
96 | int SDLTest_AssertSummaryToTestResult();
97 |
98 | #ifdef __cplusplus
99 | }
100 | #endif
101 | #include "close_code.h"
102 |
103 | #endif /* _SDL_test_assert_h */
104 |
105 | /* vi: set ts=4 sw=4 expandtab: */
106 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_test_compare.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_test_compare.h
24 | *
25 | * Include file for SDL test framework.
26 | *
27 | * This code is a part of the SDL2_test library, not the main SDL library.
28 | */
29 |
30 | /*
31 |
32 | Defines comparison functions (i.e. for surfaces).
33 |
34 | */
35 |
36 | #ifndef _SDL_test_compare_h
37 | #define _SDL_test_compare_h
38 |
39 | #include "SDL.h"
40 |
41 | #include "SDL_test_images.h"
42 |
43 | #include "begin_code.h"
44 | /* Set up for C function definitions, even when using C++ */
45 | #ifdef __cplusplus
46 | extern "C" {
47 | #endif
48 |
49 | /**
50 | * \brief Compares a surface and with reference image data for equality
51 | *
52 | * \param surface Surface used in comparison
53 | * \param referenceSurface Test Surface used in comparison
54 | * \param allowable_error Allowable difference (squared) in blending accuracy.
55 | *
56 | * \returns 0 if comparison succeeded, >0 (=number of pixels where comparison failed) if comparison failed, -1 if any of the surfaces were NULL, -2 if the surface sizes differ.
57 | */
58 | int SDLTest_CompareSurfaces(SDL_Surface *surface, SDL_Surface *referenceSurface, int allowable_error);
59 |
60 |
61 | /* Ends C function definitions when using C++ */
62 | #ifdef __cplusplus
63 | }
64 | #endif
65 | #include "close_code.h"
66 |
67 | #endif /* _SDL_test_compare_h */
68 |
69 | /* vi: set ts=4 sw=4 expandtab: */
70 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_test_font.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_test_font.h
24 | *
25 | * Include file for SDL test framework.
26 | *
27 | * This code is a part of the SDL2_test library, not the main SDL library.
28 | */
29 |
30 | #ifndef _SDL_test_font_h
31 | #define _SDL_test_font_h
32 |
33 | #include "begin_code.h"
34 | /* Set up for C function definitions, even when using C++ */
35 | #ifdef __cplusplus
36 | extern "C" {
37 | #endif
38 |
39 | /* Function prototypes */
40 |
41 | #define FONT_CHARACTER_SIZE 8
42 |
43 | /**
44 | * \brief Draw a string in the currently set font.
45 | *
46 | * \param renderer The renderer to draw on.
47 | * \param x The X coordinate of the upper left corner of the character.
48 | * \param y The Y coordinate of the upper left corner of the character.
49 | * \param c The character to draw.
50 | *
51 | * \returns Returns 0 on success, -1 on failure.
52 | */
53 | int SDLTest_DrawCharacter( SDL_Renderer *renderer, int x, int y, char c );
54 |
55 | /**
56 | * \brief Draw a string in the currently set font.
57 | *
58 | * \param renderer The renderer to draw on.
59 | * \param x The X coordinate of the upper left corner of the string.
60 | * \param y The Y coordinate of the upper left corner of the string.
61 | * \param s The string to draw.
62 | *
63 | * \returns Returns 0 on success, -1 on failure.
64 | */
65 | int SDLTest_DrawString( SDL_Renderer * renderer, int x, int y, const char *s );
66 |
67 |
68 | /* Ends C function definitions when using C++ */
69 | #ifdef __cplusplus
70 | }
71 | #endif
72 | #include "close_code.h"
73 |
74 | #endif /* _SDL_test_font_h */
75 |
76 | /* vi: set ts=4 sw=4 expandtab: */
77 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_test_images.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_test_images.h
24 | *
25 | * Include file for SDL test framework.
26 | *
27 | * This code is a part of the SDL2_test library, not the main SDL library.
28 | */
29 |
30 | /*
31 |
32 | Defines some images for tests.
33 |
34 | */
35 |
36 | #ifndef _SDL_test_images_h
37 | #define _SDL_test_images_h
38 |
39 | #include "SDL.h"
40 |
41 | #include "begin_code.h"
42 | /* Set up for C function definitions, even when using C++ */
43 | #ifdef __cplusplus
44 | extern "C" {
45 | #endif
46 |
47 | /**
48 | *Type for test images.
49 | */
50 | typedef struct SDLTest_SurfaceImage_s {
51 | int width;
52 | int height;
53 | unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */
54 | const char *pixel_data;
55 | } SDLTest_SurfaceImage_t;
56 |
57 | /* Test images */
58 | SDL_Surface *SDLTest_ImageBlit();
59 | SDL_Surface *SDLTest_ImageBlitColor();
60 | SDL_Surface *SDLTest_ImageBlitAlpha();
61 | SDL_Surface *SDLTest_ImageBlitBlendAdd();
62 | SDL_Surface *SDLTest_ImageBlitBlend();
63 | SDL_Surface *SDLTest_ImageBlitBlendMod();
64 | SDL_Surface *SDLTest_ImageBlitBlendNone();
65 | SDL_Surface *SDLTest_ImageBlitBlendAll();
66 | SDL_Surface *SDLTest_ImageFace();
67 | SDL_Surface *SDLTest_ImagePrimitives();
68 | SDL_Surface *SDLTest_ImagePrimitivesBlend();
69 |
70 | /* Ends C function definitions when using C++ */
71 | #ifdef __cplusplus
72 | }
73 | #endif
74 | #include "close_code.h"
75 |
76 | #endif /* _SDL_test_images_h */
77 |
78 | /* vi: set ts=4 sw=4 expandtab: */
79 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_test_log.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_test_log.h
24 | *
25 | * Include file for SDL test framework.
26 | *
27 | * This code is a part of the SDL2_test library, not the main SDL library.
28 | */
29 |
30 | /*
31 | *
32 | * Wrapper to log in the TEST category
33 | *
34 | */
35 |
36 | #ifndef _SDL_test_log_h
37 | #define _SDL_test_log_h
38 |
39 | #include "begin_code.h"
40 | /* Set up for C function definitions, even when using C++ */
41 | #ifdef __cplusplus
42 | extern "C" {
43 | #endif
44 |
45 | /**
46 | * \brief Prints given message with a timestamp in the TEST category and INFO priority.
47 | *
48 | * \param fmt Message to be logged
49 | */
50 | void SDLTest_Log(const char *fmt, ...);
51 |
52 | /**
53 | * \brief Prints given message with a timestamp in the TEST category and the ERROR priority.
54 | *
55 | * \param fmt Message to be logged
56 | */
57 | void SDLTest_LogError(const char *fmt, ...);
58 |
59 | /* Ends C function definitions when using C++ */
60 | #ifdef __cplusplus
61 | }
62 | #endif
63 | #include "close_code.h"
64 |
65 | #endif /* _SDL_test_log_h */
66 |
67 | /* vi: set ts=4 sw=4 expandtab: */
68 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_test_random.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_test_random.h
24 | *
25 | * Include file for SDL test framework.
26 | *
27 | * This code is a part of the SDL2_test library, not the main SDL library.
28 | */
29 |
30 | /*
31 |
32 | A "32-bit Multiply with carry random number generator. Very fast.
33 | Includes a list of recommended multipliers.
34 |
35 | multiply-with-carry generator: x(n) = a*x(n-1) + carry mod 2^32.
36 | period: (a*2^31)-1
37 |
38 | */
39 |
40 | #ifndef _SDL_test_random_h
41 | #define _SDL_test_random_h
42 |
43 | #include "begin_code.h"
44 | /* Set up for C function definitions, even when using C++ */
45 | #ifdef __cplusplus
46 | extern "C" {
47 | #endif
48 |
49 | /* --- Definitions */
50 |
51 | /*
52 | * Macros that return a random number in a specific format.
53 | */
54 | #define SDLTest_RandomInt(c) ((int)SDLTest_Random(c))
55 |
56 | /*
57 | * Context structure for the random number generator state.
58 | */
59 | typedef struct {
60 | unsigned int a;
61 | unsigned int x;
62 | unsigned int c;
63 | unsigned int ah;
64 | unsigned int al;
65 | } SDLTest_RandomContext;
66 |
67 |
68 | /* --- Function prototypes */
69 |
70 | /**
71 | * \brief Initialize random number generator with two integers.
72 | *
73 | * Note: The random sequence of numbers returned by ...Random() is the
74 | * same for the same two integers and has a period of 2^31.
75 | *
76 | * \param rndContext pointer to context structure
77 | * \param xi integer that defines the random sequence
78 | * \param ci integer that defines the random sequence
79 | *
80 | */
81 | void SDLTest_RandomInit(SDLTest_RandomContext * rndContext, unsigned int xi,
82 | unsigned int ci);
83 |
84 | /**
85 | * \brief Initialize random number generator based on current system time.
86 | *
87 | * \param rndContext pointer to context structure
88 | *
89 | */
90 | void SDLTest_RandomInitTime(SDLTest_RandomContext *rndContext);
91 |
92 |
93 | /**
94 | * \brief Initialize random number generator based on current system time.
95 | *
96 | * Note: ...RandomInit() or ...RandomInitTime() must have been called
97 | * before using this function.
98 | *
99 | * \param rndContext pointer to context structure
100 | *
101 | * \returns A random number (32bit unsigned integer)
102 | *
103 | */
104 | unsigned int SDLTest_Random(SDLTest_RandomContext *rndContext);
105 |
106 |
107 | /* Ends C function definitions when using C++ */
108 | #ifdef __cplusplus
109 | }
110 | #endif
111 | #include "close_code.h"
112 |
113 | #endif /* _SDL_test_random_h */
114 |
115 | /* vi: set ts=4 sw=4 expandtab: */
116 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_touch.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_touch.h
24 | *
25 | * Include file for SDL touch event handling.
26 | */
27 |
28 | #ifndef _SDL_touch_h
29 | #define _SDL_touch_h
30 |
31 | #include "SDL_stdinc.h"
32 | #include "SDL_error.h"
33 | #include "SDL_video.h"
34 |
35 | #include "begin_code.h"
36 | /* Set up for C function definitions, even when using C++ */
37 | #ifdef __cplusplus
38 | extern "C" {
39 | #endif
40 |
41 | typedef Sint64 SDL_TouchID;
42 | typedef Sint64 SDL_FingerID;
43 |
44 | typedef struct SDL_Finger
45 | {
46 | SDL_FingerID id;
47 | float x;
48 | float y;
49 | float pressure;
50 | } SDL_Finger;
51 |
52 | /* Used as the device ID for mouse events simulated with touch input */
53 | #define SDL_TOUCH_MOUSEID ((Uint32)-1)
54 |
55 |
56 | /* Function prototypes */
57 |
58 | /**
59 | * \brief Get the number of registered touch devices.
60 | */
61 | extern DECLSPEC int SDLCALL SDL_GetNumTouchDevices(void);
62 |
63 | /**
64 | * \brief Get the touch ID with the given index, or 0 if the index is invalid.
65 | */
66 | extern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index);
67 |
68 | /**
69 | * \brief Get the number of active fingers for a given touch device.
70 | */
71 | extern DECLSPEC int SDLCALL SDL_GetNumTouchFingers(SDL_TouchID touchID);
72 |
73 | /**
74 | * \brief Get the finger object of the given touch, with the given index.
75 | */
76 | extern DECLSPEC SDL_Finger * SDLCALL SDL_GetTouchFinger(SDL_TouchID touchID, int index);
77 |
78 | /* Ends C function definitions when using C++ */
79 | #ifdef __cplusplus
80 | }
81 | #endif
82 | #include "close_code.h"
83 |
84 | #endif /* _SDL_touch_h */
85 |
86 | /* vi: set ts=4 sw=4 expandtab: */
87 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/SDL_types.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file SDL_types.h
24 | *
25 | * \deprecated
26 | */
27 |
28 | /* DEPRECATED */
29 | #include "SDL_stdinc.h"
30 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/include/close_code.h:
--------------------------------------------------------------------------------
1 | /*
2 | Simple DirectMedia Layer
3 | Copyright (C) 1997-2014 Sam Lantinga
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 | */
21 |
22 | /**
23 | * \file close_code.h
24 | *
25 | * This file reverses the effects of begin_code.h and should be included
26 | * after you finish any function and structure declarations in your headers
27 | */
28 |
29 | #undef _begin_code_h
30 |
31 | /* Reset structure packing at previous byte alignment */
32 | #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__) || defined(__BORLANDC__)
33 | #ifdef __BORLANDC__
34 | #pragma nopackwarning
35 | #endif
36 | #pragma pack(pop)
37 | #endif /* Compiler needs structure packing set */
38 |
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/lib/x64/SDL2.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/3rdparty/SDL2-2_0_3/lib/x64/SDL2.dll
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/lib/x64/SDL2.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/3rdparty/SDL2-2_0_3/lib/x64/SDL2.lib
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/lib/x64/SDL2main.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/3rdparty/SDL2-2_0_3/lib/x64/SDL2main.lib
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/lib/x64/SDL2test.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/3rdparty/SDL2-2_0_3/lib/x64/SDL2test.lib
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/lib/x86/SDL2.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/3rdparty/SDL2-2_0_3/lib/x86/SDL2.dll
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/lib/x86/SDL2.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/3rdparty/SDL2-2_0_3/lib/x86/SDL2.lib
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/lib/x86/SDL2main.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/3rdparty/SDL2-2_0_3/lib/x86/SDL2main.lib
--------------------------------------------------------------------------------
/3rdparty/SDL2-2_0_3/lib/x86/SDL2test.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/3rdparty/SDL2-2_0_3/lib/x86/SDL2test.lib
--------------------------------------------------------------------------------
/Authors.md:
--------------------------------------------------------------------------------
1 | #Authors
2 |
3 | These are the people who's passion brought wxLauncher into existence:
4 |
5 | | Role | Author | Activity |
6 | |------------|-------------------------------------|-----------------------------|
7 | | Programmer | Iss Mneur () | Coding, testing & bugfixing |
8 | | Programmer | jg18 () | Coding, testing & bugfixing |
9 | | Programmer | m!m () | Coding, testing & bugfixing |
10 | | Misc. | kkmic () | Testing & help system |
11 | | Art | Councilor () | wxL's banner art |
12 |
13 | We would also like to thank:
14 |
15 | * wxWidgets Team - For the cross-platform wxWidgets
16 | * Source Code Project (SCP) - For the wonderful fs2_open
17 | * Hard-Light Community - For ideas and support
18 | * Volition, Inc. - Developer of Freespace 2
19 | * Interplay - Publisher of Freespace 2
20 |
--------------------------------------------------------------------------------
/CodingStyle.md:
--------------------------------------------------------------------------------
1 | The coding style for wxLauncher is split
2 | into three parts, one for the C/C++
3 | portion of the code, one for the python
4 | code, and one for the online help
5 | manual(Markdown) portion of code.
6 |
7 | All code
8 | ========
9 | All code for wxLauncher should have
10 | a line feed (LF) (ASCII 0x0A)
11 | as the line endings in all files. This
12 | line ending style is also known as the
13 | Unix style line ending. This means
14 | all linux and OSX coders should have:
15 | [hooks]
16 | pretxncommit.crlf = python:hgext.win32text.forbidcrlf
17 | [patch]
18 | eol = lf
19 | as in their .hgrc files. The setting
20 | can be set in either the ~/.hgrc or
21 | in the /.hg/.hgrc.
22 | Either location will work and will cause
23 | mercurial to automaticilly convert line
24 | endings.
25 |
26 | All windows users should set:
27 | [hooks]
28 | # make sure that crlf's do not get committed.
29 | pretxncommit.crlf = python:hgext.win32text.forbidcrlf
30 | [patch]
31 | eol = lf
32 | in their Mercurial.ini file (located
33 | in the user profile) or in the
34 | /.hg/.hgrc file.
35 | This setting allows mercurial to make
36 | sure that any incoming files with the
37 | wrong line endings will be corrected
38 | quickly.
39 |
40 | Tabs are to be set two spaces and to
41 | be auto converted to spaces. This
42 | is espcially important when editing
43 | the Python code.
44 |
45 | Help Manual
46 | ===========
47 | For the coding style and language style
48 | for the help manual see the ReadMe.txt
49 | in the onlinehelp folder.
50 |
51 | Python Code
52 | ===========
53 | Python coding style is to follow PEP 8
54 | found on the python website at:
55 | .
56 |
57 | C/C++ Code
58 | ==========
59 | The C/C++ coding style similar to the
60 | Python and wxWidgets coding style.
61 |
62 | -Class names should be CamelCased with
63 | the first letter also capitalized.
64 |
65 | -Public functions of classes should also
66 | be CamelCased and start with a capital
67 | letter.
68 |
69 | -Event handling functions should be named
70 | On.
71 |
72 | -Other functions should also be
73 | where possible.
74 |
75 | -Private class variables should be
76 | camelCased starting with a lowercase
77 | letter and always referenced via this.
78 | this->memberVariable = 9;
79 |
80 | -Macros must be named with all capital
81 | letters with words separated by
82 | underscores.
83 |
--------------------------------------------------------------------------------
/License.txt:
--------------------------------------------------------------------------------
1 | wxLauncher is copyright the wxLauncher Team.
2 |
3 | wxLauncher is Free Software, released under the
4 | GNU General Public License, version 2.
5 |
6 | You should have one copy of the license downloaded with the
7 | source (GPLv2.txt found alongside this summary). If it is
8 | missing, you can find a copy of the license at:
9 | http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10 |
11 | Please add it back to the source package ;)
12 |
13 | The source code for this software is available for download
14 | at http://code.google.com/p/wxlauncher/downloads/list
15 |
16 | ** The interfaces that wxLauncher uses to interact
17 | with the FreeSpace 2 Open binaries are licensed (
18 | including but not limited to the Volition Pack files,
19 | and flag file) under FreeSpace 2 Open's license
20 | and are copyright Volition, Inc. (developer of
21 | Freespace 2), Interplay (publisher of FreeSpace 2),
22 | THQ (Volition, Inc's current owner) and/or the
23 | Freespace 2 Source Code Project (SCP). **
24 |
25 | All source in the libraries folder is licensed under
26 | its respective license which is indicated by a License.txt
27 | in its source folder and/or a header in the code file.
28 |
29 | The wxLauncher Team.
30 |
--------------------------------------------------------------------------------
/ReadMe.ContentAuthors.md:
--------------------------------------------------------------------------------
1 | ** This document is indented for content authors and contains
2 | instructions about how wxLauncher can help them. If you just
3 | want to play FS2 Open see the main ReadMe.txt. **
4 |
5 | Introduction
6 | ============
7 | wxLauncher aims to give one unified answer to members of the
8 | FreeSpace 2 Open modding community looking for an easy way
9 | to give your users an easy to use launcher (and installer,
10 | once that happens), as well as providing you with some useful
11 | tools for making your life easier by reducing your cross platform
12 | install issues. wxLauncher can also make your life easier
13 | for working with FSO and jumping back and forth between different
14 | content that you have being developed or completed.
15 |
16 | Features
17 | ========
18 | - Add a profile to wxLauncher from a file.
19 | - Select the profile that wxLauncher will use on next startup.
20 |
21 | A note about wxLaunchers commandline
22 | ====================================
23 | There are three types of commandline options to wxLauncher.
24 | A switch:
25 | Enables specific functionality just from its presence.
26 | A operator:
27 | Causes wxLauncher to act (normally without showing the GUI)
28 | upon its internal data structures. Used with /OPERANDS/ to
29 | provide the targets or sources for operations.
30 | An operand:
31 | Used with operators to specify what to act upon.
32 |
33 | Adding profiles programmatically
34 | ============================
35 | This is done with the --add-profile commandline operator. Requires
36 | two Operands:
37 | --profile - Contains name of the profile to add
38 | --file - Contains the fully qualified path to a profile
39 | to import.
40 |
41 | This function will not overwrite an existing profile of the same
42 | name.
43 |
44 | wxLauncher developer note: this function behaves as if the
45 | user asked wxLauncher to clone the profile that is contained
46 | in the file specified.
47 |
48 | Changing the default profile programmatically
49 | =========================================
50 | This is done with the --select-profile commandline operator.
51 | It requires one Operand
52 | --profile - The name of the profile to switch to
53 |
54 | This function will cause wxLauncher to change the default profile
55 | to the specified profile.
56 |
57 |
58 |
--------------------------------------------------------------------------------
/Thanks.txt:
--------------------------------------------------------------------------------
1 | This is a list of additional resources that are used in the launcher but are not our creation:
2 |
3 | * Statusbar icons by FamFamFam . License: the Creative Commons 2.5 Attribution license
4 |
5 | * Warning icon (warning_big.png) from by David Vignoni, modified by Bastique . Recolored by flamurai . License: LGPL
6 |
7 | * Help icon by Thoosje . License: Freeware, author credit required.
8 |
9 | * Info icon (info_big.png) by Amanda44 . License: Public domain
--------------------------------------------------------------------------------
/ci/travis/before_install.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | set -e
4 |
5 | if [ "$TRAVIS_OS_NAME" = "linux" ]; then
6 | sudo add-apt-repository --yes ppa:zoogie/sdl2-snapshots
7 | sudo apt-get update -qq
8 | elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
9 | brew update
10 | fi
11 |
--------------------------------------------------------------------------------
/ci/travis/before_script.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | set -e
4 |
5 | mkdir -p travis-build
6 | cd travis-build
7 |
8 | BUILD_TYPE="-DCMAKE_BUILD_TYPE=$CONFIGURATION"
9 |
10 | if [ "$TRAVIS_OS_NAME" = "linux" ]; then
11 | $HOME/cmake/bin/cmake -G "Unix Makefiles" $BUILD_TYPE ..
12 | elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
13 | cmake -G "Xcode" -DUSING_SDL_FRAMEWORK=OFF $BUILD_TYPE ..
14 | fi
15 |
--------------------------------------------------------------------------------
/ci/travis/install.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | set -e
4 |
5 | LINUX_CMAKE_BINS=http://www.cmake.org/files/v3.4/cmake-3.4.3-Linux-x86_64.tar.gz
6 | CMAKE_BINS_TMP=/tmp/cmake.tar.gz
7 |
8 | if [ "$TRAVIS_OS_NAME" = "linux" ]
9 | then
10 | sudo apt-get install -y ninja-build libsdl2-dev libwxgtk$wxWidgets_ver-dev
11 |
12 | if [ ! -x $HOME/cmake/bin/cmake ]
13 | then
14 | mkdir -p $HOME/cmake/
15 | wget -O $CMAKE_BINS_TMP --no-check-certificate $LINUX_CMAKE_BINS
16 | tar -xzf $CMAKE_BINS_TMP -C $HOME/cmake/ --strip-components=1
17 | fi
18 | elif [ "$TRAVIS_OS_NAME" = "osx" ]
19 | then
20 | gem install xcpretty xcpretty-travis-formatter
21 |
22 | brew install wxmac
23 | brew install openal-soft
24 | brew install sdl2
25 | fi
26 |
27 | pip install --user markdown future
28 |
--------------------------------------------------------------------------------
/ci/travis/script.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | set -e
4 |
5 | cd travis-build
6 |
7 | if [ "$TRAVIS_OS_NAME" = "linux" ]; then
8 | make -j4
9 | elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
10 | set -o pipefail && cmake --build . --config "$CONFIGURATION" -- ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO | xcpretty
11 | fi
12 |
--------------------------------------------------------------------------------
/cmake/FailCPack.cmake.in:
--------------------------------------------------------------------------------
1 | MESSAGE(FATAL_ERROR "This build environment was configured using DEVELOPMENT_MODE=ON. To build a package for wxLauncher regenerated environment using DEVELOPMENT_MODE=OFF")
--------------------------------------------------------------------------------
/cmake/test_wxstl.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #ifndef wxUSE_STL
4 | #error wxUSE_STL not defined
5 | #elif wxUSE_STL == 0
6 | #error wxUSE_STL is not enabled
7 | #endif
8 |
9 | int main(int, char**)
10 | {
11 | return 0;
12 | }
13 |
--------------------------------------------------------------------------------
/code/MainWindow.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef MAINWINDOW_H
20 | #define MAINWINDOW_H
21 |
22 | #include
23 | #include
24 | #include
25 |
26 | class MainWindow: public wxFrame {
27 | public:
28 | MainWindow();
29 | ~MainWindow();
30 |
31 | void OnQuit(wxCommandEvent& event);
32 | void OnHelp(wxCommandEvent& event);
33 | void OnFSButton(wxCommandEvent& event);
34 | void OnStart(wxButton* button, bool startFred=false);
35 | void OnKill(wxButton* button, bool killFred=false);
36 | void OnStartFred(wxCommandEvent& event);
37 | void OnUpdate(wxCommandEvent& event);
38 | void OnAbout(wxCommandEvent& event);
39 | void OnContextHelp(wxHelpEvent& event);
40 | void OnFS2Exited(wxProcessEvent& event);
41 | void OnFRED2Exited(wxProcessEvent& event);
42 | void OnTCSkinChanged(wxCommandEvent& event);
43 |
44 | /** F3 toggles FRED launching. */
45 | void OnF3Pressed(wxCommandEvent& event);
46 |
47 | private:
48 | wxProcess* process;
49 | wxNotebook* mainTab;
50 | long FS2_pid, FRED2_pid;
51 |
52 | DECLARE_EVENT_TABLE();
53 | };
54 |
55 | #endif
56 |
--------------------------------------------------------------------------------
/code/apis/CmdLineManager.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2011 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "apis/CmdLineManager.h"
20 |
21 | /** \class CmdLineManager
22 | CmdLineManager is used to notify controls that have registered with it
23 | that the command line or custom flags have changed. */
24 |
25 | EventHandlers CmdLineManager::CmdLineChangedHandlers;
26 | EventHandlers CmdLineManager::CustomFlagsChangedHandlers;
27 |
28 | LAUNCHER_DEFINE_EVENT_TYPE(EVT_CMD_LINE_CHANGED);
29 | LAUNCHER_DEFINE_EVENT_TYPE(EVT_CUSTOM_FLAGS_CHANGED);
30 |
31 | void CmdLineManager::RegisterCmdLineChanged(wxEvtHandler *handler) {
32 | wxASSERT_MSG(CmdLineChangedHandlers.IndexOf(handler) == wxNOT_FOUND,
33 | wxString::Format(
34 | _T("RegisterCmdLineChanged(): Handler at %p already registered."),
35 | handler));
36 | CmdLineChangedHandlers.Append(handler);
37 | }
38 | void CmdLineManager::RegisterCustomFlagsChanged(wxEvtHandler *handler) {
39 | wxASSERT_MSG(CustomFlagsChangedHandlers.IndexOf(handler) == wxNOT_FOUND,
40 | wxString::Format(
41 | _T("RegisterCustomFlagsChanged(): Handler at %p already registered."),
42 | handler));
43 | CustomFlagsChangedHandlers.Append(handler);
44 | }
45 | void CmdLineManager::UnRegisterCmdLineChanged(wxEvtHandler *handler) {
46 | wxASSERT_MSG(CmdLineChangedHandlers.IndexOf(handler) != wxNOT_FOUND,
47 | wxString::Format(
48 | _T("UnRegisterCmdLineChanged(): Handler at %p not registered."),
49 | handler));
50 | CmdLineChangedHandlers.DeleteObject(handler);
51 | }
52 | void CmdLineManager::UnRegisterCustomFlagsChanged(wxEvtHandler *handler) {
53 | wxASSERT_MSG(CustomFlagsChangedHandlers.IndexOf(handler) != wxNOT_FOUND,
54 | wxString::Format(
55 | _T("UnRegisterCustomFlagsChanged(): Handler at %p not registered."),
56 | handler));
57 | CustomFlagsChangedHandlers.DeleteObject(handler);
58 | }
59 |
60 | void CmdLineManager::GenerateCmdLineChanged() {
61 | wxCommandEvent event(EVT_CMD_LINE_CHANGED, wxID_NONE);
62 | wxLogDebug(_T("Generating EVT_CMD_LINE_CHANGED event"));
63 | for (EventHandlers::iterator iter = CmdLineChangedHandlers.begin(),
64 | end = CmdLineChangedHandlers.end(); iter != end; ++iter) {
65 | wxEvtHandler* current = *iter;
66 | current->AddPendingEvent(event);
67 | wxLogDebug(_T(" Sent EVT_CMD_LINE_CHANGED event to %p"), current);
68 | }
69 | }
70 |
71 | void CmdLineManager::GenerateCustomFlagsChanged() {
72 | wxCommandEvent event(EVT_CUSTOM_FLAGS_CHANGED, wxID_NONE);
73 | wxLogDebug(_T("Generating EVT_CUSTOM_FLAGS_CHANGED event"));
74 | for (EventHandlers::iterator iter = CustomFlagsChangedHandlers.begin(),
75 | end = CustomFlagsChangedHandlers.end(); iter != end; ++iter) {
76 | wxEvtHandler* current = *iter;
77 | current->AddPendingEvent(event);
78 | wxLogDebug(_T(" Sent EVT_CUSTOM_FLAGS_CHANGED event to %p"), current);
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/code/apis/CmdLineManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2011 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef CMDLINEMANAGER_H
20 | #define CMDLINEMANAGER_H
21 |
22 | #include
23 |
24 | #include "apis/EventHandlers.h"
25 |
26 | /** Command line has changed. */
27 | LAUNCHER_DECLARE_EVENT_TYPE(EVT_CMD_LINE_CHANGED);
28 | /** Custom flags have changed. */
29 | LAUNCHER_DECLARE_EVENT_TYPE(EVT_CUSTOM_FLAGS_CHANGED);
30 |
31 | class CmdLineManager {
32 | private:
33 | CmdLineManager();
34 | ~CmdLineManager();
35 |
36 | public:
37 | static void RegisterCmdLineChanged(wxEvtHandler *handler);
38 | static void UnRegisterCmdLineChanged(wxEvtHandler *handler);
39 | static void RegisterCustomFlagsChanged(wxEvtHandler *handler);
40 | static void UnRegisterCustomFlagsChanged(wxEvtHandler *handler);
41 | static void GenerateCmdLineChanged();
42 | static void GenerateCustomFlagsChanged();
43 | private:
44 | static EventHandlers CmdLineChangedHandlers;
45 | static EventHandlers CustomFlagsChangedHandlers;
46 | };
47 | #endif
48 |
--------------------------------------------------------------------------------
/code/apis/EventHandlers.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2015 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "apis/EventHandlers.h"
20 |
21 | #include // required magic incantation
22 | WX_DEFINE_LIST(EventHandlers);
23 |
--------------------------------------------------------------------------------
/code/apis/EventHandlers.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2015 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef APIS_EVENTHANDLER_H
20 | #define APIS_EVENTHANDLER_H
21 |
22 | #include
23 | #include
24 |
25 | #if wxMAJOR_VERSION == 2 && wxMINOR_VERSION >= 8
26 | #define LAUNCHER_DECLARE_EVENT_TYPE(name) DECLARE_EVENT_TYPE(name, wxID_ANY)
27 | #define LAUNCHER_DEFINE_EVENT_TYPE(name) DEFINE_EVENT_TYPE(name)
28 | #else
29 | #define LAUNCHER_DECLARE_EVENT_TYPE(name) wxDECLARE_EVENT(name, wxCommandEvent)
30 | #define LAUNCHER_DEFINE_EVENT_TYPE(name) wxDEFINE_EVENT(name, wxCommandEvent)
31 | #endif
32 |
33 | WX_DECLARE_LIST(wxEvtHandler, EventHandlers);
34 |
35 | #endif
--------------------------------------------------------------------------------
/code/apis/FREDManager.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "apis/FREDManager.h"
20 | #include "apis/ProfileManager.h"
21 | #include "global/ProfileKeys.h"
22 |
23 | LAUNCHER_DEFINE_EVENT_TYPE(EVT_FRED_ENABLED_CHANGED);
24 |
25 | EventHandlers FREDManager::FREDEnabledChangedHandlers;
26 |
27 | void FREDManager::RegisterFREDEnabledChanged(wxEvtHandler *handler) {
28 | wxASSERT_MSG(FREDEnabledChangedHandlers.IndexOf(handler) == wxNOT_FOUND,
29 | wxString::Format(
30 | _T("RegisterFREDEnabledChanged(): Handler at %p already registered."),
31 | handler));
32 | FREDEnabledChangedHandlers.Append(handler);
33 | }
34 | void FREDManager::UnRegisterFREDEnabledChanged(wxEvtHandler *handler) {
35 | wxASSERT_MSG(FREDEnabledChangedHandlers.IndexOf(handler) != wxNOT_FOUND,
36 | wxString::Format(
37 | _T("UnRegisterFREDEnabledChanged(): Handler at %p not registered."),
38 | handler));
39 | FREDEnabledChangedHandlers.DeleteObject(handler);
40 | }
41 | void FREDManager::GenerateFREDEnabledChanged() {
42 | wxCommandEvent event(EVT_FRED_ENABLED_CHANGED, wxID_NONE);
43 | wxLogDebug(_T("Generating EVT_FRED_ENABLED_CHANGED event"));
44 | EventHandlers::iterator iter = FREDEnabledChangedHandlers.begin();
45 | while (iter != FREDEnabledChangedHandlers.end()) {
46 | wxEvtHandler* current = *iter;
47 | current->AddPendingEvent(event);
48 | wxLogDebug(_T(" Sent EVT_FRED_ENABLED_CHANGED event to %p"), current);
49 | iter++;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/code/apis/FREDManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | /** Manages the status of whether FRED launching is enabled. */
20 |
21 | #ifndef FRED_MANAGER_H
22 | #define FRED_MANAGER_H
23 |
24 | #include
25 |
26 | #include "apis/EventHandlers.h"
27 |
28 | /** FRED enabled status has changed. */
29 | LAUNCHER_DECLARE_EVENT_TYPE(EVT_FRED_ENABLED_CHANGED);
30 |
31 | class FREDManager {
32 | public:
33 | static void RegisterFREDEnabledChanged(wxEvtHandler *handler);
34 | static void UnRegisterFREDEnabledChanged(wxEvtHandler *handler);
35 | static void GenerateFREDEnabledChanged();
36 | private:
37 | FREDManager(); // prevents instantiation
38 |
39 | static EventHandlers FREDEnabledChangedHandlers;
40 | };
41 |
42 | #endif
43 |
--------------------------------------------------------------------------------
/code/apis/HelpManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef HELPMANAGER_H
20 | #define HELPMANAGER_H
21 |
22 | #include
23 | #include "global/ids.h"
24 |
25 | namespace HelpManager {
26 | bool Initialize();
27 | bool DeInitialize();
28 | bool IsInitialized();
29 |
30 | void OpenHelpById(WindowIDS id);
31 | void OpenMainHelpPage();
32 | void OpenHelpByString(wxString& str);
33 | };
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/code/apis/JoystickManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef JOYSTICKMANAGER_H
20 | #define JOYSTICKMANAGER_H
21 |
22 | #include
23 |
24 | namespace JoyMan {
25 | enum ApiType {
26 | API_NATIVE,
27 | API_SDL
28 | };
29 |
30 | bool Initialize(ApiType apiType);
31 | bool DeInitialize();
32 | bool IsInitialized();
33 | bool WasCompiledIn();
34 |
35 | unsigned int NumberOfJoysticks();
36 | unsigned int NumberOfPluggedInJoysticks();
37 | bool SupportsForceFeedback(unsigned int i);
38 | bool HasCalibrateTool(unsigned int i);
39 | void LaunchCalibrateTool(unsigned int i);
40 | wxString JoystickName(unsigned int i);
41 | wxString JoystickGUID(unsigned int i);
42 | bool IsJoystickPluggedIn(unsigned int i);
43 | };
44 |
45 | #endif
46 |
--------------------------------------------------------------------------------
/code/apis/OpenALManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef OPENALMANAGER
20 | #define OPENALMANAGER
21 |
22 | #include
23 |
24 | #if wxUSE_DYNLIB_CLASS == 0 && USE_OPENAL == 1
25 | #error Cannot compile OPENAL into launcher if wxWidgets has wxUSE_DYNLIB_CLASS set to 0
26 | #endif
27 |
28 | namespace OpenALMan {
29 | bool Initialize();
30 | bool DeInitialize();
31 | bool WasCompiledIn();
32 | bool IsInitialized();
33 |
34 | wxArrayString GetAvailablePlaybackDevices();
35 | wxArrayString GetAvailableCaptureDevices();
36 |
37 | wxString GetCurrentVersion();
38 |
39 | wxString GetSystemDefaultPlaybackDevice();
40 | wxString GetSystemDefaultCaptureDevice();
41 |
42 | bool IsEFXSupported(const wxString& playbackDeviceName);
43 | bool BuildHasNewSoundCode();
44 | };
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/code/apis/PlatformProfileManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef PLATFORMPROFILEMANAGER_H
20 | #define PLATFORMPROFILEMANAGER_H
21 | #include
22 | #include "apis/ProfileManager.h"
23 |
24 | ProMan::RegistryCodes RegistryPushProfile(wxFileConfig *cfg);
25 | ProMan::RegistryCodes RegistryPullProfile(wxFileConfig *cfg);
26 |
27 | ProMan::RegistryCodes FilePushProfile(wxFileConfig *cfg);
28 | ProMan::RegistryCodes FilePullProfile(wxFileConfig *cfg);
29 |
30 | ProMan::RegistryCodes PushCmdlineFSO(wxFileConfig *cfg);
31 |
32 | #endif
--------------------------------------------------------------------------------
/code/apis/ProfileManagerOperator.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "generated/configure_launcher.h"
20 | #include "apis/ProfileManager.h"
21 | #include "apis/ProfileManagerOperator.h"
22 | #include "wxLauncherApp.h"
23 |
24 | #include "global/MemoryDebugging.h"
25 |
26 | int ProManOperator::RunProfileOperator(ProManOperator::profileOperator op)
27 | {
28 | wxLauncher &app = wxGetApp();
29 |
30 | if (op == add)
31 | {
32 | wxFileName sourceFile(app.mFileOperand);
33 | if (ProMan::GetProfileManager()->
34 | CreateProfile(app.mProfileOperand, sourceFile))
35 | {
36 | return 0;
37 | }
38 | }
39 | else if (op == select)
40 | {
41 | ProMan::GetProfileManager()->
42 | SwitchTo(app.mProfileOperand);
43 | return 0;
44 | }
45 |
46 | return 1;
47 | }
48 |
--------------------------------------------------------------------------------
/code/apis/ProfileManagerOperator.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef PROFILEMANAGEROPERATOR_H
20 | #define PROFILEMANAGEROPERATOR_H
21 |
22 | /** ProManOperator: Mechanism to manipulate profiles through cmd line options.
23 | none indicates that this feature is not in use and that normal operation
24 | should occur instead. */
25 |
26 | namespace ProManOperator
27 | {
28 |
29 | enum profileOperator {
30 | none = 0,
31 | add,
32 | select,
33 | invalid
34 | };
35 |
36 | int RunProfileOperator(profileOperator op);
37 |
38 | };
39 |
40 | #endif
--------------------------------------------------------------------------------
/code/apis/SpeechManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef SPEECHMANAGER_H
20 | #define SPEECHMANAGER_H
21 |
22 | #include
23 |
24 | namespace SpeechMan {
25 | bool Initialize();
26 | bool DeInitialize();
27 | bool WasBuiltIn();
28 | bool IsInitialized();
29 |
30 | void Speak(wxString what);
31 | void SetVoice(size_t i);
32 | int GetVoice();
33 | wxArrayString EnumVoices();
34 | void SetVolume(int volume);
35 | int GetVolume();
36 |
37 | };
38 |
39 | #endif
--------------------------------------------------------------------------------
/code/apis/TCManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef TCMANAGER_H
20 | #define TCMANAGER_H
21 |
22 | #include
23 | #include
24 | #include
25 |
26 | #include "apis/EventHandlers.h"
27 |
28 | /** Selected TC has changed. */
29 | LAUNCHER_DECLARE_EVENT_TYPE(EVT_TC_CHANGED);
30 | /** Selected binary has changed. */
31 | LAUNCHER_DECLARE_EVENT_TYPE(EVT_TC_BINARY_CHANGED);
32 | /** Active mod has changed. */
33 | LAUNCHER_DECLARE_EVENT_TYPE(EVT_TC_ACTIVE_MOD_CHANGED);
34 | /** Selected FRED binary has changed. */
35 | LAUNCHER_DECLARE_EVENT_TYPE(EVT_TC_FRED_BINARY_CHANGED);
36 |
37 | class TCManager: public wxEvtHandler {
38 | public:
39 | ~TCManager();
40 |
41 | static void Initialize();
42 | static void DeInitialize();
43 | static bool IsInitialized();
44 | static TCManager* Get();
45 | private:
46 | TCManager();
47 | static TCManager *manager;
48 |
49 | public:
50 | void CurrentProfileChanged(wxCommandEvent &event);
51 | // Events
52 | public:
53 | static void RegisterTCChanged(wxEvtHandler *handler);
54 | static void UnRegisterTCChanged(wxEvtHandler *handler);
55 | static void RegisterTCBinaryChanged(wxEvtHandler *handler);
56 | static void UnRegisterTCBinaryChanged(wxEvtHandler *handler);
57 | static void RegisterTCActiveModChanged(wxEvtHandler *handler);
58 | static void UnRegisterTCActiveModChanged(wxEvtHandler *handler);
59 | static void RegisterTCFredBinaryChanged(wxEvtHandler *handler);
60 | static void UnRegisterTCFredBinaryChanged(wxEvtHandler *handler);
61 | static void GenerateTCChanged();
62 | static void GenerateTCBinaryChanged();
63 | static void GenerateTCActiveModChanged();
64 | static void GenerateTCFredBinaryChanged();
65 | private:
66 | static EventHandlers TCChangedHandlers,
67 | TCBinaryChangedHandlers,
68 | TCActiveModChangedHandlers,
69 | TCFredBinaryChangedHandlers;
70 | DECLARE_EVENT_TABLE();
71 | };
72 | #endif
--------------------------------------------------------------------------------
/code/apis/resolution_manager.hpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2016 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef APIS_RESOLUTION_MANAGER_H
20 | #define APIS_RESOLUTION_MANAGER_H
21 |
22 | #include
23 | #include
24 |
25 | namespace ResolutionMan {
26 | enum ApiType {
27 | API_WIN32,
28 | API_SDL
29 | };
30 |
31 | class Resolution : public wxClientData {
32 | public:
33 | Resolution(const int width, const int height, const bool isHeader);
34 | virtual ~Resolution() {}
35 | const int GetWidth() const { return this->width; }
36 | const int GetHeight() const { return this->height; }
37 | const bool IsHeader() const { return this->isHeader; }
38 | const wxString &GetResString() const { return this->resString; }
39 | bool IsSameResolution(const Resolution& other) const {
40 | return ((this->width == other.width) &&
41 | (this->height == other.height));
42 | }
43 | Resolution* New() const;
44 |
45 | private:
46 | int width;
47 | int height;
48 | bool isHeader;
49 | wxString resString;
50 | };
51 |
52 | WX_DEFINE_ARRAY_PTR(Resolution *, ResolutionArray);
53 |
54 | void EnumerateGraphicsModes(ApiType type, ResolutionArray& out_modes,
55 | const long minHorizontalRes, const long minVerticalRes);
56 | };
57 |
58 | #endif
59 |
--------------------------------------------------------------------------------
/code/controls/BottomButtons.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef BOTTOMBUTTONS_H
20 | #define BOTTOMBUTTONS_H
21 |
22 | #include
23 |
24 | class BottomButtons: public wxPanel {
25 | public:
26 | BottomButtons(wxWindow* parent, wxPoint &pos, wxSize &size);
27 | private:
28 | wxButton *close, *help, *about, *fred, *update, *play;
29 |
30 | public:
31 | void OnTCChanges(wxCommandEvent &event);
32 | void OnFREDEnabledChanged(wxCommandEvent &event);
33 |
34 | DECLARE_EVENT_TABLE()
35 |
36 | };
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/code/controls/LightingPresets.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2011 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef LIGHTINGPRESETS_H
20 | #define LIGHTINGPRESETS_H
21 |
22 | #include
23 |
24 | class Preset {
25 | public:
26 | Preset() { } // needed for wxHashMap, unfortunately
27 | Preset(const wxString& name, const int buttonId, const wxString& preset);
28 | const wxString& GetName() const { return this->name; }
29 | const int GetButtonId() const { return this->buttonId; }
30 | const wxString& GetFlagSet() const { return this->flagSet; }
31 | void SetFlagSet(const wxString& flagSet);
32 | private:
33 | wxString name;
34 | int buttonId;
35 | wxString flagSet;
36 | };
37 |
38 | // from wxWidgets window IDs to Presets
39 | WX_DECLARE_HASH_MAP(int, Preset, wxIntegerHash, wxIntegerEqual, PresetHashMap);
40 |
41 | class LightingPresets: public wxPanel {
42 | public:
43 | LightingPresets(wxWindow* parent);
44 |
45 | void OnSelectLightingPreset(wxCommandEvent &event);
46 | void OnCopyLightingPreset(wxCommandEvent &event);
47 | void OnActiveModChanged(wxCommandEvent &event);
48 | void OnProxyFlagDataReady(wxCommandEvent &event);
49 |
50 | static const wxString& PresetNameToPresetFlagSet(const wxString& presetName);
51 |
52 | private:
53 | void Initialize();
54 | void Reset();
55 |
56 | static void InitializePresets();
57 | static int PresetNameToPresetButtonId(const wxString& presetName);
58 | static const wxString& PresetButtonIdToPresetName(int buttonId);
59 |
60 | static PresetHashMap presets;
61 |
62 | DECLARE_EVENT_TABLE()
63 | };
64 |
65 | #endif
66 |
--------------------------------------------------------------------------------
/code/controls/Logger.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef LAUNCHERLOGGER_H
20 | #define LAUNCHERLOGGER_H
21 |
22 | #include
23 | #include
24 | #include "controls/StatusBar.h"
25 |
26 | class Logger: public wxLog {
27 | public:
28 | Logger();
29 | virtual ~Logger();
30 |
31 | void SetStatusBarTarget(StatusBar *bar);
32 |
33 | /* Compatiblity with 2.8.x */
34 | #if wxMAJOR_VERSION == 2 && wxMINOR_VERSION >= 8
35 | virtual void DoLog(
36 | wxLogLevel level,
37 | const wxChar *msg,
38 | time_t time);
39 | #else
40 | virtual void DoLogRecord(
41 | wxLogLevel level,
42 | const wxString& msg,
43 | const wxLogRecordInfo& info);
44 | #endif
45 |
46 | virtual void Flush();
47 | private:
48 | wxFFileOutputStream *out;
49 | StatusBar *statusBar;
50 | wxFFile *outFile;
51 | };
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/code/controls/StatusBar.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef STATUSLOG_H
20 | #define STATUSLOG_H
21 |
22 | #include
23 | #include "global/ids.h"
24 |
25 | /** Extends wxStatusBar. Provides the a 4 section status bar: icon, main text,
26 | progress bar, and small text for the progress bar. This class will interface
27 | this Logger to enable code to eaisly send messages to the statusbar. */
28 | class StatusBar: public wxStatusBar {
29 | public:
30 | StatusBar(wxWindow* parent);
31 | virtual ~StatusBar();
32 |
33 | void OnSize(wxSizeEvent& event);
34 | void OnTCSkinChanged(wxCommandEvent& event);
35 |
36 | void SetMainStatusText(wxString msg, int icon=ID_SB_NO_CHANGE);
37 | void SetJobStatusText(int value, wxString msg=_T(""));
38 | void StartToolTipStatusText(wxString msg);
39 | void EndToolTipStatusText();
40 |
41 | private:
42 | wxWindow* parent;
43 | wxBitmap icons[ID_SB_MAX_ID];
44 | bool showingToolTip;
45 |
46 | DECLARE_EVENT_TABLE();
47 | };
48 |
49 | #endif
--------------------------------------------------------------------------------
/code/controls/TruncatableChoice.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2012 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "controls/TruncatableChoice.h"
20 |
21 | TruncatableChoice::TruncatableChoice(wxWindow *parent, wxWindowID id)
22 | : wxChoice(parent, id), maxLength(0) {
23 | }
24 |
25 | void TruncatableChoice::SetMaxLength(const int maxLength) {
26 | wxCHECK_RET(maxLength >= 0,
27 | wxString::Format(_T("Invalid value %d for maxLength."), maxLength));
28 |
29 | this->maxLength = maxLength;
30 |
31 | if ((maxLength == 0) || (this->maxLength > GetEffectiveMinSize().GetWidth())) {
32 | this->SetMinSize(this->GetEffectiveMinSize());
33 | } else {
34 | this->SetMinSize(wxSize(maxLength, -1));
35 | }
36 | }
37 |
38 | wxSize TruncatableChoice::DoGetBestSize() const {
39 | wxASSERT(this->maxLength >= 0);
40 |
41 | wxSize bestChoiceSize(wxChoice::DoGetBestSize());
42 |
43 | if ((this->maxLength == 0) || (this->maxLength > bestChoiceSize.GetWidth())) {
44 | return bestChoiceSize;
45 | } else {
46 | return wxSize(wxSize(maxLength, bestChoiceSize.GetHeight()));
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/code/controls/TruncatableChoice.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2012 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef TRUNCATABLECHOICE_H
20 | #define TRUNCATABLECHOICE_H
21 |
22 | #include
23 |
24 | /** A form of wxChoice that allows for limiting its length. */
25 | class TruncatableChoice: public wxChoice {
26 | public:
27 | TruncatableChoice(wxWindow *parent, wxWindowID id);
28 | virtual wxSize DoGetBestSize() const;
29 | int GetMaxLength() const { return this->maxLength; }
30 | void SetMaxLength(int maxLength);
31 | private:
32 | TruncatableChoice();
33 | int maxLength;
34 | };
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/code/datastructures/FSOExecutable.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef FSOEXECUTABLE_H
20 | #define FSOEXECUTABLE_H
21 |
22 | #include
23 | #include
24 | #include
25 |
26 | class FSOExecutable: public wxClientData {
27 | public:
28 | enum Configuration {
29 | CONFIG_RELEASE,
30 | CONFIG_DEBUG,
31 | CONFIG_FASTDEBUG
32 | };
33 |
34 | virtual ~FSOExecutable();
35 | bool SupportsDirect3D();
36 | bool SupportsOpenAL();
37 |
38 | inline bool ExecutableNameEqualTo(const wxString& str) const;
39 | inline const wxString& GetExecutableName() const;
40 |
41 | static bool IsRootFolderValid(const wxFileName& path, bool quiet = false);
42 | static bool HasFSOExecutables(const wxFileName& path);
43 |
44 | static wxArrayString GetBinariesFromRootFolder(
45 | const wxFileName &path, bool quiet = false);
46 | static wxArrayString GetFredBinariesFromRootFolder(
47 | const wxFileName &path, bool quiet = false);
48 | static FSOExecutable GetBinaryVersion(wxString binaryname);
49 | static bool SmellsLikeGitCommitHash(const wxString& str);
50 | wxString GetVersionString() const;
51 | protected:
52 | int major;
53 | int minor;
54 | int revision;
55 | bool inferno;
56 | int sse;
57 | bool _64bit;
58 | Configuration configuration;
59 | int build;
60 | long year;
61 | long month;
62 | bool antipodes;
63 | int antNumber; //!< antipodes number (such as 8)
64 | wxString string;
65 | wxString binaryname; //!< FS2 Open or FRED
66 | wxString executablename; //!< the actual name of the binary
67 | wxByte buildCaps;
68 | private:
69 | FSOExecutable();
70 | static wxArrayString GetBinariesFromRootFolder(
71 | const wxFileName &path,
72 | const wxString &startPattern,
73 | const wxString &endPattern,
74 | bool quiet);
75 | };
76 |
77 | inline bool FSOExecutable::ExecutableNameEqualTo(const wxString& str) const {
78 | return this->executablename == str;
79 | }
80 |
81 | inline const wxString& FSOExecutable::GetExecutableName() const {
82 | return this->executablename;
83 | }
84 |
85 | #endif
--------------------------------------------------------------------------------
/code/datastructures/FlagInfo.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | /*
20 | This file holds the internal list of flags that are not
21 | returned by the FS2_Open when queryed.
22 |
23 | Let's hope this list will never change and not be even
24 | need to change after the next FS2_Open release.
25 |
26 | It will be kept for backward compatibility though
27 | */
28 |
29 |
30 | FlagInfo flagInfo[] = {
31 | //Lighting
32 | {_T("-ambient_factor"), _("Lighting"), true},
33 | {_T("-no_emissive_light"), _("Lighting"), false},
34 | {_T("-spec_exp"), _("Lighting"), true},
35 | {_T("-spec_point"), _("Lighting"), true},
36 | {_T("-spec_static"), _("Lighting"), true},
37 | {_T("-spec_tube"), _("Lighting"), true},
38 | {_T("-ogl_spec"), _("Lighting"), true},
39 | //Graphics
40 | {_T("-height"), _("Graphics"), false},
41 | {_T("-clipdist"), _("Graphics"), true},
42 | {_T("-res"), _("Graphics"), true},
43 | //Gameplay
44 | //{_T("-mod"), _("Gameplay"), true}, // This flag is handled elsewhere, but kept on list for completeness
45 | {_T("-fov"), _("Gameplay"), true},
46 | //Multiplayer
47 | {_T("-gamename"), _("Multiplayer"), true},
48 | {_T("-password"), _("Multiplayer"), true},
49 | {_T("-allowabove"), _("Multiplayer"), true},
50 | {_T("-allowbelow"), _("Multiplayer"), true},
51 | {_T("-port"), _("Multiplayer"), true},
52 | {_T("-connect"), _("Multiplayer"), true}, //string, ip to connnect to
53 | {_T("-timeout"), _("Multiplayer"), true}, //int, time before timeout
54 | {_T("-cap_object_update"), _("Multiplayer"), true},
55 | };
--------------------------------------------------------------------------------
/code/datastructures/NewsSource.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include // for _()
20 | #include
21 | #include "NewsSource.h"
22 |
23 | using std::vector;
24 |
25 | vector NewsSource::newsSources;
26 |
27 | NewsSource::NewsSource(const NewsSourceId id, const wxString& name,
28 | const wxString& newsUrl, const wxString& label)
29 | : id(id), name(name), newsUrl(newsUrl), label(label) {
30 | wxASSERT(!name.IsEmpty());
31 | wxASSERT(!newsUrl.IsEmpty());
32 | wxASSERT(!label.IsEmpty());
33 | }
34 |
35 | const NewsSource* NewsSource::FindSource(const NewsSourceId id) {
36 | wxCHECK_MSG(id != NEWS_SOURCE_ID_INVALID, NULL,
37 | _T("FindSource given NEWS_SOURCE_ID_INVALID!"));
38 |
39 | if (newsSources.empty()) {
40 | InitializeSources();
41 | }
42 |
43 | for (vector::const_iterator it = newsSources.begin(),
44 | end = newsSources.end(); it != end; ++it) {
45 | if (it->GetId() == id) {
46 | return &(*it);
47 | }
48 | }
49 |
50 | wxLogWarning(_T("FindSource(): Unknown news source ID %d, returning NULL"), id);
51 |
52 | return NULL;
53 | }
54 |
55 | const NewsSource* NewsSource::FindSource(const wxString& name) {
56 | wxCHECK_MSG(!name.IsEmpty(), NULL,
57 | _T("FindSource() given empty name!"));
58 |
59 | if (newsSources.empty()) {
60 | InitializeSources();
61 | }
62 |
63 | for (vector::const_iterator it = newsSources.begin(),
64 | end = newsSources.end(); it != end; ++it) {
65 | if (!it->GetName().CmpNoCase(name)) {
66 | return &(*it);
67 | }
68 | }
69 |
70 | wxLogWarning(_T("FindSource(): Unknown name %s, returning NULL"), name.c_str());
71 |
72 | return NULL;
73 | }
74 |
75 | void NewsSource::InitializeSources() {
76 | wxASSERT_MSG(newsSources.empty(),
77 | _T("news sources have already been initialized"));
78 |
79 | // NOTE: According to http://docs.wxwidgets.org/stable/wx_wxcontrol.html#wxcontrolsetlabel ,
80 | // individual '&'s will be interpreted to indicate keyboard shortcuts
81 | // so if anyone wants a & to appear in the news box label, write it as &&
82 | newsSources.push_back(
83 | NewsSource(
84 | NEWS_SOURCE_ID_HLP,
85 | _T("hlp"),
86 | _T("http://www.audiozone.ro/hl/"),
87 | _("Latest highlights from Hard Light Productions")));
88 | newsSources.push_back(
89 | NewsSource(
90 | NEWS_SOURCE_ID_DIASPORA,
91 | _T("diaspora"),
92 | _T("http://diaspora.hard-light.net/hl.htm"),
93 | _("Latest Diaspora news")));
94 | }
95 |
--------------------------------------------------------------------------------
/code/datastructures/NewsSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef NEWS_SOURCE_H
20 | #define NEWS_SOURCE_H
21 |
22 | #include
23 | #include
24 |
25 | enum NewsSourceId {
26 | NEWS_SOURCE_ID_HLP,
27 | NEWS_SOURCE_ID_DIASPORA,
28 | NEWS_SOURCE_ID_INVALID
29 | };
30 |
31 | class NewsSource {
32 | public:
33 | NewsSource(NewsSourceId id, const wxString& name,
34 | const wxString& newsUrl, const wxString& label);
35 |
36 | const NewsSourceId GetId() const { return this->id; }
37 | const wxString& GetName() const { return this->name; }
38 | const wxString& GetNewsUrl() const { return this->newsUrl; }
39 | const wxString& GetLabel() const { return this->label; }
40 |
41 | static const NewsSource* FindSource(NewsSourceId id);
42 | static const NewsSource* FindSource(const wxString& name);
43 | private:
44 | NewsSourceId id;
45 | wxString name;
46 | wxString newsUrl;
47 | wxString label;
48 |
49 | static void InitializeSources();
50 | static std::vector newsSources;
51 | };
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/code/datastructures/ResolutionMap.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "datastructures/ResolutionMap.h"
20 |
21 | #include
22 |
23 | #include "controls/ModList.h"
24 | #include "apis/EventHandlers.h"
25 |
26 | LAUNCHER_DEFINE_EVENT_TYPE(EVT_RESOLUTION_MAP_CHANGED);
27 |
28 | EventHandlers ResolutionMap::resolutionMapChangedHandlers;
29 |
30 | PreferredResolutionMap ResolutionMap::prefResMap;
31 |
32 | const ResolutionData* ResolutionMap::ResolutionRead(const wxString& shortname) {
33 | PreferredResolutionMap::const_iterator it = prefResMap.find(shortname);
34 |
35 | return (it == prefResMap.end()) ? NULL : &it->second;
36 | }
37 |
38 | void ResolutionMap::ResolutionWrite(const wxString& shortname, const ResolutionData& resData) {
39 | wxASSERT(!shortname.IsEmpty());
40 | wxASSERT(resData.IsValid());
41 |
42 | prefResMap[shortname] = resData;
43 | wxLogDebug(_T("Wrote resolution %ldx%ld for mod %s"),
44 | resData.width, resData.height, shortname.c_str());
45 | GenerateResolutionMapChanged();
46 | }
47 |
48 | bool ResolutionMap::HasEntryForActiveMod() {
49 | const ModItem* activeMod = ModList::GetActiveMod();
50 | wxCHECK_MSG(activeMod != NULL, false,
51 | _T("HasEntryForActiveMod: activeMod is NULL!"));
52 |
53 | return prefResMap.find(activeMod->shortname) != prefResMap.end();
54 | }
55 |
56 | void ResolutionMap::RegisterResolutionMapChanged(wxEvtHandler *handler) {
57 | wxASSERT_MSG(resolutionMapChangedHandlers.IndexOf(handler) == wxNOT_FOUND,
58 | wxString::Format(
59 | _T("RegisterResolutionMapChanged(): Handler at %p already registered."),
60 | handler));
61 | resolutionMapChangedHandlers.Append(handler);
62 | }
63 | void ResolutionMap::UnRegisterResolutionMapChanged(wxEvtHandler *handler) {
64 | wxASSERT_MSG(resolutionMapChangedHandlers.IndexOf(handler) != wxNOT_FOUND,
65 | wxString::Format(
66 | _T("UnRegisterResolutionMapChanged(): Handler at %p not registered."),
67 | handler));
68 | resolutionMapChangedHandlers.DeleteObject(handler);
69 | }
70 | void ResolutionMap::GenerateResolutionMapChanged() {
71 | wxCommandEvent event(EVT_RESOLUTION_MAP_CHANGED, wxID_NONE);
72 | wxLogDebug(_T("Generating EVT_RESOLUTION_MAP_CHANGED event"));
73 | EventHandlers::iterator iter = resolutionMapChangedHandlers.begin();
74 | while (iter != resolutionMapChangedHandlers.end()) {
75 | wxEvtHandler* current = *iter;
76 | current->AddPendingEvent(event);
77 | wxLogDebug(_T(" Sent EVT_RESOLUTION_MAP_CHANGED event to %p"), current);
78 | iter++;
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/code/datastructures/ResolutionMap.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef RESOLUTION_MAP_H
20 | #define RESOLUTION_MAP_H
21 |
22 | #include
23 | #include
24 |
25 | #include "global/ModDefaults.h"
26 | #include "apis/EventHandlers.h"
27 |
28 | /** Maps a mod shortname to its user-preferred resolution. */
29 | // TODO FIXME: Once the refresh button for the mod list is added,
30 | // then this map will need to be cleared whenever the user presses the button.
31 |
32 | /** ResolutionMap has changed. */
33 | LAUNCHER_DECLARE_EVENT_TYPE(EVT_RESOLUTION_MAP_CHANGED);
34 |
35 | struct ResolutionData {
36 | ResolutionData() { } // required for wxHashMap, unfortunately
37 | ResolutionData(long width, long height) : width(width), height(height) { }
38 | bool IsValid() const {
39 | return (width >= DEFAULT_MOD_RESOLUTION_MIN_HORIZONTAL_RES) &&
40 | (height >= DEFAULT_MOD_RESOLUTION_MIN_VERTICAL_RES);
41 | }
42 | long width;
43 | long height;
44 | };
45 |
46 | WX_DECLARE_STRING_HASH_MAP(
47 | ResolutionData,
48 | PreferredResolutionMap);
49 |
50 | class ResolutionMap {
51 | public:
52 | static const ResolutionData* ResolutionRead(const wxString& shortname);
53 | static void ResolutionWrite(const wxString& shortname, const ResolutionData& resData);
54 | static bool HasEntryForActiveMod();
55 |
56 | static void RegisterResolutionMapChanged(wxEvtHandler *handler);
57 | static void UnRegisterResolutionMapChanged(wxEvtHandler *handler);
58 | private:
59 | static void GenerateResolutionMapChanged();
60 | static EventHandlers resolutionMapChangedHandlers;
61 | static PreferredResolutionMap prefResMap;
62 | };
63 |
64 | #endif
65 |
--------------------------------------------------------------------------------
/code/global/BasicDefaults.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "BasicDefaults.h"
20 |
21 | // internal constants
22 | const unsigned int JOYMAN_INVALID_JOYSTICK = 99999;
23 |
24 | // defaults for basic settings
25 | const long DEFAULT_VIDEO_RESOLUTION_WIDTH = 1024;
26 | const long DEFAULT_VIDEO_RESOLUTION_HEIGHT = 768;
27 | const long DEFAULT_VIDEO_BIT_DEPTH = 32;
28 | const wxString DEFAULT_VIDEO_TEXTURE_FILTER = _T("Trilinear");
29 | const long DEFAULT_VIDEO_ANISOTROPIC = 0;
30 | const long DEFAULT_VIDEO_ANTI_ALIAS = 0;
31 |
32 | const wxString DEFAULT_AUDIO_OPENAL_DEVICE = _T("no sound");
33 | const wxString DEFAULT_AUDIO_OPENAL_PLAYBACK_DEVICE = wxEmptyString;
34 | const wxString DEFAULT_AUDIO_OPENAL_CAPTURE_DEVICE = wxEmptyString;
35 | const bool DEFAULT_AUDIO_OPENAL_EFX = false;
36 | const long DEFAULT_AUDIO_OPENAL_SAMPLE_RATE = 0;
37 |
38 | const long DEFAULT_SPEECH_VOICE = 0;
39 | const long DEFAULT_SPEECH_VOLUME = 100;
40 | const bool DEFAULT_SPEECH_IN_TECHROOM = false;
41 | const bool DEFAULT_SPEECH_IN_BRIEFINGS = false;
42 | const bool DEFAULT_SPEECH_IN_GAME = false;
43 | const bool DEFAULT_SPEECH_IN_MULTI = false;
44 |
45 | const long DEFAULT_JOYSTICK_ID = JOYMAN_INVALID_JOYSTICK;
46 | const bool DEFAULT_JOYSTICK_FORCE_FEEDBACK = false;
47 | const bool DEFAULT_JOYSTICK_DIRECTIONAL = false;
48 |
49 | const wxString DEFAULT_NETWORK_TYPE = _T("None");
50 | const wxString DEFAULT_NETWORK_SPEED = _T("None");
51 | const long DEFAULT_NETWORK_PORT = 0;
52 | const wxString DEFAULT_NETWORK_IP = wxEmptyString;
53 |
--------------------------------------------------------------------------------
/code/global/BasicDefaults.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef BASIC_DEFAULTS_H
20 | #define BASIC_DEFAULTS_H
21 |
22 | #include
23 |
24 | /** \defgroup basicdefaults default values for basic settings */
25 | /** @{*/
26 | extern const long DEFAULT_VIDEO_RESOLUTION_WIDTH;
27 | extern const long DEFAULT_VIDEO_RESOLUTION_HEIGHT;
28 | extern const long DEFAULT_VIDEO_BIT_DEPTH;
29 | extern const wxString DEFAULT_VIDEO_TEXTURE_FILTER;
30 | extern const long DEFAULT_VIDEO_ANISOTROPIC;
31 | extern const long DEFAULT_VIDEO_ANTI_ALIAS;
32 |
33 | extern const wxString DEFAULT_AUDIO_OPENAL_DEVICE;
34 | extern const wxString DEFAULT_AUDIO_OPENAL_PLAYBACK_DEVICE;
35 | extern const wxString DEFAULT_AUDIO_OPENAL_CAPTURE_DEVICE;
36 | extern const bool DEFAULT_AUDIO_OPENAL_EFX;
37 | extern const long DEFAULT_AUDIO_OPENAL_SAMPLE_RATE;
38 |
39 | extern const long DEFAULT_SPEECH_VOICE;
40 | extern const long DEFAULT_SPEECH_VOLUME;
41 | extern const bool DEFAULT_SPEECH_IN_TECHROOM;
42 | extern const bool DEFAULT_SPEECH_IN_BRIEFINGS;
43 | extern const bool DEFAULT_SPEECH_IN_GAME;
44 | extern const bool DEFAULT_SPEECH_IN_MULTI;
45 |
46 | extern const long DEFAULT_JOYSTICK_ID;
47 | extern const bool DEFAULT_JOYSTICK_FORCE_FEEDBACK;
48 | extern const bool DEFAULT_JOYSTICK_DIRECTIONAL;
49 |
50 | extern const wxString DEFAULT_NETWORK_TYPE;
51 | extern const wxString DEFAULT_NETWORK_SPEED;
52 | extern const long DEFAULT_NETWORK_PORT;
53 | extern const wxString DEFAULT_NETWORK_IP;
54 | /** @}*/
55 |
56 | #endif
57 |
--------------------------------------------------------------------------------
/code/global/Compatibility.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by maassms on 20.08.15.
3 | //
4 |
5 | #ifndef WXLAUNCHER_COMPATIBILITY_H
6 | #define WXLAUNCHER_COMPATIBILITY_H
7 |
8 | #include "apis/ProfileManager.h"
9 |
10 | namespace Compatibility
11 | {
12 | bool SynchronizeOldPilots(ProMan* profileManager);
13 |
14 | bool MigrateOldConfig();
15 | }
16 |
17 | #endif //WXLAUNCHER_COMPATIBILITY_H
18 |
--------------------------------------------------------------------------------
/code/global/MemoryDebugging.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | /* Used to setup memory leak detection on Windows with VisualStudio. */
20 |
21 | #ifdef _DEBUG
22 |
23 | #define MSCRTMEMORY 1
24 |
25 | #define _CRTDBG_MAP_ALLOC
26 | #include
27 | #include
28 |
29 | // catch uses of new and delete
30 | #define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
31 | #define new DEBUG_NEW
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/code/global/ModDefaults.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "ModDefaults.h"
20 |
21 | #include
22 |
23 | #include "global/ids.h"
24 |
25 | const wxString DEFAULT_MOD_LAUNCHER_INFO_TEXT (_("No information available."));
26 |
27 | const long DEFAULT_MOD_RESOLUTION_MIN_HORIZONTAL_RES = 640;
28 | const long DEFAULT_MOD_RESOLUTION_MIN_VERTICAL_RES = 480;
29 |
30 | const wxString DEFAULT_MOD_RECOMMENDED_LIGHTING_NAME (_T("Baseline recommended"));
31 | const wxString DEFAULT_MOD_RECOMMENDED_LIGHTING_FLAGSET
32 | (_T("-ambient_factor 75 -spec_exp 11 -spec_point 0.6 -spec_static 0.8 -spec_tube 0.4 -ogl_spec 60"));
33 |
--------------------------------------------------------------------------------
/code/global/ModDefaults.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef MOD_DEFAULTS_H
20 | #define MOD_DEFAULTS_H
21 |
22 | #include
23 |
24 | /** \defgroup moddefaults default values for mod-specific settings */
25 | /** @{*/
26 | extern const wxString DEFAULT_MOD_LAUNCHER_INFO_TEXT;
27 |
28 | extern const long DEFAULT_MOD_RESOLUTION_MIN_HORIZONTAL_RES;
29 | extern const long DEFAULT_MOD_RESOLUTION_MIN_VERTICAL_RES;
30 |
31 | extern const wxString DEFAULT_MOD_RECOMMENDED_LIGHTING_NAME;
32 | extern const wxString DEFAULT_MOD_RECOMMENDED_LIGHTING_FLAGSET;
33 | /** @}*/
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/code/global/ModIniKeys.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef MOD_INI_KEYS_H
20 | #define MOD_INI_KEYS_H
21 |
22 | #include
23 |
24 | /** \defgroup modkeys Keys used in mod.ini file */
25 | /** @{*/
26 | extern const wxString MOD_INI_KEY_LAUNCHER_MOD_NAME;
27 | extern const wxString MOD_INI_KEY_LAUNCHER_IMAGE_255X112;
28 | extern const wxString MOD_INI_KEY_LAUNCHER_IMAGE_182X80;
29 | extern const wxString MOD_INI_KEY_LAUNCHER_INFO_TEXT;
30 | extern const wxString MOD_INI_KEY_LAUNCHER_AUTHOR;
31 | extern const wxString MOD_INI_KEY_LAUNCHER_NOTES;
32 | extern const wxString MOD_INI_KEY_LAUNCHER_WARN;
33 |
34 | extern const wxString MOD_INI_KEY_LAUNCHER_WEBSITE;
35 | extern const wxString MOD_INI_KEY_LAUNCHER_FORUM;
36 | extern const wxString MOD_INI_KEY_LAUNCHER_BUGS;
37 | extern const wxString MOD_INI_KEY_LAUNCHER_SUPPORT;
38 |
39 | extern const wxString MOD_INI_KEY_RESOLUTION_MIN_VERTICAL_RES;
40 | extern const wxString MOD_INI_KEY_RESOLUTION_MIN_HORIZONTAL_RES;
41 |
42 | extern const wxString MOD_INI_KEY_EXTREMEFORCE_FORCED_FLAGS_ON;
43 | extern const wxString MOD_INI_KEY_EXTREMEFORCE_FORCED_FLAGS_OFF;
44 |
45 | extern const wxString MOD_INI_KEY_MULTIMOD_PRIMARY_LIST;
46 | extern const wxString MOD_INI_KEY_MULTIMOD_SECONDRY_LIST;
47 | extern const wxString MOD_INI_KEY_MULTIMOD_SECONDARY_LIST;
48 |
49 | // TODO: /flagsetideal and /flagset#
50 |
51 | extern const wxString MOD_INI_KEY_SKIN_WINDOW_TITLE;
52 | extern const wxString MOD_INI_KEY_SKIN_WINDOW_ICON;
53 | extern const wxString MOD_INI_KEY_SKIN_BANNER;
54 | extern const wxString MOD_INI_KEY_SKIN_WELCOME_TEXT;
55 |
56 | extern const wxString MOD_INI_KEY_SKIN_MOD_IMAGE_255X112;
57 | extern const wxString MOD_INI_KEY_SKIN_MOD_IMAGE_182X80;
58 |
59 | extern const wxString MOD_INI_KEY_SKIN_ICON_OK;
60 | extern const wxString MOD_INI_KEY_SKIN_ICON_WARNING;
61 | extern const wxString MOD_INI_KEY_SKIN_ICON_WARNING_BIG;
62 | extern const wxString MOD_INI_KEY_SKIN_ICON_ERROR;
63 | extern const wxString MOD_INI_KEY_SKIN_ICON_INFO;
64 | extern const wxString MOD_INI_KEY_SKIN_ICON_INFO_BIG;
65 | extern const wxString MOD_INI_KEY_SKIN_ICON_HELP;
66 | extern const wxString MOD_INI_KEY_SKIN_ICON_HELP_BIG;
67 | extern const wxString MOD_INI_KEY_SKIN_ICON_IDEAL;
68 |
69 | extern const wxString MOD_INI_KEY_SKIN_NEWS_SOURCE;
70 |
71 | // TODO: mod text localization?
72 |
73 | extern const wxString MOD_INI_KEY_RECOMMENDED_LIGHTING_NAME;
74 | extern const wxString MOD_INI_KEY_RECOMMENDED_LIGHTING_FLAGSET;
75 |
76 | /** @}*/
77 |
78 | #endif
79 |
--------------------------------------------------------------------------------
/code/global/RegistryKeys.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "RegistryKeys.h"
20 |
21 | const wxString REG_KEY_FOLDER_LOCATION (L"Volition\\Freespace2");
22 |
23 | const wxString REG_KEY_VIDEO_RESOLUTION_DEPTH (L"VideocardFs2open");
24 | const wxString REG_KEY_VIDEO_TEXTURE_FILTER (L"TextureFilter");
25 | const wxString REG_KEY_VIDEO_ANISOTROPIC (L"OGL_AnisotropicFilter");
26 | const wxString REG_KEY_VIDEO_ANTI_ALIAS (L"OGL_AntiAliasSamples");
27 |
28 | const wxString REG_KEY_AUDIO_OPENAL_DEVICE (L"SoundDeviceOAL");
29 | const wxString REG_KEY_AUDIO_FOLDER_CFG (L"/Sound"); // FileProfileManager
30 | const wxString REG_KEY_AUDIO_FOLDER_REGISTRY (L"Sound"); // RegistryProfileManager
31 | const wxString REG_KEY_AUDIO_OPENAL_PLAYBACK_DEVICE (L"PlaybackDevice");
32 | const wxString REG_KEY_AUDIO_OPENAL_CAPTURE_DEVICE (L"CaptureDevice");
33 | const wxString REG_KEY_AUDIO_OPENAL_EFX (L"EnableEFX");
34 | const wxString REG_KEY_AUDIO_OPENAL_SAMPLE_RATE (L"SampleRate");
35 |
36 | const wxString REG_KEY_SPEECH_VOICE (L"SpeechVoice");
37 | const wxString REG_KEY_SPEECH_VOLUME (L"SpeechVolume");
38 | const wxString REG_KEY_SPEECH_IN_TECHROOM (L"SpeechTechroom");
39 | const wxString REG_KEY_SPEECH_IN_BRIEFINGS (L"SpeechBriefings");
40 | const wxString REG_KEY_SPEECH_IN_GAME (L"SpeechIngame");
41 | const wxString REG_KEY_SPEECH_IN_MULTI (L"SpeechMulti");
42 |
43 | const wxString REG_KEY_JOYSTICK_ID (L"CurrentJoystick");
44 | const wxString REG_KEY_JOYSTICK_GUID (L"CurrentJoystickGUID");
45 | const wxString REG_KEY_JOYSTICK_FORCE_FEEDBACK (L"EnableJoystickFF");
46 | const wxString REG_KEY_JOYSTICK_DIRECTIONAL (L"EnableHitEffect");
47 |
48 | const wxString REG_KEY_NETWORK_TYPE (L"NetworkConnection");
49 | const wxString REG_KEY_NETWORK_SPEED (L"ConnectionSpeed");
50 | const wxString REG_KEY_NETWORK_PORT (L"ForcePort");
51 | const wxString REG_KEY_NETWORK_FOLDER_CFG (L"/Network"); // FileProfileManager
52 | const wxString REG_KEY_DEFAULT_FOLDER_CFG (L"/Default"); // FileProfileManager
53 | const wxString REG_KEY_NETWORK_FOLDER_REGISTRY (L"Network"); // RegistryProfileManager
54 | const wxString REG_KEY_NETWORK_IP (L"CustomIP");
55 |
--------------------------------------------------------------------------------
/code/global/RegistryKeys.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef REGISTRY_KEYS_H
20 | #define REGISTRY_KEYS_H
21 |
22 | #include
23 |
24 | /** \defgroup registrykeys Keys used in the registry or fs2_open.ini */
25 | /** @{*/
26 | extern const wxString REG_KEY_FOLDER_LOCATION;
27 |
28 | extern const wxString REG_KEY_VIDEO_RESOLUTION_DEPTH;
29 | extern const wxString REG_KEY_VIDEO_TEXTURE_FILTER;
30 | extern const wxString REG_KEY_VIDEO_ANISOTROPIC;
31 | extern const wxString REG_KEY_VIDEO_ANTI_ALIAS;
32 |
33 | extern const wxString REG_KEY_AUDIO_OPENAL_DEVICE;
34 | extern const wxString REG_KEY_AUDIO_FOLDER_CFG;
35 | extern const wxString REG_KEY_AUDIO_FOLDER_REGISTRY;
36 | extern const wxString REG_KEY_AUDIO_OPENAL_PLAYBACK_DEVICE;
37 | extern const wxString REG_KEY_AUDIO_OPENAL_CAPTURE_DEVICE;
38 | extern const wxString REG_KEY_AUDIO_OPENAL_EFX;
39 | extern const wxString REG_KEY_AUDIO_OPENAL_SAMPLE_RATE;
40 |
41 | extern const wxString REG_KEY_SPEECH_VOICE;
42 | extern const wxString REG_KEY_SPEECH_VOLUME;
43 | extern const wxString REG_KEY_SPEECH_IN_TECHROOM;
44 | extern const wxString REG_KEY_SPEECH_IN_BRIEFINGS;
45 | extern const wxString REG_KEY_SPEECH_IN_GAME;
46 | extern const wxString REG_KEY_SPEECH_IN_MULTI;
47 |
48 | extern const wxString REG_KEY_JOYSTICK_ID;
49 | extern const wxString REG_KEY_JOYSTICK_GUID;
50 | extern const wxString REG_KEY_JOYSTICK_FORCE_FEEDBACK;
51 | extern const wxString REG_KEY_JOYSTICK_DIRECTIONAL;
52 |
53 | extern const wxString REG_KEY_NETWORK_TYPE;
54 | extern const wxString REG_KEY_NETWORK_SPEED;
55 | extern const wxString REG_KEY_NETWORK_PORT;
56 | extern const wxString REG_KEY_NETWORK_FOLDER_CFG;
57 | extern const wxString REG_KEY_DEFAULT_FOLDER_CFG;
58 | extern const wxString REG_KEY_NETWORK_FOLDER_REGISTRY;
59 | extern const wxString REG_KEY_NETWORK_IP;
60 | /** @}*/
61 |
62 | #endif
63 |
--------------------------------------------------------------------------------
/code/global/SkinDefaults.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "SkinDefaults.h"
20 | #include // for _() macro
21 |
22 | const wxString DEFAULT_SKIN_WINDOW_TITLE (_("wxLauncher for the FreeSpace 2 Source Code Project"));
23 | const wxString DEFAULT_SKIN_WINDOW_ICON (_T("wxlauncher.ico"));
24 | const wxString DEFAULT_SKIN_BANNER (_T("SCP_Header.png"));
25 | const wxString DEFAULT_SKIN_WELCOME_TEXT
26 | (_("Welcome to wxLauncher, the next-generation launcher for FS2 Open games
New to FreeSpace 2? Check out these links:
= FreeSpace Wiki = Hard Light Productions Forums =
= Multiplayer Setup = Support Forum =
= Troubleshooting FAQ =
"));
27 |
28 | const wxString DEFAULT_SKIN_MOD_IMAGE_255X112 (_T("modimg.png"));
29 | const wxString DEFAULT_SKIN_MOD_IMAGE_182X80 (_T("modimg_small.png"));
30 |
31 | const wxString DEFAULT_SKIN_ICON_OK (_T("icon_ok.png"));
32 | const wxString DEFAULT_SKIN_ICON_WARNING (_T("icon_warning.png"));
33 | const wxString DEFAULT_SKIN_ICON_WARNING_BIG (_T("warning_big.png"));
34 | const wxString DEFAULT_SKIN_ICON_ERROR (_T("icon_error.png"));
35 | const wxString DEFAULT_SKIN_ICON_INFO (_T("icon_information.png"));
36 | const wxString DEFAULT_SKIN_ICON_INFO_BIG (_T("info_big.png"));
37 | const wxString DEFAULT_SKIN_ICON_HELP (_T("helpicon.png"));
38 | const wxString DEFAULT_SKIN_ICON_HELP_BIG (_T("questionmark.png"));
39 | const wxString DEFAULT_SKIN_ICON_IDEAL (_T("recommended.png"));
40 |
41 | const NewsSourceId DEFAULT_SKIN_NEWS_SOURCE (NEWS_SOURCE_ID_HLP);
42 |
--------------------------------------------------------------------------------
/code/global/SkinDefaults.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef SKIN_DEFAULTS_H
20 | #define SKIN_DEFAULTS_H
21 |
22 | #include
23 | #include "datastructures/NewsSource.h"
24 |
25 | /** \defgroup skindefaults values for default skin */
26 | /** @{*/
27 | extern const wxString DEFAULT_SKIN_WINDOW_TITLE;
28 | extern const wxString DEFAULT_SKIN_WINDOW_ICON;
29 | extern const wxString DEFAULT_SKIN_BANNER;
30 | extern const wxString DEFAULT_SKIN_WELCOME_TEXT;
31 |
32 | extern const wxString DEFAULT_SKIN_MOD_IMAGE_255X112;
33 | extern const wxString DEFAULT_SKIN_MOD_IMAGE_182X80;
34 |
35 | extern const wxString DEFAULT_SKIN_ICON_OK;
36 | extern const wxString DEFAULT_SKIN_ICON_WARNING;
37 | extern const wxString DEFAULT_SKIN_ICON_WARNING_BIG;
38 | extern const wxString DEFAULT_SKIN_ICON_ERROR;
39 | extern const wxString DEFAULT_SKIN_ICON_INFO;
40 | extern const wxString DEFAULT_SKIN_ICON_INFO_BIG;
41 | extern const wxString DEFAULT_SKIN_ICON_HELP;
42 | extern const wxString DEFAULT_SKIN_ICON_HELP_BIG;
43 | extern const wxString DEFAULT_SKIN_ICON_IDEAL;
44 |
45 | extern const NewsSourceId DEFAULT_SKIN_NEWS_SOURCE;
46 | /** @}*/
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/code/global/Utils.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "generated/configure_launcher.h"
20 |
21 | #include "Utils.h"
22 |
23 | namespace TextUtils {
24 | #include
25 | WX_DEFINE_OBJARRAY(ArrayOfWords);
26 |
27 | void FillArrayOfWordsFromTokens(wxStringTokenizer &tokens,
28 | wxDC &dc,
29 | wxFont* testFont,
30 | ArrayOfWords& words,
31 | const bool useAppleDebugFilter) {
32 | while ( tokens.HasMoreTokens() ) {
33 | wxString tok = tokens.GetNextToken();
34 | #if IS_APPLE
35 | if (useAppleDebugFilter) {
36 | // left over from tokenizing executable in debug .app
37 | if (tok.Lower() == _T("(debug)")) {
38 | tok = _T("");
39 | }
40 | // remove the text after ".app" in the FSO executable name
41 | // the trailing / ensures that the .app indicates an extension
42 | int DotAppIndex = tok.Find(_T(".app/"));
43 | if (DotAppIndex != wxNOT_FOUND) {
44 | tok = tok.Mid(0, DotAppIndex + 4); // 4 to retain ".app"
45 | }
46 | }
47 | #endif
48 | int x, y;
49 | dc.GetTextExtent(tok, &x, &y, NULL, NULL, testFont);
50 |
51 | Words* temp = new Words();
52 | temp->size.SetWidth(x);
53 | temp->size.SetHeight(y);
54 | temp->word = tok;
55 |
56 | words.Add(temp);
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/code/global/Utils.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2013 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef UTILS_H
20 | #define UTILS_H
21 |
22 | #include
23 | #include
24 |
25 | namespace TextUtils {
26 |
27 | struct Words {
28 | wxString word;
29 | wxSize size;
30 | };
31 |
32 | WX_DECLARE_OBJARRAY(Words, ArrayOfWords);
33 |
34 | /* Fills an array of words from a token stream. */
35 | void FillArrayOfWordsFromTokens(wxStringTokenizer &tokens,
36 | wxDC &dc,
37 | wxFont* testFont,
38 | ArrayOfWords& words,
39 | bool useAppleDebugFilter = false);
40 | }
41 |
42 | #if _WIN32
43 | #define SZT wxT("%Iu")
44 | #else
45 | #define SZT wxT("%zu")
46 | #endif
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/code/global/configure_launcher.h.in:
--------------------------------------------------------------------------------
1 | #ifndef CONFIGURE_LAUNCHER_H_
2 | #define CONFIGURE_LAUNCHER_H_
3 | // File is modified by the build system to tell the launcher where stuff
4 | // is located
5 | #cmakedefine RESOURCES_PATH "${RESOURCES_PATH}"
6 | #cmakedefine HELP_HTB_LOCATION "${HELP_HTB_LOCATION}"
7 |
8 | #cmakedefine01 USE_SPEECH
9 | #cmakedefine01 USE_JOYSTICK
10 | #cmakedefine01 USE_OPENAL
11 | #cmakedefine01 PLATFORM_USES_REGISTRY
12 | #cmakedefine01 PROFILE_DEBUGGING
13 |
14 | #cmakedefine01 HAS_SDL
15 |
16 | #cmakedefine wxlauncher_VERSION_MAJOR ${wxlauncher_VERSION_MAJOR}
17 | #cmakedefine wxlauncher_VERSION_MINOR ${wxlauncher_VERSION_MINOR}
18 | #cmakedefine wxlauncher_VERSION_PATCH ${wxlauncher_VERSION_PATCH}
19 |
20 | // If cmake did not define these, it means they are zero
21 | #ifndef wxlauncher_VERSION_MAJOR
22 | #define wxlauncher_VERSION_MAJOR 0
23 | #endif
24 | #ifndef wxlauncher_VERSION_MINOR
25 | #define wxlauncher_VERSION_MINOR 0
26 | #endif
27 | #ifndef wxlauncher_VERSION_PATCH
28 | #define wxlauncher_VERSION_PATCH 0
29 | #endif
30 |
31 | // What platform am I on
32 | #cmakedefine01 IS_WIN32
33 | #cmakedefine01 IS_LINUX
34 | #cmakedefine01 IS_APPLE
35 |
36 | #if (IS_WIN32 + IS_LINUX + IS_APPLE) > 1
37 | #error "Only one of IS_WIN32, IS_LINUX, and IS_APPLE may evaluate to true"
38 | #elif (IS_WIN32 + IS_LINUX + IS_APPLE) < 1
39 | #error "One of IS_WIN32, IS_LINUX, IS_APPLE must evaluate to true"
40 | #endif
41 |
42 | #endif
43 |
--------------------------------------------------------------------------------
/code/global/targetver.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #pragma once
20 |
21 | // The following macros define the minimum required platform. The minimum required platform
22 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
23 | // your application. The macros work by enabling all features available on platform versions up to and
24 | // including the version specified.
25 |
26 | // Modify the following defines if you have to target a platform prior to the ones specified below.
27 | // Refer to MSDN for the latest info on corresponding values for different platforms.
28 | #ifndef WINVER // Specifies that the minimum required platform is Windows Vista.
29 | #define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows.
30 | #endif
31 |
32 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
33 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
34 | #endif
35 |
36 | #ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98.
37 | #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
38 | #endif
39 |
40 | #ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0.
41 | #define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE.
42 | #endif
43 |
--------------------------------------------------------------------------------
/code/global/version.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include "version.h"
20 | #include "generated/configure_launcher.h"
21 |
22 | const wxUint8 MAJOR_VERSION = wxlauncher_VERSION_MAJOR;
23 | const wxUint8 MINOR_VERSION = wxlauncher_VERSION_MINOR;
24 | const wxUint8 PATCH_VERSION = wxlauncher_VERSION_PATCH;
25 | const wxUint64 FULL_VERSION = wxlauncher_VERSION_MAJOR*1000000
26 | + wxlauncher_VERSION_MINOR*1000 + wxlauncher_VERSION_PATCH;
27 |
--------------------------------------------------------------------------------
/code/global/version.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef VERSION_H
20 | #define VERSION_H
21 | #include
22 |
23 | extern const wxUint8 MAJOR_VERSION;
24 | extern const wxUint8 MINOR_VERSION;
25 | extern const wxUint8 PATCH_VERSION;
26 | extern const wxUint64 FULL_VERSION;
27 |
28 | extern const wchar_t *GITVersion;
29 | extern const wchar_t *GITDate;
30 |
31 | #endif
--------------------------------------------------------------------------------
/code/global/version_strings.cpp.in:
--------------------------------------------------------------------------------
1 | const wchar_t *GITVersion = L"123456789abc+ unknown custom tip";
2 | const wchar_t *GITDate = L"Thu Jan 01 00:00:00 1970 -0000";
3 |
--------------------------------------------------------------------------------
/code/tabs/AdvSettingsPage.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef ADVSETTINGSPAGE_H
20 | #define ADVSETTINGSPAGE_H
21 |
22 | #include
23 | #include "controls/FlagListBox.h"
24 | #include "controls/LightingPresets.h"
25 |
26 | class AdvSettingsPage: public wxPanel {
27 | public:
28 | AdvSettingsPage(wxWindow* parent);
29 |
30 | void OnNeedUpdateCommandLine(wxCommandEvent &event);
31 |
32 | private:
33 | void UpdateComponents();
34 | void UpdateErrorText();
35 | void UpdateFlagSetsBox();
36 | wxString FormatCommandLineString(const wxString& origCmdLine,
37 | const int textAreaWidth);
38 | FlagListBox* flagListBox;
39 | LightingPresets* lightingPresets;
40 | wxStaticText* errorText;
41 |
42 | public:
43 | void OnExeChanged(wxCommandEvent& event);
44 | void OnSelectFlagSet(wxCommandEvent& event);
45 | void OnFlagFileProcessingStatusChanged(wxCommandEvent& event);
46 | void OnNeedUpdateCustomFlags(wxCommandEvent& event);
47 | void OnCustomFlagsBoxChanged(wxCommandEvent& event);
48 | void OnFlagListBoxReady(wxCommandEvent& event);
49 | void OnProxyFlagDataReady(wxCommandEvent& event);
50 |
51 | DECLARE_EVENT_TABLE()
52 | };
53 |
54 | #endif
--------------------------------------------------------------------------------
/code/tabs/InstallPage.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #include
20 | #include
21 | #include "global/ids.h"
22 | #include "apis/ProfileManager.h"
23 | #include "tabs/InstallPage.h"
24 | #include "apis/HelpManager.h"
25 | #include "generated/configure_launcher.h"
26 |
27 | #include "global/MemoryDebugging.h" // Last include for memory debugging
28 |
29 | InstallPage::InstallPage(wxWindow* parent): wxPanel(parent, wxID_ANY) {
30 | }
31 |
32 | BEGIN_EVENT_TABLE(InstallPage, wxPanel)
33 | END_EVENT_TABLE()
--------------------------------------------------------------------------------
/code/tabs/InstallPage.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef INSTALLPAGE_H
20 | #define INSTALLPAGE_H
21 |
22 | #include
23 |
24 | class InstallPage: public wxPanel {
25 | public:
26 | InstallPage(wxWindow* parent);
27 |
28 | DECLARE_EVENT_TABLE()
29 | };
30 |
31 | #endif
--------------------------------------------------------------------------------
/code/tabs/ModsPage.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef MODSPAGE_H
20 | #define MODSPAGE_H
21 |
22 | #include
23 |
24 | class ModsPage: public wxPanel {
25 | public:
26 | ModsPage(wxWindow* parent);
27 |
28 | void OnTCChanged(wxCommandEvent &event);
29 | void OnTCSkinChanged(wxCommandEvent &event);
30 |
31 | private:
32 | DECLARE_EVENT_TABLE();
33 | };
34 |
35 | #endif
--------------------------------------------------------------------------------
/code/tabs/WelcomePage.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef WELCOMEPAGE_H
20 | #define WELCOMEPAGE_H
21 |
22 | #include
23 |
24 | #include "global/ids.h"
25 | #include "apis/ProfileManager.h"
26 |
27 | class WelcomePage: public wxPanel {
28 | public:
29 | WelcomePage(wxWindow* parent);
30 | void LinkClicked(wxHtmlLinkEvent& event);
31 | void LinkHover(wxHtmlCellEvent& event);
32 | void OnMouseOut(wxMouseEvent& event);
33 | void ProfileButtonClicked(wxCommandEvent& event);
34 | void AutoSaveProfilesChecked(wxCommandEvent& event);
35 | void ProfileChanged(wxCommandEvent& event);
36 | void ProfileCountChanged(wxCommandEvent& event);
37 | void UpdateNews(wxIdleEvent& event);
38 | void OnDownloadNewsCheck(wxCommandEvent& event);
39 | void OnUpdateNewsHelp(wxCommandEvent& event);
40 | void OnTCSkinChanged(wxCommandEvent& event);
41 |
42 | private:
43 | /** The width of the items on the welcome tab. */
44 | const static int stuffWidth = TAB_AREA_WIDTH;
45 | void *lastLinkInfo;
46 |
47 | void cloneNewProfile(wxChoice* combobox, ProMan* profile);
48 | void deleteProfile(wxChoice* combobox, ProMan* profile);
49 |
50 | bool needToUpdateNews;
51 | wxCheckBox* updateNewsCheck;
52 | void getOrPromptUpdateNews(wxIdleEvent&);
53 |
54 | DECLARE_EVENT_TABLE();
55 | };
56 |
57 | #endif
--------------------------------------------------------------------------------
/code/wxLauncherApp.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2009-2010 wxLauncher Team
3 |
4 | This program is free software; you can redistribute it and/or
5 | modify it under the terms of the GNU General Public License
6 | as published by the Free Software Foundation; either version 2
7 | of the License, or (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 | */
18 |
19 | #ifndef WXLAUNCHERAPP_H
20 | #define WXLAUNCHERAPP_H
21 | #include
22 | #include "apis/ProfileManagerOperator.h"
23 |
24 | class wxLauncher: public wxApp {
25 | public:
26 | wxLauncher();
27 | virtual bool OnInit();
28 | virtual int OnExit();
29 | virtual int OnRun();
30 |
31 | virtual void OnInitCmdLine(wxCmdLineParser& parser);
32 | virtual bool OnCmdLineParsed(wxCmdLineParser& parser);
33 |
34 | wxString mFileOperand;
35 | wxString mProfileOperand;
36 | ProManOperator::profileOperator mProfileOperator;
37 | bool mKeepForSessionOnly;
38 | bool mShowGUI;
39 | };
40 |
41 | DECLARE_APP(wxLauncher);
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/onlinehelp/10Introduction/02Profiles.help:
--------------------------------------------------------------------------------
1 | Profiles
2 |
3 | # Profiles
4 |
5 | Profiles are one of the biggest features introduced by wxLauncher, allowing you to save "snapshots" of the launcher settings. Think of them like the "save" feature commonly found in games: you can save your current settings and restore them later.
6 |
7 | ## Why use profiles
8 | Since most of the available [mods][mod]![][li]/[TCs][tc]![][li] use different settings to achieve the best experience for the player, the profiles feature was created in order to allow the player to quickly switch between settings for his/her mods instead of manually having to set the various options that [FSO][]![][li] supports when switching to another mod.
9 |
10 | ## Copying settings from one profile to another
11 | While you can't directly copy settings from one profile to another, you can choose to base a new profile on an existing profile by cloning the existing profile's contents.
12 |
13 | **Tip**: You can use this feature to rename a profile. Simply click the new profile button, choose the profile you want to rename and type in the new name. Click "Clone" to create the new profile, and then delete the old profile.
14 |
15 | ## What data is saved
16 | A profile contains the following data:
17 |
18 | * The selected mod.
19 | * Status of all the options from the [Basic Settings][basic]![][li] page.
20 | * Status of all the flags from the [Advanced Settings][advanced]![][li] page, including the [lighting presets][lighting]![][li] and [custom flags][custom]![][li].
21 |
22 | **What is not saved**: The option of whether to automatically retrieve the highlights from Hard Light Productions at launcher startup.
23 |
24 | ## Using wxLauncher without using profiles
25 | Although you can't disable the profiles feature, you can avoid using them by checking the "Automatically save profiles" box on the Welcome page and then only using the default profile, which has the name "Default".
26 |
27 | This way, every change you make is automatically saved to the default profile when the launcher exits, and wxLauncher will behave just as the standard Windows launcher does.
28 |
29 | [li]: /images/li.png
30 | [mod]: /50TechnicalStuff/02Terminology.help
31 | [tc]: /50TechnicalStuff/02Terminology.help
32 | [fso]: /50TechnicalStuff/02Terminology.help
33 | [basic]: /30Reference/30BasicSettings/index.help
34 | [advanced]: /30Reference/40AdvancedSettings/index.help
35 | [lighting]: /30Reference/40AdvancedSettings/021lighting.help
36 | [custom]: /30Reference/40AdvancedSettings/10customflags.help
37 | [welcome]: /30Reference/10Welcome/index.help
38 |
--------------------------------------------------------------------------------
/onlinehelp/10Introduction/index.help:
--------------------------------------------------------------------------------
1 | Overview
2 |
3 | # Overview
4 |
5 | This section covers the key features of wxLauncher.
6 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/10Welcome/02profiles.help:
--------------------------------------------------------------------------------
1 | Profile management
2 |
3 | # Profile management
4 |
5 | This set of controls allows you to to create and delete profiles. Check the [Profiles][profiles]![][li] section for information about what profiles are and how they work.
6 |
7 |
8 |
9 | ### New
10 | Creates a new profile.
11 |
12 |
13 |
14 | You can either create a blank profile or clone an existing profile. Cloning allows you to quickly and easily make a new profile by making slight changes to a copy of one of your existing profiles.
15 |
16 | ### Delete
17 | Deletes the selected profile. You will be asked to confirm the deletion.
18 |
19 | **Note**: You can't delete the "Default" profile.
20 |
21 | ### Save
22 | Saves the current profile.
23 |
24 |
28 |
29 | ### Automatically save profiles
30 | If checked, any changes made to the current profile will be saved automatically on profile switch, profile creation, and launcher exit.
31 |
32 | If unchecked and the current profile contains unsaved changes, the launcher will ask you if you want to save your changes when you switch profiles, create a new profile, or exit wxLauncher.
33 |
34 | **Tip**: If you don't want to use profiles, check this box and select the Default profile, at which point wxLauncher will act like the standard Windows launcher, remembering your changes automatically.
35 |
36 | [li]: /images/li.png
37 | [le]: ../../images/le.png
38 | [profiles]: ../../10Introduction/02Profiles.help
39 | [derelict]: http://freespace.volitionwatch.com/derelict/index.shtml
40 | [bp]: http://blueplanet.hard-light.net/
41 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/10Welcome/03news.help:
--------------------------------------------------------------------------------
1 | Latest highlights
2 | # Latest highlights from Hard Light Productions
3 |
4 | The highlights give you a quick preview of new releases on [Hard Light Productions][hl]![][le] (HLP). If you have checked the "Automatically retrieve highlights at startup" box, wxLauncher will retrieve and display the highlights from the HLP website when it starts up.
5 |
6 |
11 |
12 | [le]: ../../images/le.png
13 | [hl]: http://www.hard-light.net/
14 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/10Welcome/index.help:
--------------------------------------------------------------------------------
1 | Welcome page
2 |
3 | #Welcome page
4 | The welcome page is your first contact with the launcher and the first page you'll always see on a fresh launcher start. It's like your browser homepage.
5 |
6 | Because of that, the welcome page contains two items that are essential to any FreeSpace 2 fan:
7 |
8 | * [Profile management controls][profiles]![][li]
9 | * [Hard Light Productions highlights][hlnews]![][li]
10 |
11 | [li]: /images/li.png
12 | [profiles]: 01profiles.help
13 | [hlnews]: 03news.help
14 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/20MODs/01modlist.help:
--------------------------------------------------------------------------------
1 | Mod list
2 |
3 | # Mod list
4 |
5 |
6 |
7 | ## Changing the active mod
8 |
9 | To change the active mod, scroll the list and click the [mod][mod]![][li] you wish to activate. Two buttons will appear, one labeled **Activate** and the other **Info**. Click **Activate** to make the selected mod active.
10 |
11 |
12 |
13 | **Note**: The first item on the mod list is always the "(No mod)" entry. Activate this in order to play the current [TC][mod]![][li] in its original form without any mods.
14 |
15 | ## Learning more about a mod
16 |
17 | To learn more about a mod, such as a description and links to its website or forum if available, select the mod and click the **Info** button that appears when the mod is selected.
18 |
19 |
22 |
23 | [li]: /images/li.png
24 | [mod]: /50TechnicalStuff/02Terminology.help
25 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/20MODs/index.help:
--------------------------------------------------------------------------------
1 | Mods page
2 |
3 | # Mods page
4 |
5 | This page allows you to [select a mod to activate][am]![][li] among the [mods][mod]![][li] installed for the current selected [TC][]![][li].
6 |
7 | [li]: /images/li.png
8 | [mod]: /50TechnicalStuff/02Terminology.help
9 | [tc]: /50TechnicalStuff/02Terminology.help
10 | [am]: activate.help
--------------------------------------------------------------------------------
/onlinehelp/30Reference/30BasicSettings/01executable.help:
--------------------------------------------------------------------------------
1 |
2 |
3 | FS2 Open game root folder and executable
4 |
5 | # FS2 Open game root folder and executable
6 |
7 | In order to be able to launch [FSO][]![][li], the launcher needs to know two things:
8 |
9 | * In which folder are the FS2 Open (and optionally, FRED2 Open) executables located
10 | * Which executable it should use
11 |
12 | ### Game root folder
13 |
14 |
15 |
16 | You must select the root folder of an FS2 Open game before you can select an FSO executable (or [mod][mod]![][li] on the [mods page][modpage]![][li]) to use.
17 |
18 |
19 |
20 | To select the root folder, click **Browse...** and browse to the folder containing the FSO executables, then click **Choose** to confirm. The "Browse for folder" dialog box won't close if the selected folder does not contain valid FSO executables.
21 |
22 | ### FS2 Open executable selection
23 |
24 | Once you have selected a valid root folder, the FS2 Open executable selection box will be populated with each FSO executable found in the TC root folder, branded with the version number, build number (if it's a nightly build), build type and SSE/SSE2 build indication.
25 |
26 |
27 |
28 |
29 |
30 | ### FRED2 Open executable selection
31 |
32 | **Compatibility note**: Although FRED executable selection is supported on all platforms, FRED is currently available on Windows only.
33 |
34 | **Note**: FRED launching is not enabled by default. Enable it by pressing F3.
35 |
36 |
37 |
38 | [li]: /images/li.png
39 | [fso]: ../../50TechnicalStuff/02Terminology.help
40 | [tc]: /50TechnicalStuff/02Terminology.help
41 | [mod]: /50TechnicalStuff/02Terminology.help
42 | [modpage]: ../20MODs/index.help
43 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/30BasicSettings/02video.help:
--------------------------------------------------------------------------------
1 | Video
2 | # Video
3 |
4 | Here you configure the basic settings of the graphics engine to best suit your needs (and to best fit your computer's graphic and processing power).
5 |
6 |
7 |
8 |
12 |
13 | ## Options supported on all platforms
14 |
15 | ### Resolution
16 | The number of pixels you see on the screen when playing the game. Chosing a bigger resolution increases the quality of the graphics output of the engine but requires more processing power. If the game runs sluggishly, you could try lowering the resolution.
17 |
18 |
19 | ### Depth
20 | Bit depth (also called *color depth* or *screen depth*) describes the number of bits used to represent the color of a single pixel. In game terms, this means that a 32-bit depth creates a more vivid image than a 16-bit depth mode.
21 |
22 | **Note**: Although a 32-bit mode requires a bit more processing power than 16-bit, this option should be set to the same value as your Windows bit depth (usually 32-bit nowdays), as using a different bit depth can cause *major* slowdowns. If your graphics card is having difficulty running FSO, the SCP suggests that you change other graphics settings and leave this one where it is now.
23 |
24 | ## Options currently supported on Linux and macOS only
25 |
26 | ### Texture filter
27 | The texture filter determines the method used to blend the pixels you see on a textured object/model in game with that of neighbouring pixels to create the illusion of a continuous surface. The more advanced the method, the better the result. The cost is a slight performance loss.
28 |
29 | ### Anisotropic
30 | Anisotropic is a second filter applied to the textures you see in-game to correct blurriness when the textured surface is at an oblique angle. Since most of the textures in-game are viewed at oblique angles, it is a good idea to turn this on. Like most other options, choosing a larger correction factor results in a slight performance loss.
31 |
32 | ### Anti-aliasing
33 | Anti-aliasing is a technique that minimizes the "jagged edges" of any object you see in-game. Check this [Wikipedia article on anti-aliasing][aa]![][le] for a more detailed explanation.
34 |
35 |
36 |
37 | **Tip**: In a furious dogfight, you won't notice any difference if this is turned off or set to maximum, but if you want to admire the beautiful world of FreeSpace, it could be worth using it.
38 |
39 | **Warning**: Using a large anti-aliasing factor can cause a considerable drop in performance, depending on your system configuration.
40 |
41 | [li]: /images/li.png
42 | [le]: /images/le.png
43 | [fso]: /50TechnicalStuff/02Terminology.help
44 | [scp]: /50TechnicalStuff/02Terminology.help
45 | [aa]: http://en.wikipedia.org/wiki/Anti-alias
46 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/30BasicSettings/03audio.help:
--------------------------------------------------------------------------------
1 | Audio
2 | # Audio
3 | Here you set the device that [FSO][]![][li] will use to output the sound effects.
4 |
5 |
6 |
7 | ###Sound device
8 | Lists the compatible sound devices that are installed on your system. "Generic software" works on any machine, choose that if you don't have a high-end dedicated sound card.
9 |
10 | **Note**: If you don't have any device listed in the droplist, click the button below to download the latest version of OpenAL. You might want to check this [Wikipedia page][openalw]![][le] to learn more about OpenAL.
11 |
12 | ###Download OpenAL
13 |
14 | ** this button should always be enabled -- how do we know the user has the latest version? or the latest version is not needed, what is needed is a version that works? **
15 |
16 | Click this button to open the [OpenAL download section][openald]![][le] in your browser. Then, locate, download and install the appropiate package for your system.
17 |
18 | ###Detect
19 | Click this to redetect the audio devices installed on your system. Useful if you made changes to your system - like installing a new version of OpenAL for example, without restarting wxLauncher.
20 |
21 |
22 | [li]: /images/li.png
23 | [le]: /images/le.png
24 | [openalw]: https://en.wikipedia.org/wiki/OpenAL
25 | [openald]: https://www.openal.org/downloads/
26 | [fso]: /50TechnicalStuff/02Terminology.help
27 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/30BasicSettings/04speech.help:
--------------------------------------------------------------------------------
1 |
2 | Speech
3 |
4 | # Speech (Windows only)
5 |
6 | Here you can set various aspects related to the speech engine. This is intended as an option while playing a user-made campaigns that lacks voice acting. While a simulated speech is of far inferior quality compared to a human voice, sometimes it is better than nothing.
7 |
8 | **Compatibility note:** Speech is currently supported on Windows only.
9 |
10 | ### Test string
11 | Type a test string for testing the selected voice. "Press play to test this string." is provided by default.
12 |
13 | **Note**: When testing the voice, the launcher will be unresponsive until the simulated speech stops, so try to limit your string to a few words only.
14 |
15 | ### Voice selection
16 | Lists the available voices installed on your system, from which you can select one.
17 |
18 | ### Volume slider
19 | This slider sets the volume of simulated speech in game. Drag it all the way to the right to set the volume to maximum.
20 |
21 | **Tip**: Remember that when you play the game, there will be countless other sounds beside the simulated voices, so if you plan to use the simulated speech in-game, you might want to set the volume a bit higher than what you find acceptable when testing your settings from the launcher, especially if you're in a quiet room. That way, the simulated speech will be more than some indistinguishable noise in the background when playing.
22 |
23 | ### Play button
24 | Starts the simulated-voice playback of the test string.
25 |
26 | ### Where to use speech
27 | Defines the areas of the game where the simulated speech should be used. Check as needed.
28 |
29 | * Tech room
30 | * Briefings
31 | * In-game
32 | * Multiplayer
33 |
34 | ### Get more voices
35 |
36 | * **Windows XP or older**: You can download Mike and Mary from [Microsoft's Download Center][mdc]![][le].
37 | * **Vista or 7**: There are no other free voices available from Microsoft (the voices available for Windows XP or older will install but Windows will not allow them to be used)
38 |
39 |
40 |
43 |
44 | [le]:/images/le.png
45 | [mdc]: http://www.microsoft.com/downloads/details.aspx?FamilyId=5E86EC97-40A7-453F-B0EE-6583171B4530&displaylang=en
46 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/30BasicSettings/05joystick.help:
--------------------------------------------------------------------------------
1 | Joystick
2 | # Joystick
3 | This is where you select and configure your joystick.
4 |
5 |
6 |
7 | ## Options supported on all platforms
8 |
9 | ### Select joystick
10 | This is a list if joysticks connected to your computer and recognized by the operating system. Choose the one you want to use.
11 |
12 | **Linux and macOS note**: If you connect or disconnect a joystick while wxLauncher is running, you will need to restart wxLauncher for it to detect the changes.
13 |
14 | ## Options currently supported on Windows only
15 |
16 | **Note**: Your joystick must support force feedback for the "Force feedback" and "Directional hit" options to have any effect.
17 |
18 | ### Force feedback
19 | Force feedback, or *haptics* (from *Haptic Technology*) is a tactile feedback technology which takes advantage of a user's sense of touch by applying forces, vibrations, and/or motions upon the user. An example of this feature is the simulated automobile steering wheels that are programmed to provide a "feel" of the road. As the user makes a turn or accelerates, the steering wheel responds by resisting turns or slipping out of control.
20 |
21 | So, if you want to "feel" your fighter more closely, enable this option.
22 |
23 | ### Directional hit
24 | When *Directional hit* is enabled, the joystick will bump in the opposite direction of where you were hit (by lasers, missiles, etc), but only if your joystick supports force feedback.
25 |
26 | ### Calibrate
27 | Clicking this button opens the joystick calibration page in the Control Panel.
28 |
29 | ### Detect
30 | Makes the launcher look for joysticks again. Useful if you plugged your joystick in after the launcher was started.
31 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/30BasicSettings/06network.help:
--------------------------------------------------------------------------------
1 | Network
2 | # Network
3 | Here you can set several options regarding your network connection.
4 |
5 |
6 |
7 | ## Required information for playing multiplayer
8 |
9 | ### Connection type
10 | In order to play online, [FSO][]![][li] needs to know what kind of network configuration you have. Choose the appropriate value.
11 |
12 | ### Connection speed
13 | For a smooth experience, select the appropriate connection speed here.
14 |
15 | ## Advanced options
16 |
17 | ### Force local port
18 | If you want FSO to use a specific [port][]![][le] when playing over LAN/Internet, type it here. Most users will not need to use this setting, but some may need it to handle problems with older Network Address Translation (NAT) firewalls.
19 |
20 | ### Force IP address
21 | Same as above, but for the [IP address][ip]![][le]. Only version 4 addresses (the "classic" IP address - IPv4) are supported for the moment. As with **Force local port**, most users will not need to use this setting, but some may need it to get around older NAT firewalls.
22 |
23 | [li]: /images/li.png
24 | [le]: /images/le.png
25 | [fso]: /50TechnicalStuff/02Terminology.help
26 | [port]: http://en.wikipedia.org/wiki/Computer_port_%28software%29
27 | [ip]: http://en.wikipedia.org/wiki/IP_address
28 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/30BasicSettings/index.help:
--------------------------------------------------------------------------------
1 | Basic Settings page
2 |
3 | # Basic Settings page
4 |
5 | The basic settings are (basically) the settings that were configurable by the original FreeSpace 2 Launcher - the one provided by [Volition][=V=]![][le] and installed with the game - plus the new simulated speech feature and the [TC][tc]![][li] root folder and executable selection.
6 |
7 | What you can set on this page:
8 |
9 | * [TC root folder and Executable][exe]![][li]
10 | * [Video options][video]![][li]
11 | * [Audio device][audio]![][li]
12 | * [Speech settings][speech]![][li]
13 | * [Joystick selection][joystick]![][li]
14 | * [Network configuration][network]![][li]
15 |
16 | [li]: /images/li.png
17 | [le]: /images/le.png
18 | [=V=]: http://www.volition-inc.com/
19 | [tc]: /50TechnicalStuff/02Terminology.help
20 | [exe]: 01executable.help
21 | [video]: 02video.help
22 | [audio]: 03audio.help
23 | [speech]: 04speech.help
24 | [joystick]: 05joystick.help
25 | [network]: 06network.help
26 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/40AdvancedSettings/01flaglist.help:
--------------------------------------------------------------------------------
1 | Flag list
2 |
3 | # Flag list
4 |
5 |
6 | This big list of checkboxes lets you set various flags that are passed to the FreeSpace Open executable. They enable new features added by the SCP.
7 | To see a full description of any option, double-clicking on it will lead to its description of the [Hard Light Wiki][flwiki]![][le].
8 | See [Current command line][ccl]![][le] for more.
9 |
10 | [le]: /images/le.png
11 | [ccl]: 15commandline.help
12 | [flwiki]: http://www.hard-light.net/wiki/index.php/Command-Line_Reference
--------------------------------------------------------------------------------
/onlinehelp/30Reference/40AdvancedSettings/021lighting.help:
--------------------------------------------------------------------------------
1 | Lighting presets
2 |
3 | # Lighting presets
4 |
5 | This page has some collections of flags that have been assembled by community members.
6 | Selecting one of these presets will automatically update your [current command line][ccl]![][le] settings
7 | See more at the [Hard Light Wiki][presetdescs]![][le].
8 |
9 | [ccl]: 15commandline.help
10 | [le]: /images/le.png
11 | [fso]: /50TechnicalStuff/02Terminology.help
12 | [scp]: /50TechnicalStuff/02Terminology.help
13 | [presetdescs]: http://www.hard-light.net/wiki/index.php/Sample_Lighting_Settings
14 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/40AdvancedSettings/05flagsets.help:
--------------------------------------------------------------------------------
1 | Flag sets
2 |
3 | # Flag sets
4 |
5 |
6 |
7 | This dropdown provides quick presets to turn on or off selected flags.
8 |
9 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/40AdvancedSettings/10customflags.help:
--------------------------------------------------------------------------------
1 | Custom flags
2 |
3 | # Custom flags
4 |
5 | If you know what flag you want, you can type it in here and it will by added to the [current command line][ccl]![][le].
6 | The full list of flags is available at [http://www.hard-light.net/wiki/index.php/Command-Line_Reference][flwiki]![][le]
7 |
8 | [le]: /images/le.png
9 | [ccl]: 15commandline.help
10 | [flwiki]: http://www.hard-light.net/wiki/index.php/Command-Line_Reference
--------------------------------------------------------------------------------
/onlinehelp/30Reference/40AdvancedSettings/15commandline.help:
--------------------------------------------------------------------------------
1 | Command line
2 |
3 | # Current command line
4 |
5 |
6 | This box is automatically modified whenever you modify the flag list, or you can manually set the parameters yourself.
7 | See [Flag list][fl]![][le] for more.
8 |
9 | [fl]: 01flaglist.help
10 | [le]: /images/le.png
--------------------------------------------------------------------------------
/onlinehelp/30Reference/40AdvancedSettings/index.help:
--------------------------------------------------------------------------------
1 | Advanced Settings page
2 |
3 | # Advanced Settings page
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/onlinehelp/30Reference/index.help:
--------------------------------------------------------------------------------
1 | Reference
2 | # Reference
3 |
4 | This section explains the various controls and functions of the launcher:
5 |
6 | * [Welcome page][welcome]![][li]
7 | * [Mods page][mods]![][li]
8 | * [Basic Settings page][basic]![][li]
9 | * [Advanced Settings page][advanced]![][li]
10 |
11 | [li]: /images/li.png
12 | [welcome]: 10Welcome/index.help
13 | [mods]: 20MODs/index.help
14 | [basic]: 30BasicSettings/index.help
15 | [advanced]: 40AdvancedSettings/index.help
16 |
--------------------------------------------------------------------------------
/onlinehelp/50TechnicalStuff/02Terminology.help:
--------------------------------------------------------------------------------
1 | Terminology
2 |
3 |
4 |
5 | # Terminology
6 |
7 | ## FSO
8 | The **FreeSpace 2 Open** (also called FreeSpace Open) engine is an [open-source][os]![][le] modification project of the retail FreeSpace 2 engine started after the public release of the original source code in 2002. The community, under the direction of the Source Code Project (or SCP), made major upgrades to the engine and made it multi-platform for Windows, Mac and Linux.
9 |
10 | ## SCP
11 | The **FreeSpace 2 Source Code Project** (or FreeSpace Source Code Project or simply Source Code Project) is a central source to coordinate development of the FreeSpace 2 Open engine. It was created after the source code of the FreeSpace 2 game engine become public in order to prevent multiple diverging versions of the game from appearing.
12 |
13 | * [SCP Homepage][scp]![][le]
14 | * [SCP Forums][forums]![][le] on Hard Light Productions
15 |
16 | ## Mod
17 |
18 | A Mod (short from **mod**ification) is, as its title suggests, a collection of one or more additions to the original game. While some mods make relatively small changes to the game (like a highly detailed skin for a ship, a new beam graphic or an explosion sound) others can almost be considered TCs, adding a new and original story, new ship models, new characters and settings, providing a new game experience for the player.
19 |
20 | Check the [Mod Database][moddb]![][le] on the [FreeSpace Wiki][fswiki]![][le] for various mods (campaigns, effects, etc.).
21 |
22 | ## TC
23 |
24 | **TC** stands for **T**otal **C**onversion. This implies that all of the content shipped by the TC is original and does not contain any content from the original FreeSpace 2 game. A TC can stand alone and should stand alone from the normal FreeSpace 2 install location and does not require the player to purchase FreeSpace 2 to play.
25 |
26 | Examples of TCs include
27 |
28 | * [The Babylon Project][tbp]![][le] - based on the Babylon 5 universe
29 | * [Wing Commander Saga][wcs]![][le] - based on the Wing Commander universe
30 | * [Diaspora][dia]![][le] - based on the 2004 Battlestar Galactica universe
31 |
32 | Check the [**Total conversions**][tc]![][le] section on the [Hard Light Productions][hl]![][le] website for a more detailed list.
33 |
34 | **Technical note:** The launcher regards FreeSpace 2 as a TC itself.
35 |
36 |
37 | [le]: ../images/le.png
38 | [os]: https://en.wikipedia.org/wiki/Open-source_model
39 | [scp]: http://scp.indiegames.us/
40 | [forums]: http://www.hard-light.net/forums/index.php?board=50.0
41 | [moddb]: http://www.hard-light.net/wiki/index.php/Mod_Database
42 | [fswiki]: http://www.hard-light.net/wiki/index.php/Main_Page
43 | [tbp]: http://babylon.hard-light.net/
44 | [wcs]: http://wcsaga.com/
45 | [dia]: http://diaspora.hard-light.net/
46 | [hl]: http://www.hard-light.net/
47 | [tc]: http://www.hard-light.net/wiki/index.php/Total_conversions
48 |
--------------------------------------------------------------------------------
/onlinehelp/50TechnicalStuff/03privacy.help:
--------------------------------------------------------------------------------
1 |
2 | Privacy: the technical details
3 | #Privacy: the technical details
4 |
5 | As noted in the [FAQ][faq]![][li], besides your IP address, which is sent when making any kind of internet request, no information is ever sent out that could endanger your privacy. Actually, wxLauncher sends nothing more than a simple page request.
6 |
7 | To get the highlights, wxLauncher asks for a [specially crafted page][page]![][le] that returns a list of the current highlights in a custom format. It's like a news feed, but with no HTML or XML, just plain text.
8 |
9 | The result will look similar to this:
10 |
11 | New Blue Planet beam piercing effects by Komet and Wanderer http://www.hard-light.net/forums/index.php?topic= 67663.0 http://www.hard-light.net/images/highlights/generic.png Ker.Soth has released a new mini-campaign for The Babylon Project. http://www.hard-light.net/forums/index.php?topic=67320.0 http://www.hard-light.net/images/highlights/tbp-highlight.png ReeNoiP has released his 9 mission minicampaign Uncharted Territory. http://www.hard-light.net/forums/index.php?topic=67327.0 http://www.hexellent.com/files/42/Uncharted.jpg Slasher puts us into contact with... THE RELIC! http://www.hard-light.net/forums/index.php?topic=67113.0 http://www.hard-light.net/images/highlights/tbp-highlight.png
12 |
13 | From that information, wxLauncher will extract the necessary information to nicely display the HLP highlights for you.
14 |
15 | That's it. A page request, nothing more. Your privacy is safe with us.
16 |
17 | Remember that you can always examine the source code to check for yourself how wxLauncher works.
18 |
19 | [li]: /images/li.png
20 | [le]: /images/le.png
21 | [faq]: /jfaq.help
22 | [page]: http://www.audiozone.ro/hl
23 |
--------------------------------------------------------------------------------
/onlinehelp/50TechnicalStuff/index.help:
--------------------------------------------------------------------------------
1 | Other information
2 |
3 | #Other information
4 |
5 | * [Terminology][term]![][li]
6 | * [Privacy][priv]![][li]
7 |
8 | [li]: /images/li.png
9 | [term]: 02Terminology.help
10 | [priv]: 03privacy.help
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/onlinehelp/ReadMe.txt:
--------------------------------------------------------------------------------
1 | What is this?
2 | =============
3 | This folder contains the Online help for wxLauncher. This online help is for the users and FSO modders. The documentation of the launcher's technical details can be found in the code itself, the /docs folder, the wxLauncher wiki or the doxygen generated help.
4 |
5 | Technical details
6 | =================
7 | The contents of this folder are "source" files that are used to generate the online help for the launcher. The help generated from this "source" is also transformed into a format suitable for the wxLauncher wiki.
8 |
9 | Each folder is the name of a subsection in the table of contents, or optionally the contents of the 'title' tags from the index.help files will be used as the name of the subsection.
10 |
11 | Every .help file will be a page in the help document. index.help will be the default page for each book and subsection of the book. The contents of html tag "title" will be the name of the page in the table of contents. The .help files are assumed to be [1][markdown markup].
12 | [1]: http://daringfireball.net/projects/markdown/syntax
13 |
14 | Note that any links in the html files should be relative such that if you were to open the .help file as an .html document in a browser the link would work. Though because they can be in markdown, the browser may not do anything sensible with them in this case.
15 |
16 | Both html and markdown image links are allowed in the .help source. If the image will be outside of the online help archive, the file is copied to a random name within the archive and the image tag changed so that it will work correctly. For the wiki output the all tags are changed so that they will load correctly on the wiki.
17 |
18 | The online help compiler also recongizes meta tags that have a key "name" with a value of "control". These tags are recongized as anchors from the file for to the control for the context help system. The tag is also required to have key called "content" with a value that is the name of the ID of a control in the launcher proper. When a tag is encountered the help system will generate a link between the control that has an ID by that name.
19 |
20 | NOTE: The correctness of the ID name given is not checked by the complier of the online help. The names given are only checked by the c++ compiler when the interface file is compiled into the launcher itself.
21 | NOTE: The list of valid names is found in ids.h, in the enum WindowIDS.
22 |
--------------------------------------------------------------------------------
/onlinehelp/images/header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/onlinehelp/images/header.png
--------------------------------------------------------------------------------
/onlinehelp/images/le.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/onlinehelp/images/le.png
--------------------------------------------------------------------------------
/onlinehelp/images/li.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/onlinehelp/images/li.png
--------------------------------------------------------------------------------
/onlinehelp/images/readme.txt:
--------------------------------------------------------------------------------
1 | This folder should contain all the images used by the help system
--------------------------------------------------------------------------------
/onlinehelp/index.help:
--------------------------------------------------------------------------------
1 | Welcome
2 |
3 | #Welcome to wxLauncher
4 |
5 | 
6 |
7 |
8 |
9 |
10 | If you want to set up and start playing FreeSpace 2 immediately, [go here][start]![][li].
11 | If you're wondering about other settings, go to [basic][]![][li] or [advanced][]![][li] settings.
12 |
13 | The [FAQ][]![][li] has basic information about wxLauncher.
14 |
15 |
16 |
17 |
18 |
19 |
20 | [FAQ]: jfaq.help
21 |
22 | [li]: images/li.png
23 | [start]: 30Reference/30BasicSettings/01executable.help
24 | [basic]: 30Reference/30BasicSettings/index.help
25 | [advanced]: 30Reference/40AdvancedSettings
--------------------------------------------------------------------------------
/onlinehelp/kauthors.help:
--------------------------------------------------------------------------------
1 | Authors
2 |
3 | # Authors
4 |
5 | People who directly contributed to the project:
6 |
7 | * **Nigel "Iss Mneur" W** - Coding and bug fixing
8 | * **Silviu "kkmic" G** - Design, testing, help system content, and miscellaneous graphics
9 | * **Joshua "jg18" G** - Coding, bug fixing, design, editing, help system content, and OS X support
10 | * **Johanes B "Councilor" Permadi** - Banner image and logo ([http://councilor.deviantart.com/][councilor]![][le])
11 | * **Mike "MjnMixael" Nelson** - Splash image
12 |
13 | The wxLauncher development team would also like to thank:
14 |
15 | * **wxWidgets Team** - for the wxWidgets GUI toolkit ([http://www.wxwidgets.org/][wx]![][le])
16 | * **The FreeSpace 2 Source Code Project (SCP)** - for the wonderful [FSO][]![][li] ([http://scp.indiegames.us/][scp]![][le])
17 | * **Hard Light Productions** - for ideas and support ([http://www.hard-light.net/][hl]![][le])
18 | * **Volition, Inc.** - developer of FreeSpace 2 ([http://www.volition-inc.com/][vl]![][le])
19 | * **Interplay** - publisher of FreeSpace 2 ([http://www.interplay.com/][ip]![][le])
20 |
21 | [councilor]: http://councilor.deviantart.com/
22 | [le]: images/le.png
23 | [li]: images/li.png
24 | [wx]: http://www.wxwidgets.org/
25 | [scp]: http://scp.indiegames.us/
26 | [fso]: 50TechnicalStuff/02Terminology.help
27 | [hl]: http://www.hard-light.net/
28 | [vl]: http://www.volition-inc.com/
29 | [ip]: http://www.interplay.com/
30 |
--------------------------------------------------------------------------------
/onlinehelp/lchanges.help:
--------------------------------------------------------------------------------
1 | Latest changes
2 |
3 | # You are running wxLauncher 0.12.0.
4 |
5 |
6 | # Latest changes
7 |
8 | ## Version 0.10.1
9 |
10 | * **Windows** - Fix the location of the virtualized registry writing
11 |
12 | ## Version 0.10.0
13 |
14 | * **Windows** - No more registry helper
15 | * **Windows** - Support for SDL on Windows antipodes builds
16 | * **All** - Auto saving that actually works
17 |
18 | ## Version 0.9.6
19 |
20 | * Better wxWidgets 3.0 and SDL support
21 |
22 | ## Version 0.9.5
23 |
24 | * Support for multiple versions of wxWidgets
25 |
26 | ## Version 0.9.4
27 |
28 | * **Note:** These changes are based off of v0.9.1, since 0.9.2 and 0.9.3 were special releases for Diaspora
29 | * Mod-customizable features: **(both TCs and mods)**
30 | * Skin system: **(TCs only)**
31 | * Mod list is now sorted alphabetically
32 | * Default image provided for mods that don't include an image of their own
33 | * "Enable EFX" checkbox now appears when the selected playback device supports EFX
34 | * Speech voices are now listed in the correct order
35 | * Connection settings read from profile are now displayed correctly
36 | * "All features on" flag set has been restored
37 | * New splash image (special thanks to mjn.mixael for making this)
38 | * FRED launching can now be toggled with F3
39 | * Faster startup thanks to more efficient mod.ini search
40 | * Assorted bug fixes and text revisions
41 | * **Linux** - RESOURCES_PATH can now be user-specified (special thanks to Firartix for identifying and fixing this)
42 | * **Linux** - cmdline_fso.cfg is now written to ~/.fs2_open/data/ instead of FS2/TC folder
43 |
44 | ## Version 0.9.0
45 |
46 | * A brand new cross-platform launcher, the first ever to run on Windows, Linux, and OS X.
47 | * [Profiles][]![][li].
48 | * The [highlights][]![][li] from [Hard Light Productions][hl]![][le] at your fingertips.
49 | * Mods displayed as a [single list][modmng]![][li].
50 | * Redesigned configuration pages, split into [basic][]![][li] and [advanced][]![][li] settings.
51 | * [Lighting presets][lighting]![][li] for you to try out and adjust to your taste.
52 |
53 | [le]: images/le.png
54 | [li]: images/li.png
55 | [profiles]: 10Introduction/02Profiles.help
56 | [hl]: http://www.hard-light.net/
57 | [highlights]: 30Reference/10Welcome/03news.help
58 | [modmng]: 30Reference/20MODs/index.help
59 | [basic]: 30Reference/30BasicSettings/index.help
60 | [advanced]: 30Reference/40AdvancedSettings/index.help
61 | [lighting]: 30Reference/40AdvancedSettings/021lighting.help
62 | [mod]: 50TechnicalStuff/02Terminology.help
63 | [TC]: 50TechnicalStuff/02Terminology.help
64 |
--------------------------------------------------------------------------------
/platform/freedesktop/wxLauncher.desktop.in:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Version=1.0
3 | Name=wxLauncher
4 | Comment=A wxWidgets based launcher for FreeSpace Open
5 | Exec=@WXLAUNCHER_FILE@
6 | Icon=wxlauncher
7 | Terminal=false
8 | Type=Application
9 | Categories=Utility;Application;
--------------------------------------------------------------------------------
/platform/macosx/wxlauncher.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/platform/macosx/wxlauncher.icns
--------------------------------------------------------------------------------
/platform/win32/installer_header.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/platform/win32/installer_header.bmp
--------------------------------------------------------------------------------
/platform/win32/registry_helper.cpp:
--------------------------------------------------------------------------------
1 | #include "apis/ProfileManager.h"
2 | #include "apis/PlatformProfileManager.h"
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 |
10 | const static wxCmdLineEntryDesc CmdLineOptions[] = {
11 | {wxCMD_LINE_PARAM, NULL, NULL, wxT_2(""), wxCMD_LINE_VAL_STRING, 0},
12 | {wxCMD_LINE_PARAM, NULL, NULL, wxT_2(""), wxCMD_LINE_VAL_STRING, 0},
13 | {wxCMD_LINE_NONE},
14 | };
15 |
16 | /** RegistryHelper is a executable helper for wxLauncher that will allow it to
17 | set the required registry keys on Windows Vista and Windows 7 because they both by
18 | default virtualize the registry so that the use of HKLM it redirected to HKCU.
19 |
20 | Registry Virtualization in Windows Vista
21 |
22 | The executable that this app is compiled into *must* *not* have a UAC manifest
23 | so that Win7 and WinVista will Virtualize its access to HKLM. Not having the
24 | UAC manifest allows us to write into the per user virtual location where FSO
25 | is looking because it also does not have a UAC manifest. This
26 | virtualiszation also allows us to write the cmdline_fso.cfg file to the
27 | correct location (data/cmdline_fso.cfg) if FSO has been installed into Program Files. */
28 | class RegistryHelper : public wxApp {
29 | public:
30 | virtual int OnRun();
31 | virtual void OnInitCmdLine(wxCmdLineParser &parser);
32 | virtual bool OnCmdLineParsed(wxCmdLineParser &parser);
33 | private:
34 | wxFileName file;
35 | enum Operation {
36 | None,
37 | Push,
38 | Pull,
39 | };
40 | Operation op;
41 | };
42 |
43 | IMPLEMENT_APP(RegistryHelper)
44 |
45 | int RegistryHelper::OnRun() {
46 | wxFile stdoutfile(wxFile::fd_stdout);
47 | if ( !file.IsOk() ) {
48 | return ProMan::FileIsNotOK;
49 | }
50 |
51 | wxFileConfig* config;
52 | if (this->op == Push) {
53 | if ( !file.FileExists() ) {
54 | return ProMan::InputFileDoesNotExist;
55 | }
56 | wxFFileInputStream f(file.GetFullPath());
57 | config = new wxFileConfig(f);
58 | } else {
59 | config = new wxFileConfig();
60 | }
61 |
62 | if (this->op == Push) {
63 | return RegistryPushProfile(config);
64 | } else if (this->op == Pull) {
65 | ProMan::RegistryCodes ret;
66 | ret = RegistryPullProfile(config);
67 | if ( ret == ProMan::NoError ) {
68 | wxFFileOutputStream f(file.GetFullPath());
69 | if (config->Save(f)) {
70 | return ProMan::NoError;
71 | } else {
72 | return ProMan::UnknownError;
73 | }
74 | } else {
75 | return ret;
76 | }
77 | } else {
78 | return ProMan::UnknownError;
79 | }
80 | }
81 |
82 | void RegistryHelper::OnInitCmdLine(wxCmdLineParser &parser) {
83 | parser.SetSwitchChars(wxT_2("-")); // always use - even on windows
84 | parser.SetLogo(wxT_2("wxLauncher Registry Tool"));
85 | parser.SetDesc(CmdLineOptions);
86 | }
87 |
88 | bool RegistryHelper::OnCmdLineParsed(wxCmdLineParser &parser) {
89 | wxString operation = parser.GetParam(0).MakeLower();
90 | if (operation.StartsWith(wxT_2("push")) ) {
91 | this->op = Push;
92 | } else if ( operation.StartsWith(wxT_2("pull")) ) {
93 | this->op = Pull;
94 | } else {
95 | parser.Usage();
96 | return false;
97 | }
98 | file.Assign(parser.GetParam(1));
99 | return true;
100 | }
--------------------------------------------------------------------------------
/platform/win32/small.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/platform/win32/small.ico
--------------------------------------------------------------------------------
/platform/win32/wxlauncher.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/platform/win32/wxlauncher.ico
--------------------------------------------------------------------------------
/platform/win32/wxlauncher.rc:
--------------------------------------------------------------------------------
1 | /////////////////////////////////////////////////////////////////////////////
2 | //
3 | // Icon
4 | //
5 |
6 | // Icon with lowest ID value placed first to ensure application icon
7 | // remains consistent on all systems.
8 |
9 | IDI_WXLAUNCHER ICON "wxlauncher.ico"
10 | IDI_SMALL ICON "wxlauncher.ico"
11 |
--------------------------------------------------------------------------------
/resources/SCP_Header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/SCP_Header.png
--------------------------------------------------------------------------------
/resources/helpicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/helpicon.png
--------------------------------------------------------------------------------
/resources/icon_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/icon_error.png
--------------------------------------------------------------------------------
/resources/icon_information.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/icon_information.png
--------------------------------------------------------------------------------
/resources/icon_link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/icon_link.png
--------------------------------------------------------------------------------
/resources/icon_ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/icon_ok.png
--------------------------------------------------------------------------------
/resources/icon_warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/icon_warning.png
--------------------------------------------------------------------------------
/resources/info_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/info_big.png
--------------------------------------------------------------------------------
/resources/info_medium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/info_medium.png
--------------------------------------------------------------------------------
/resources/modimg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/modimg.png
--------------------------------------------------------------------------------
/resources/modimg_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/modimg_small.png
--------------------------------------------------------------------------------
/resources/questionmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/questionmark.png
--------------------------------------------------------------------------------
/resources/recommended.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/recommended.png
--------------------------------------------------------------------------------
/resources/warning_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/warning_big.png
--------------------------------------------------------------------------------
/resources/warning_medium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/warning_medium.png
--------------------------------------------------------------------------------
/resources/wxL_Splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/wxL_Splash.png
--------------------------------------------------------------------------------
/resources/wxlauncher.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/wxlauncher.ico
--------------------------------------------------------------------------------
/resources/wxlauncher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/resources/wxlauncher.png
--------------------------------------------------------------------------------
/scripts/ReadMe.md:
--------------------------------------------------------------------------------
1 | Simple scripts to help with the build of wxLauncher.
2 |
3 | version.cpp.maker.py
4 | ====================
5 | Generates version.cpp. Only requires that the git source code
6 | management tool (git) is in system path.
7 |
8 | onlinehelpmaker.py
9 | ==================
10 | Generates the "online" (linked in with the wxLauncher) help for
11 | wxLauncher. Has several dependencies:
12 |
13 | - [Markdown][markdown] for Python
14 | - [Six][six] a Python 2 and 3 compatibility library
15 |
16 | [markdown]: https://pypi.python.org/pypi/Markdown
17 | [six]: https://pypi.python.org/pypi/six
18 |
--------------------------------------------------------------------------------
/scripts/ci.cmd:
--------------------------------------------------------------------------------
1 | setlocal ENABLEEXTENSIONS
2 |
3 | :contargs
4 | @if "%2"=="" goto doneargs
5 | set %1=%2
6 | @shift
7 | @shift
8 | @goto contargs
9 |
10 | :doneargs
11 |
12 | call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
13 | echo %INCLUDE%
14 | echo %LIB%
15 | echo %LIBPATH%
16 |
17 | if defined WXVER (set ARGWXVER="-DWXVER=%WXVER%")
18 | if defined BUILDTYPE (set ARGBUILDTYPE="-DCMAKE_BUILD_TYPE=%BUILDTYPE%")
19 |
20 | if not defined LIBRARY_PATHS (set LIBRARY_PATHS=C:\libraries\library_paths.cmd)
21 |
22 | if exist %LIBRARY_PATHS% (call %LIBRARY_PATHS%)
23 |
24 | if not exist build (mkdir build)
25 | cd build
26 |
27 | echo.
28 | echo Configuring build
29 | "%CMAKE%" .. -G "NMake Makefiles" %ARGBUILDTYPE% %ARGWXVER% -Donlinehelpmaker_debug=ON
30 | if ERRORLEVEL 1 exit /b %ERRORLEVEL%
31 |
32 | echo.
33 | echo Building
34 | nmake
35 | if ERRORLEVEL 1 exit /b %ERRORLEVEL%
36 |
37 | echo.
38 | echo Making package
39 | nmake package
40 | if ERRORLEVEL 1 exit /b %ERRORLEVEL%
41 |
--------------------------------------------------------------------------------
/scripts/ohm/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/scripts/ohm/__init__.py
--------------------------------------------------------------------------------
/scripts/ohm/dataclasses.py:
--------------------------------------------------------------------------------
1 | class Tag:
2 | def __init__(self, name, attrs, data=None):
3 | self.name = name
4 | self.attributes = attrs
5 | self.data = data
--------------------------------------------------------------------------------
/scripts/ohm/help_parsers/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/scp-fs2open/wxLauncher/a204abbaa8eb0ca3adbd69138dd0554dcfea3d73/scripts/ohm/help_parsers/__init__.py
--------------------------------------------------------------------------------
/scripts/ohm/jobs/__init__.py:
--------------------------------------------------------------------------------
1 | """Internal code that makes the various jobs go"""
2 |
--------------------------------------------------------------------------------
/scripts/onlinehelpmaker.py:
--------------------------------------------------------------------------------
1 | import argparse
2 | import atexit
3 | import logging
4 | import os
5 | import shutil
6 | import sys
7 | import tempfile
8 |
9 | from ohm.utilfunctions import rmtree_error_handler
10 | from ohm.jobs.build import build
11 |
12 | try:
13 | import markdown
14 | except ImportError:
15 | markdown = None
16 | print("ERROR: Unable to import markdown the markup parser.")
17 | print(" Make sure that markdown has been installed")
18 | print(" see the ReadMe.txt for more information")
19 | raise
20 |
21 |
22 | def main(argv):
23 | parser = argparse.ArgumentParser(
24 | description="Build the online help database")
25 | parser.add_argument("-q", "--quiet", action="store_const",
26 | dest="quiet", default=logging.INFO,
27 | const=logging.WARNING,
28 | help="don't print most status messages to stdout")
29 | parser.add_argument("-d", "--debug", action="store_const",
30 | default=logging.INFO, const=logging.DEBUG,
31 | help="print debugging information to the screen")
32 |
33 | type_subparsers = parser.add_subparsers(title='operation')
34 |
35 | bld_ps = type_subparsers.add_parser('build',
36 | help='Assemble help database')
37 | bld_ps.set_defaults(function=build, type="build")
38 | bld_ps.add_argument('outfile', type=os.path.normpath,
39 | help="location to write .htb file to")
40 | bld_ps.add_argument('indir', type=os.path.normcase,
41 | help="path that contains the info to put the OUTFILE")
42 | bld_ps.add_argument("-t", "--temp",
43 | help="directory for intermediate build files"
44 | "(Uses system temp directory by default)",
45 | metavar="TEMPDIR")
46 | bld_ps.add_argument("-c", "--cfile", default=None, dest="carrayfilename",
47 | metavar="FILE",
48 | help="file to put the htb index in (c code)")
49 | bld_ps.add_argument("-a", "--always", action="store_true",
50 | default=False, dest="always_build",
51 | help="builder should always build source files")
52 |
53 | args = parser.parse_args(argv)
54 |
55 | console_format = logging.Formatter(fmt='%(levelname)7s:%(message)s')
56 | console = logging.StreamHandler()
57 | console.setLevel(args.debug)
58 |
59 | console.setFormatter(console_format)
60 | logger = logging.getLogger('')
61 | logger.setLevel(args.debug)
62 | logger.addHandler(console)
63 |
64 | notices_console = logging.StreamHandler()
65 | notices_console.setFormatter(console_format)
66 |
67 | notices_logger = logging.getLogger('notices')
68 | notices_logger.setLevel(args.quiet)
69 | notices_logger.addHandler(notices_console)
70 | notices_logger.propagate = False
71 |
72 | if not args.temp:
73 | logging.info("No working directory set. Creating one in system temp.")
74 | args.temp = tempfile.mkdtemp()
75 |
76 | def cleanup(dir):
77 | if os.path.exists(dir):
78 | shutil.rmtree(args.temp, onerror=rmtree_error_handler)
79 |
80 | atexit.register(cleanup, args.temp)
81 |
82 | if 'function' in args:
83 | return args.function(args)
84 | else:
85 | parser.error("No sub-command selected")
86 |
87 |
88 | def enum_directories(dir):
89 | ret = os.path.dirname(dir).split(os.path.sep)
90 | if len(ret) == 1 and len(ret[0]) == 0:
91 | ret = list()
92 | logging.debug(" Enum directories %s", str(ret))
93 | return ret
94 |
95 |
96 | if __name__ == "__main__":
97 | sys.exit(main(sys.argv[1:]))
98 |
--------------------------------------------------------------------------------
/scripts/version.cpp.maker.py:
--------------------------------------------------------------------------------
1 | import logging
2 | import os.path
3 | import sys
4 |
5 | import argparse
6 |
7 | from ohm.version_file_builder import VersionFileBuilder
8 |
9 |
10 | def main(argv):
11 | parser = argparse.ArgumentParser(
12 | description="Build .cpp using vcs tool for inclusion in application")
13 | parser.add_argument('job', choices=['build', 'rebuild', 'clean'])
14 | parser.add_argument('outfile', type=os.path.normpath,
15 | help="output .cpp file")
16 | parser.add_argument('workfile', type=os.path.normpath,
17 | help="Temp file")
18 | parser.add_argument("--gitpath",
19 | help="name of git executable to work with."
20 | "(default is 'git'",
21 | default='git')
22 |
23 | options = parser.parse_args(argv)
24 |
25 | maker = VersionFileBuilder(options.workfile, options.outfile,
26 | options.gitpath)
27 |
28 | logging.basicConfig(level=logging.INFO)
29 |
30 | if options.job == "build":
31 | maker.build()
32 | else:
33 | parser.error("Invalid JOB type. Use build, rebuild, or clean.")
34 | sys.exit(2)
35 |
36 | sys.exit(0)
37 |
38 |
39 | if __name__ == "__main__":
40 | main(sys.argv[1:])
41 |
--------------------------------------------------------------------------------