From 3c99d84a1a7a22ad474f8a980966a8db6f3c5b73 Mon Sep 17 00:00:00 2001 From: octaspire Date: Mon, 28 Jan 2019 01:34:30 +0200 Subject: [PATCH] Add python script for MSVC build, update and fix some code * Replace Microsoft Windows .bat file for doing Visual Studio 2017 build with a python script. This adds Python 2.7 as a tool dependency in Windows, but it has the benefit, that the user doesn't have to download, extract and set up all the dependencies. The script does everything required to compile Dern, all the plugins and examples using Visual Studio 2017; it downloads all the library headers and libraries, extracts them, copies files, generates few .lib files, and then builds Dern, plugins and examples. * Make rest of the Dern plugins to compile with Visual Studio. * Make some external code to compile with Visual Studio. --- .../octaspire/dern/octaspire_dern_config.h | 4 +- release/how-to-build/windows-msvc.bat | 78 ----- release/how-to-build/windows-msvc.py | 280 ++++++++++++++++++ release/octaspire-dern-amalgamated.c | 4 +- release/plugins/dern_animation.c | 27 ++ release/plugins/dern_chipmunk.c | 123 ++++++++ release/plugins/dern_dir.c | 6 + release/plugins/dern_easing.c | 19 +- release/plugins/dern_nuklear.c | 66 +++++ release/plugins/dern_sdl2.c | 228 ++++++++++++++ release/plugins/dern_sqlite3.c | 12 + .../external/chipmunk/src/cpHastySpace.c | 6 +- .../external/nuklear/nuklear_sdl_gl2.h | 4 + 13 files changed, 771 insertions(+), 86 deletions(-) delete mode 100644 release/how-to-build/windows-msvc.bat create mode 100644 release/how-to-build/windows-msvc.py diff --git a/dev/include/octaspire/dern/octaspire_dern_config.h b/dev/include/octaspire/dern/octaspire_dern_config.h index 096cc5e..6825964 100644 --- a/dev/include/octaspire/dern/octaspire_dern_config.h +++ b/dev/include/octaspire/dern/octaspire_dern_config.h @@ -18,8 +18,8 @@ limitations under the License. #define OCTASPIRE_DERN_CONFIG_H #define OCTASPIRE_DERN_CONFIG_VERSION_MAJOR "0" -#define OCTASPIRE_DERN_CONFIG_VERSION_MINOR "481" -#define OCTASPIRE_DERN_CONFIG_VERSION_PATCH "1" +#define OCTASPIRE_DERN_CONFIG_VERSION_MINOR "482" +#define OCTASPIRE_DERN_CONFIG_VERSION_PATCH "0" #define OCTASPIRE_DERN_CONFIG_VERSION_STR "Octaspire Dern version " \ OCTASPIRE_DERN_CONFIG_VERSION_MAJOR "." \ diff --git a/release/how-to-build/windows-msvc.bat b/release/how-to-build/windows-msvc.bat deleted file mode 100644 index 9c3c367..0000000 --- a/release/how-to-build/windows-msvc.bat +++ /dev/null @@ -1,78 +0,0 @@ -@ECHO OFF - -@ECHO ----------------------------------------------------------------- -@ECHO stand alone unit test runner: -@ECHO ----------------------------------------------------------------- -cl /nologo /W3 /DOCTASPIRE_DERN_AMALGAMATED_UNIT_TEST_IMPLEMENTATION octaspire-dern-amalgamated.c /link /out:octaspire-dern-unit-test-runner.exe -@ECHO. -@ECHO RUN WITH: -@ECHO octaspire-dern-unit-test-runner.exe -@ECHO. -@ECHO BUILD WITH: -@ECHO cl /W3 /DOCTASPIRE_DERN_AMALGAMATED_UNIT_TEST_IMPLEMENTATION octaspire-dern-amalgamated.c /link /out:octaspire-dern-unit-test-runner.exe - - -@ECHO ----------------------------------------------------------------- -@ECHO embedding example -@ECHO ----------------------------------------------------------------- -cl /nologo /W2 /I. /DOCTASPIRE_DERN_CONFIG_BINARY_PLUGINS examples\embedding-example.c /link /out:embedding-example.exe -@ECHO. -@ECHO RUN WITH: -@ECHO embedding-example.exe -@ECHO. -@ECHO BUILD WITH: -@ECHO cl /W2 /I. /DOCTASPIRE_DERN_CONFIG_BINARY_PLUGINS examples\embedding-example.c /link /out:embedding-example.exe - - -@ECHO ----------------------------------------------------------------- -@ECHO interactive Dern REPL: -@ECHO ----------------------------------------------------------------- -cl /nologo /W2 /DOCTASPIRE_DERN_AMALGAMATED_REPL_IMPLEMENTATION /DOCTASPIRE_DERN_CONFIG_BINARY_PLUGINS octaspire-dern-amalgamated.c /link /out:octaspire-dern-repl.exe -@ECHO. -@ECHO RUN WITH: -@ECHO octaspire-dern-repl.exe -@ECHO. -@ECHO BUILD WITH: -@ECHO cl /W2 /DOCTASPIRE_DERN_AMALGAMATED_REPL_IMPLEMENTATION /DOCTASPIRE_DERN_CONFIG_BINARY_PLUGINS octaspire-dern-amalgamated.c /link /out:octaspire-dern-repl.exe - - -@ECHO ----------------------------------------------------------------- -@ECHO binary library example -@ECHO ----------------------------------------------------------------- -cl /nologo /W2 /I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD examples\mylib.c /link /out:libmylib.dll -@ECHO. -@ECHO RUN WITH: -@ECHO octaspire-dern-repl.exe examples\use-mylib.dern -@ECHO. -@ECHO BUILD WITH: -@ECHO cl /W2 /I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD examples\mylib.c /link /out:libmylib.dll - - -@ECHO ----------------------------------------------------------------- -@ECHO Dern socket plugin -@ECHO ----------------------------------------------------------------- -cl /nologo /W2 /I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_socket.c /link ws2_32.lib /out:libdern_socket.dll -@ECHO. -@ECHO RUN WITH: -@ECHO octaspire-dern-repl.exe -I examples examples\irc-client-ncurses.dern -@ECHO octaspire-dern-repl.exe -I examples examples\irc-client-nuklear.dern -@ECHO. -@ECHO BUILD WITH: -@ECHO cl /W2 /I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_socket.c /link ws2_32.lib /out:libdern_socket.dll - - -@ECHO ----------------------------------------------------------------- -@ECHO Dern ncurses plugin -@ECHO ----------------------------------------------------------------- -cl /nologo /W2 /I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_ncurses.c /link pdcurses.lib /out:libdern_ncurses.dll -@ECHO. -@ECHO INSTALL DEPENDENCIES LIKE THIS: -@ECHO 1. Go to https://pdcurses.sourceforge.io -@ECHO 2. Download file 'pdc34dllw.zip' into 'release'-directory -@ECHO 3. Run command: unzip pdc34dllw.zip -@ECHO. -@ECHO RUN WITH: -@ECHO octaspire-dern-repl.exe examples\dern-ncurses-example.dern -@ECHO. -@ECHO BUILD WITH: -@ECHO cl /nologo /W2 /I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_ncurses.c /link pdcurses.lib /out:libdern_ncurses.dll diff --git a/release/how-to-build/windows-msvc.py b/release/how-to-build/windows-msvc.py new file mode 100644 index 0000000..5178466 --- /dev/null +++ b/release/how-to-build/windows-msvc.py @@ -0,0 +1,280 @@ +############################################################################### +# Copyright 2017 - 2019 www.octaspire.com # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +# --------------------------------------------------------------------------- # +# This python program is tested with Python 2.7.15 in Microsoft Windows 10. # +# # +# It first downloads, extracts and sets up all dependencies for building # +# Octaspire Dern and all the plugins and examples in Windows. Then it builds # +# Octaspire Dern and all the plugins and examples. # +# # +# Required software: Python 2.7, git and Visual Studio 2017 # +# (community edition). # +# # +# Usage: 1. Start 'Developer Command Prompt for VS 2017'. # +# 2. git clone https://github.com/octaspire/dern.git # +# 3. cd dern\release # +# 4. python how-to-build\windows-msvc.py # +############################################################################### +import getopt +import os +import re +import shutil +import sys +import urllib +import zipfile + +############################################################################### +# Helper functions # +############################################################################### +def octaspire_copydir(p): + sourceFiles = os.listdir(p) + for f in sourceFiles: + shutil.copy(p + '/' + f, '.') + +def octaspire_depend(prefix, f, dirName, copyFromPath): + print('- Dependency {}'.format(dirName)) + if not os.path.isfile(f): + print('\tDownloading {}'.format(f)) + urllib.urlretrieve(prefix + f, f) + if not os.path.isdir(dirName): + print('\tExtracting {}'.format(f)) + zip_file = zipfile.ZipFile(f, 'r') + zip_file.extractall() + zip_file.close() + if len(copyFromPath) > 0: + print('\tCopying from {}'.format(copyFromPath)) + octaspire_copydir(copyFromPath) + print('') + +def octaspire_depend_sourceforge(url, f, dirName, copyFromPath): + print('- Dependency {}'.format(dirName)) + if not os.path.isfile(f): + print('\tDownloading {}'.format(f)) + urllib.urlretrieve(url, f) + if not os.path.isdir(dirName): + print('\tExtracting {}'.format(f)) + zip_file = zipfile.ZipFile(f, 'r') + zip_file.extractall(dirName) + zip_file.close() + if len(copyFromPath) > 0: + print('\tCopying from {}'.format(copyFromPath)) + octaspire_copydir(copyFromPath) + print('') + +def octaspire_build(resultName, desc, buildCommand, *runExamples): + print('- Building {}\n\t {}'.format(resultName, desc)) + print('-----------------------------------------------------') + os.system(buildCommand) + print('-----------------------------------------------------') + if not os.path.isfile(resultName): + print('\t ERROR {} FAILED TO BUILD'.format(resultName)) + sys.exit(1) + for a in runExamples: + print(' Run or test like this: {}'.format(a)) + print('') + +def octaspire_create_lib_file(dllFileName): + defFileName = dllFileName.replace('.dll', '.def') + tmpFileName = dllFileName.replace('.dll', '.tmp') + libFileName = dllFileName.replace('.dll', '.lib') + print('- Generating .lib for {}'.format(dllFileName)) + print('-----------------------------------------------------') + os.system('dumpbin /exports {} /OUT:{}'.format(dllFileName, tmpFileName)) + ordinalSeen = False + defFile = open(defFileName, 'w') + defFile.write('EXPORTS\n') + for line in open(tmpFileName): + if ordinalSeen: + if 'Summary' in line: + break + else: + columns = line.split() + if len(columns) >= 4: + defFile.write('{}\n'.format(columns[3])) + elif re.match(r'.*ordinal.*hint.*RVA.*name.*', line): + ordinalSeen = True + defFile.close() + os.system('lib /def:{} /OUT:{}'.format(defFileName, libFileName)) + print('-----------------------------------------------------') + +def octaspire_usage(): + print('\nUsage: python {} [OPTION]\n'.format(os.path.basename(__file__))) + print('where optional options are:') + print('-g - Build with Debug information.') + print('-h - Show help and exit.') + +############################################################################### +# main function # +############################################################################### +def main(argv): + cl = 'cl /nologo /W2 ' + cflags = '/DOCTASPIRE_DERN_CONFIG_BINARY_PLUGINS ' + cflagsChipmunk = '/DNDEBUG ' + try: + opts, args = getopt.getopt(argv, 'g') + except getopt.GetoptError: + octaspire_usage() + sys.exit(1) + for opt, arg in opts: + if opt == '-g': + cflags += '/DEBUG /Z7 ' + cflagsChipmunk = '' + print('- Building in debug configuration.\n') + elif opt == '-h': + octaspire_usage() + sys.exit(0) + ########################################################################### + # Get dependencies and create .lib files # + ########################################################################### + # Get dependency: PDCurses library + octaspire_depend_sourceforge( + 'https://sourceforge.net/projects/pdcurses/files/pdcurses/3.4/pdc34dllw.zip/download', + 'pdc34dllw.zip', + 'pdc34dllw', + 'pdc34dllw') + # Get dependency: SDL2 + octaspire_depend( + 'https://www.libsdl.org/release/', + 'SDL2-devel-2.0.9-VC.zip', + 'SDL2-2.0.9', + 'SDL2-2.0.9/lib/x86/') + # Get dependency: SDL2_ttf libraries + octaspire_depend( + 'https://www.libsdl.org/projects/SDL_ttf/release/', + 'SDL2_ttf-2.0.14-win32-x86.zip', + 'SDL2_ttf-2.0.14-win32-x86', + '') + octaspire_create_lib_file('SDL2_image.dll') + octaspire_create_lib_file('SDL2_mixer.dll') + octaspire_create_lib_file('SDL2_ttf.dll') + # Get dependency: SDL2_ttf headers + octaspire_depend( + 'https://www.libsdl.org/projects/SDL_ttf/release/', + 'SDL2_ttf-2.0.14.zip', + 'SDL2_ttf-2.0.14', + '') + # Get dependency: SDL2_mixer libraries + octaspire_depend( + 'https://www.libsdl.org/projects/SDL_mixer/release/', + 'SDL2_mixer-2.0.4-win32-x86.zip', + 'SDL2_mixer-2.0.4-win32-x86', + '') + # Get dependency: SDL2_mixer headers + octaspire_depend( + 'https://www.libsdl.org/projects/SDL_mixer/release/', + 'SDL2_mixer-2.0.4.zip', + 'SDL2_mixer-2.0.4', + '') + # Get dependency: SDL2_image libraries + octaspire_depend( + 'https://www.libsdl.org/projects/SDL_image/release/', + 'SDL2_image-2.0.4-win32-x86.zip', + 'SDL2_image-2.0.4-win32-x86', + '') + # Get dependency: SDL2_image headers + octaspire_depend( + 'https://www.libsdl.org/projects/SDL_image/release/', + 'SDL2_image-2.0.4.zip', + 'SDL2_image-2.0.4', + '') + ########################################################################### + # Build programs, plugins and examples # + ########################################################################### + # Build Unit test runner + octaspire_build( + 'octaspire-dern-unit-test-runner.exe', + 'stand alone unit test runner', + cl + cflags + '/DOCTASPIRE_DERN_AMALGAMATED_UNIT_TEST_IMPLEMENTATION octaspire-dern-amalgamated.c /link /out:octaspire-dern-unit-test-runner.exe', + 'octaspire-dern-unit-test-runner.exe') + # Build interactive Dern REPL + octaspire_build( + 'octaspire-dern-repl.exe', + 'interactive Dern REPL', + cl + cflags + '/DOCTASPIRE_DERN_AMALGAMATED_REPL_IMPLEMENTATION octaspire-dern-amalgamated.c /link /out:octaspire-dern-repl.exe', + 'octaspire-dern-repl.exe') + # Build Dern ncurses plugin + octaspire_build( + 'libdern_ncurses.dll', + 'Dern ncurses plugin (uses pdcurses)', + cl + cflags + '/I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_ncurses.c /link pdcurses.lib /out:libdern_ncurses.dll', + 'octaspire-dern-repl.exe examples\dern-ncurses-example.dern') + # Build Dern SDL2 plugin + octaspire_build( + 'libdern_sdl2.dll', + 'Dern SDL2 plugin (uses SDL2, SDL2_image, SDL2_mixer and SDL2_ttf)', + cl + cflags + '/I. /ISDL2-2.0.9\include /ISDL2_image-2.0.4 /ISDL2_mixer-2.0.4 /ISDL2_ttf-2.0.14 /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /DOCTASPIRE_DERN_SDL2_PLUGIN_USE_OPENGL2_LIBRARY /DOCTASPIRE_DERN_SDL2_PLUGIN_USE_SDL_IMAGE_LIBRARY /DOCTASPIRE_DERN_SDL2_PLUGIN_USE_SDL_MIXER_LIBRARY /DOCTASPIRE_DERN_SDL2_PLUGIN_USE_SDL_TTF_LIBRARY /Dmain=SDL_main /LD plugins\dern_sdl2.c /link SDL2.lib SDL2_mixer.lib SDL2_ttf.lib SDL2_image.lib opengl32.lib glu32.lib /out:libdern_sdl2.dll', + 'octaspire-dern-repl.exe examples\dern-sdl2-example.dern') + # Build Dern Nuklear plugin + octaspire_build( + 'libdern_nuklear.dll', + 'Dern Nuklear plugin', + cl + cflags + '/I. /Iplugins/external/nuklear /ISDL2-2.0.9\include /ISDL2_image-2.0.4 /ISDL2_mixer-2.0.4 /ISDL2_ttf-2.0.14 /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /DOCTASPIRE_DERN_SDL2_PLUGIN_USE_OPENGL2_LIBRARY /DOCTASPIRE_DERN_SDL2_PLUGIN_USE_SDL_IMAGE_LIBRARY /DOCTASPIRE_DERN_SDL2_PLUGIN_USE_SDL_MIXER_LIBRARY /DOCTASPIRE_DERN_SDL2_PLUGIN_USE_SDL_TTF_LIBRARY /LD plugins\dern_nuklear.c /link SDL2.lib SDL2_mixer.lib SDL2_ttf.lib SDL2_image.lib opengl32.lib glu32.lib /out:libdern_nuklear.dll', + 'octaspire-dern-repl.exe examples\dern-nuklear-example.dern') + # Build Dern socket plugin + octaspire_build( + 'libdern_socket.dll', + 'Dern socket plugin', + cl + cflags + '/I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_socket.c /link ws2_32.lib /out:libdern_socket.dll', + 'octaspire-dern-repl.exe -I examples examples\irc-client-ncurses.dern', + 'octaspire-dern-repl.exe -I examples examples\irc-client-nuklear.dern') + # Build Dern easing plugin + octaspire_build( + 'libdern_easing.dll', + 'Dern easing plugin', + cl + cflags + '/I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_easing.c /link /out:libdern_easing.dll', + 'octaspire-dern-repl.exe examples\dern-easing-example.dern') + # Build Dern animation plugin + octaspire_build( + 'libdern_animation.dll', + 'Dern animation plugin', + cl + cflags + '/I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_animation.c /link /out:libdern_animation.dll', + 'octaspire-dern-repl.exe examples\dern-animation-example.dern') + # Build Dern dir plugin + octaspire_build( + 'libdern_dir.dll', + 'Dern directory plugin', + cl + cflags + '/W2 /I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_dir.c /link /out:libdern_dir.dll', + 'octaspire-dern-repl.exe examples\dern-dir-example.dern') + print('Building Chipmunk library...') + os.system(cl + cflagsChipmunk + '/Iplugins/external/chipmunk/include /Iplugins/external/chipmunk/include/chipmunk /LD plugins/external/chipmunk/src/*.c /link /out:libchipmunk.dll') + # Build Dern chipmunk plugin + octaspire_build( + 'libdern_chipmunk.dll', + 'Dern chipmunk plugin', + cl + cflags + '/I. /Iplugins/external/chipmunk/include/ /Iplugins/external/chipmunk/include/chipmunk /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\dern_chipmunk.c plugins\external\sqlite3\sqlite3.c /link chipmunk.lib /out:libdern_chipmunk.dll', + 'octaspire-dern-repl.exe examples\dern-chipmunk-example.dern') + #print('Compiling SQLite3...') + #os.system(cl + cflags + '/Iplugins/external/sqlite3 plugins/external/sqlite3/sqlite3.c') + # Build Dern SQLite3 plugin + octaspire_build( + 'libdern_sqlite3.dll', + 'Dern SQLite3 plugin', + cl + cflags + '/I. /Iplugins/external/sqlite3/ /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD plugins\external\sqlite3\sqlite3.c plugins\dern_sqlite3.c /link /out:libdern_sqlite3.dll', + 'octaspire-dern-repl.exe examples\dern-sqlite3-example.dern') + # Build embedding example + octaspire_build( + 'embedding-example.exe', + 'embedding example', + cl + cflags + '/I. /DOCTASPIRE_DERN_CONFIG_BINARY_PLUGINS examples\embedding-example.c /link /out:embedding-example.exe', + 'embedding-example.exe') + # Build binary library example + octaspire_build( + 'libmylib.dll', + 'binary library example', + cl + cflags + '/I. /DOCTASPIRE_DERN_AMALGAMATED_IMPLEMENTATION /LD examples\mylib.c /link /out:libmylib.dll', + 'octaspire-dern-repl.exe examples\use-mylib.dern') + +if __name__ == '__main__': + main(sys.argv[1:]) diff --git a/release/octaspire-dern-amalgamated.c b/release/octaspire-dern-amalgamated.c index f602cfa..e314604 100644 --- a/release/octaspire-dern-amalgamated.c +++ b/release/octaspire-dern-amalgamated.c @@ -26336,8 +26336,8 @@ limitations under the License. #define OCTASPIRE_DERN_CONFIG_H #define OCTASPIRE_DERN_CONFIG_VERSION_MAJOR "0" -#define OCTASPIRE_DERN_CONFIG_VERSION_MINOR "481" -#define OCTASPIRE_DERN_CONFIG_VERSION_PATCH "1" +#define OCTASPIRE_DERN_CONFIG_VERSION_MINOR "482" +#define OCTASPIRE_DERN_CONFIG_VERSION_PATCH "0" #define OCTASPIRE_DERN_CONFIG_VERSION_STR "Octaspire Dern version " \ OCTASPIRE_DERN_CONFIG_VERSION_MAJOR "." \ diff --git a/release/plugins/dern_animation.c b/release/plugins/dern_animation.c index f789d6d..3800d5c 100644 --- a/release/plugins/dern_animation.c +++ b/release/plugins/dern_animation.c @@ -125,6 +125,9 @@ bool octaspire_dern_animation_is_playing(octaspire_dern_animation_t const * cons static octaspire_map_t * dern_animation_private_animations = 0; static octaspire_string_t * dern_animation_private_lib_name = 0; +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_animation_add( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -375,6 +378,9 @@ octaspire_dern_value_t *dern_animation_add( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_animation_remove( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -438,6 +444,9 @@ octaspire_dern_value_t *dern_animation_remove( return octaspire_dern_vm_create_new_value_integer(vm, numRemoved); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_animation_loop( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -530,6 +539,9 @@ octaspire_dern_value_t *dern_animation_loop( return octaspire_dern_vm_create_new_value_integer(vm, loopCount); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_animation_playing( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -624,6 +636,9 @@ octaspire_dern_value_t *dern_animation_playing( return octaspire_dern_vm_create_new_value_boolean(vm, isPlaying); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_animation_update( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -731,6 +746,9 @@ octaspire_dern_value_t *dern_animation_update( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_animation_has_any( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -756,6 +774,9 @@ octaspire_dern_value_t *dern_animation_has_any( !octaspire_map_is_empty(dern_animation_private_animations)); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_animation_init( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv, @@ -861,6 +882,9 @@ bool dern_animation_init( return true; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_animation_mark_all( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv) @@ -893,6 +917,9 @@ bool dern_animation_mark_all( return true; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_animation_clean( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv) diff --git a/release/plugins/dern_chipmunk.c b/release/plugins/dern_chipmunk.c index a1af433..eb9bbff 100644 --- a/release/plugins/dern_chipmunk.c +++ b/release/plugins/dern_chipmunk.c @@ -197,6 +197,9 @@ dern_chipmunk_new_cpVect_c_data_or_unpushed_error( return result; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceNew( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -251,6 +254,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceNew( space); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyNew( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -325,6 +331,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyNew( body); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyNewStatic( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -367,6 +376,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyNewStatic( body); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyNewKinematic( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -409,6 +421,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyNewKinematic( body); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpCircleShapeNew( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -525,6 +540,9 @@ octaspire_dern_value_t *dern_chipmunk_cpCircleShapeNew( shape); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBoxShapeNew( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -652,6 +670,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBoxShapeNew( shape); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSegmentShapeNew( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -792,6 +813,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSegmentShapeNew( shape); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpShapeSetFriction( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -869,6 +893,9 @@ octaspire_dern_value_t *dern_chipmunk_cpShapeSetFriction( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceSetGravity( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -950,6 +977,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceSetGravity( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceReindexStatic( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1005,6 +1035,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceReindexStatic( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceGetGravity( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1072,6 +1105,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceGetGravity( return result.cData; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceGetStaticBody( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1138,6 +1174,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceGetStaticBody( cpSpaceGetStaticBody(space)); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyGetVelocity( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1207,6 +1246,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyGetVelocity( return result.cData; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyGetType( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1287,6 +1329,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyGetType( } } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodySetVelocity( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1370,6 +1415,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodySetVelocity( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodySetAngularVelocity( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1445,6 +1493,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodySetAngularVelocity( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodySetPosition( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1525,6 +1576,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodySetPosition( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyGetAngle( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1577,6 +1631,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyGetAngle( return octaspire_dern_vm_create_new_value_real(vm, angle); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyGetPosition( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1644,6 +1701,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyGetPosition( return result.cData; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyApplyImpulseAtLocalPoint( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1748,6 +1808,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyApplyImpulseAtLocalPoint( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyApplyImpulseAtWorldPoint( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1852,6 +1915,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyApplyImpulseAtWorldPoint( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyApplyForceAtLocalPoint( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1956,6 +2022,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyApplyForceAtLocalPoint( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpBodyApplyForceAtWorldPoint( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2060,6 +2129,9 @@ octaspire_dern_value_t *dern_chipmunk_cpBodyApplyForceAtWorldPoint( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceStep( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2131,6 +2203,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceStep( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceAddBody( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2204,6 +2279,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceAddBody( return cDataOrError.cData; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceAddShape( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2277,6 +2355,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceAddShape( return cDataOrError.cData; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_chipmunk_private_do_wildcard_callback( cpArbiter * arb, cpSpace * space, @@ -2424,6 +2505,9 @@ void dern_chipmunk_private_do_wildcard_callback( stackLength == octaspire_dern_vm_get_stack_length(context->vm)); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_chipmunk_private_wildcard_post_solve_handler( cpArbiter * arb, cpSpace * space, @@ -2443,6 +2527,9 @@ void dern_chipmunk_private_wildcard_post_solve_handler( stackLength == octaspire_dern_vm_get_stack_length(context->vm)); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_chipmunk_private_wildcard_separate_handler( cpArbiter * arb, cpSpace * space, @@ -2462,6 +2549,9 @@ void dern_chipmunk_private_wildcard_separate_handler( stackLength == octaspire_dern_vm_get_stack_length(context->vm)); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceAddWildCardHandler( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2601,6 +2691,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceAddWildCardHandler( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_removeWildCardHandlers( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2638,6 +2731,9 @@ octaspire_dern_value_t *dern_chipmunk_removeWildCardHandlers( dern_chipmunk_private_collision_wildcard_contexts)); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceRemoveBody( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2714,6 +2810,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceRemoveBody( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpSpaceContainsBody( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2790,6 +2889,9 @@ octaspire_dern_value_t *dern_chipmunk_cpSpaceContainsBody( cpSpaceContainsBody(space, body)); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpv( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2876,6 +2978,9 @@ octaspire_dern_value_t *dern_chipmunk_cpv( return result.cData; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpv_get_x( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2934,6 +3039,9 @@ octaspire_dern_value_t *dern_chipmunk_cpv_get_x( return octaspire_dern_vm_create_new_value_real(vm, vect->x); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_chipmunk_cpv_get_y( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2992,6 +3100,9 @@ octaspire_dern_value_t *dern_chipmunk_cpv_get_y( return octaspire_dern_vm_create_new_value_real(vm, vect->y); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_chipmunk_init( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv, @@ -4076,6 +4187,9 @@ bool dern_chipmunk_init( return true; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void * dern_chipmunk_to_string( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv, @@ -4160,6 +4274,9 @@ void * dern_chipmunk_to_string( } } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void * dern_chipmunk_compare( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv, @@ -4240,6 +4357,9 @@ void * dern_chipmunk_compare( } } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_chipmunk_mark_all( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv) @@ -4269,6 +4389,9 @@ bool dern_chipmunk_mark_all( return true; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_chipmunk_clean( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv) diff --git a/release/plugins/dern_dir.c b/release/plugins/dern_dir.c index fcdd7d5..1805b69 100644 --- a/release/plugins/dern_dir.c +++ b/release/plugins/dern_dir.c @@ -31,6 +31,9 @@ limitations under the License. #endif #endif +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_dir_get_listing( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -217,6 +220,9 @@ octaspire_dern_value_t *dern_dir_get_listing( return result; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_dir_init( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv, diff --git a/release/plugins/dern_easing.c b/release/plugins/dern_easing.c index 33b3a34..eacfcf8 100644 --- a/release/plugins/dern_easing.c +++ b/release/plugins/dern_easing.c @@ -613,7 +613,9 @@ octaspire_dern_ease_t; static octaspire_vector_t * dern_easing_private_easings = 0; - +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_easing_add( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2217,6 +2219,9 @@ octaspire_dern_value_t *dern_easing_add( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_easing_update( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2536,6 +2541,9 @@ octaspire_dern_value_t *dern_easing_update( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_easing_has_any( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2561,6 +2569,9 @@ octaspire_dern_value_t *dern_easing_has_any( !octaspire_vector_is_empty(dern_easing_private_easings)); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_easing_init( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv, @@ -2620,6 +2631,9 @@ bool dern_easing_init( return true; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_easing_mark_all( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv) @@ -2643,6 +2657,9 @@ bool dern_easing_mark_all( return true; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_easing_clean( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv) diff --git a/release/plugins/dern_nuklear.c b/release/plugins/dern_nuklear.c index c6ce78e..6ef6093 100644 --- a/release/plugins/dern_nuklear.c +++ b/release/plugins/dern_nuklear.c @@ -53,6 +53,9 @@ void dern_nuklear_nk_color_clean_up_callback(void *payload) octaspire_allocator_free(allocator, context); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_sdl_init( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -128,6 +131,9 @@ octaspire_dern_value_t *dern_nuklear_sdl_init( ctx); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_begin( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -286,6 +292,9 @@ octaspire_dern_value_t *dern_nuklear_begin( return octaspire_dern_vm_create_new_value_boolean(vm, result); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_label( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -447,6 +456,9 @@ octaspire_dern_value_t *dern_nuklear_label( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_label_wrap( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -561,6 +573,9 @@ octaspire_dern_value_t *dern_nuklear_label_wrap( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_button_label( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -642,6 +657,9 @@ octaspire_dern_value_t *dern_nuklear_button_label( return octaspire_dern_vm_create_new_value_boolean(vm, result); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_checkbox_label( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -747,6 +765,9 @@ octaspire_dern_value_t *dern_nuklear_checkbox_label( return octaspire_dern_vm_create_new_value_boolean(vm, result); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_slider_int( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -885,6 +906,9 @@ octaspire_dern_value_t *dern_nuklear_slider_int( return octaspire_dern_vm_create_new_value_boolean(vm, result); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_slider_float( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1023,6 +1047,9 @@ octaspire_dern_value_t *dern_nuklear_slider_float( return octaspire_dern_vm_create_new_value_boolean(vm, result); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_option_label( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1149,6 +1176,9 @@ octaspire_dern_value_t *dern_nuklear_option_label( return octaspire_dern_vm_create_new_value_boolean(vm, result); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_edit_string( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1424,6 +1454,9 @@ octaspire_dern_value_t *dern_nuklear_edit_string( return octaspire_dern_vm_create_new_value_string(vm, result); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_edit_focus( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1510,6 +1543,9 @@ octaspire_dern_value_t *dern_nuklear_edit_focus( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_progress( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1631,6 +1667,9 @@ octaspire_dern_value_t *dern_nuklear_progress( (int32_t)current); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_layout_row_dynamic( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1727,6 +1766,9 @@ octaspire_dern_value_t *dern_nuklear_layout_row_dynamic( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_layout_row_static( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1841,6 +1883,9 @@ octaspire_dern_value_t *dern_nuklear_layout_row_static( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_layout_row( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2030,6 +2075,9 @@ octaspire_dern_value_t *dern_nuklear_layout_row( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_end( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2089,6 +2137,9 @@ octaspire_dern_value_t *dern_nuklear_end( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_input_begin( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2148,6 +2199,9 @@ octaspire_dern_value_t *dern_nuklear_input_begin( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_sdl_handle_event( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2233,6 +2287,9 @@ octaspire_dern_value_t *dern_nuklear_sdl_handle_event( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_input_end( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2292,6 +2349,9 @@ octaspire_dern_value_t *dern_nuklear_input_end( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_sdl_render( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2328,6 +2388,9 @@ octaspire_dern_value_t *dern_nuklear_sdl_render( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_nuklear_rgba( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2438,6 +2501,9 @@ octaspire_dern_value_t *dern_nuklear_rgba( context); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_nuklear_init( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv, diff --git a/release/plugins/dern_sdl2.c b/release/plugins/dern_sdl2.c index 8b7f7aa..df500c9 100644 --- a/release/plugins/dern_sdl2.c +++ b/release/plugins/dern_sdl2.c @@ -898,6 +898,9 @@ void dern_sdl2_clean_up_resources() octaspire_vector_clear(dern_sdl2_private_controllers); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_sdl2_window_clean_up_callback(void *payload) { octaspire_helpers_verify_not_null(payload); @@ -905,6 +908,9 @@ void dern_sdl2_window_clean_up_callback(void *payload) SDL_DestroyWindow((SDL_Window*)payload); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_sdl2_event_clean_up_callback(void *payload) { octaspire_helpers_verify_not_null(payload); @@ -919,6 +925,9 @@ void dern_sdl2_event_clean_up_callback(void *payload) octaspire_allocator_free(allocator, context); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_sdl2_renderer_clean_up_callback(void *payload) { octaspire_helpers_verify_not_null(payload); @@ -1011,6 +1020,9 @@ static Mix_Chunk * dern_sdl2_private_helper_uid_to_sound( } #endif +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_sdl2_texture_clean_up_callback(void *payload) { octaspire_helpers_verify_not_null(payload); @@ -1032,6 +1044,9 @@ void dern_sdl2_texture_clean_up_callback(void *payload) } #ifdef OCTASPIRE_DERN_SDL2_PLUGIN_USE_SDL_TTF_LIBRARY +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_sdl2_font_clean_up_callback(void *payload) { octaspire_helpers_verify_not_null(payload); @@ -1057,6 +1072,9 @@ void dern_sdl2_font_clean_up_callback(void *payload) #endif #ifdef OCTASPIRE_DERN_SDL2_PLUGIN_USE_SDL_MIXER_LIBRARY +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_sdl2_music_clean_up_callback(void *payload) { octaspire_helpers_verify_not_null(payload); @@ -1079,6 +1097,9 @@ void dern_sdl2_music_clean_up_callback(void *payload) #endif #ifdef OCTASPIRE_DERN_SDL2_PLUGIN_USE_SDL_MIXER_LIBRARY +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif void dern_sdl2_sound_clean_up_callback(void *payload) { octaspire_helpers_verify_not_null(payload); @@ -1100,6 +1121,9 @@ void dern_sdl2_sound_clean_up_callback(void *payload) } #endif +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_Init( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1344,6 +1368,9 @@ octaspire_dern_value_t *dern_sdl2_Init( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_GetTicks( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1372,6 +1399,9 @@ octaspire_dern_value_t *dern_sdl2_GetTicks( SDL_GetTicks()); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_TimerUpdate( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1401,6 +1431,9 @@ octaspire_dern_value_t *dern_sdl2_TimerUpdate( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_TimerReset( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1430,6 +1463,9 @@ octaspire_dern_value_t *dern_sdl2_TimerReset( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_TimerGetSeconds( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1458,6 +1494,9 @@ octaspire_dern_value_t *dern_sdl2_TimerGetSeconds( octaspire_sdl2_timer_get_seconds(dern_sdl2_private_timer)); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_Delay( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1511,6 +1550,9 @@ octaspire_dern_value_t *dern_sdl2_Delay( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_PollEvent( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1807,6 +1849,9 @@ octaspire_dern_value_t *dern_sdl2_PollEvent( } } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_GetModState( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -1922,6 +1967,9 @@ octaspire_dern_value_t *dern_sdl2_GetModState( return result; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_CreateTexture( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2188,6 +2236,9 @@ octaspire_dern_value_t *dern_sdl2_CreateTexture( (void*)dern_sdl2_private_next_free_texture_uid); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_QueryTexture( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2335,6 +2386,9 @@ static SDL_Color octaspire_dern_sdl2_helpers_c_string_to_sdl_color( } #endif +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_CreateTextureFromFontAndText( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2551,6 +2605,9 @@ octaspire_dern_value_t *dern_sdl2_CreateTextureFromFontAndText( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_CreateSound( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2695,6 +2752,9 @@ octaspire_dern_value_t *dern_sdl2_CreateSound( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_CreateMusic( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2839,6 +2899,9 @@ octaspire_dern_value_t *dern_sdl2_CreateMusic( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_PlayMusic( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -2967,6 +3030,9 @@ octaspire_dern_value_t *dern_sdl2_PlayMusic( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_PlaySound( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -3094,6 +3160,9 @@ octaspire_dern_value_t *dern_sdl2_PlaySound( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_CreateWindow( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -3436,6 +3505,9 @@ octaspire_dern_value_t *dern_sdl2_CreateWindow( window); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_CreateFont( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -3597,6 +3669,9 @@ octaspire_dern_value_t *dern_sdl2_CreateFont( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_CreateRenderer( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -3753,6 +3828,9 @@ octaspire_dern_value_t *dern_sdl2_CreateRenderer( renderer); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_RenderClear( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -3820,6 +3898,9 @@ octaspire_dern_value_t *dern_sdl2_RenderClear( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_RenderPresent( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -3880,6 +3961,9 @@ octaspire_dern_value_t *dern_sdl2_RenderPresent( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_GL_SwapWindow( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -3947,6 +4031,9 @@ octaspire_dern_value_t *dern_sdl2_GL_SwapWindow( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glColor4ub( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4107,6 +4194,9 @@ octaspire_dern_value_t *dern_sdl2_glColor4ub( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glClearColor( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4223,6 +4313,9 @@ octaspire_dern_value_t *dern_sdl2_glClearColor( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glReadPixel( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4323,6 +4416,9 @@ octaspire_dern_value_t *dern_sdl2_glReadPixel( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glClear( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4357,6 +4453,9 @@ octaspire_dern_value_t *dern_sdl2_glClear( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glPushMatrix( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4391,6 +4490,9 @@ octaspire_dern_value_t *dern_sdl2_glPushMatrix( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glPopMatrix( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4425,6 +4527,9 @@ octaspire_dern_value_t *dern_sdl2_glPopMatrix( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glLoadIdentity( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4459,6 +4564,9 @@ octaspire_dern_value_t *dern_sdl2_glLoadIdentity( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glTranslatef( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4555,6 +4663,9 @@ octaspire_dern_value_t *dern_sdl2_glTranslatef( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gluLookAt( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4617,6 +4728,9 @@ octaspire_dern_value_t *dern_sdl2_gluLookAt( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gl_screen_to_world( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4778,6 +4892,9 @@ octaspire_dern_value_t *dern_sdl2_gl_screen_to_world( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gluPerspective( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -4894,6 +5011,9 @@ octaspire_dern_value_t *dern_sdl2_gluPerspective( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glViewport( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5010,6 +5130,9 @@ octaspire_dern_value_t *dern_sdl2_glViewport( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glClearDepth( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5066,6 +5189,9 @@ octaspire_dern_value_t *dern_sdl2_glClearDepth( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glRotatef( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5182,6 +5308,9 @@ octaspire_dern_value_t *dern_sdl2_glRotatef( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glVertex3( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5278,6 +5407,9 @@ octaspire_dern_value_t *dern_sdl2_glVertex3( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glTexCoord2f( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5355,6 +5487,9 @@ octaspire_dern_value_t *dern_sdl2_glTexCoord2f( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gl_ortho_enter( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5431,6 +5566,9 @@ octaspire_dern_value_t *dern_sdl2_gl_ortho_enter( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gl_ortho_line_smooth_enable( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5497,6 +5635,9 @@ octaspire_dern_value_t *dern_sdl2_gl_ortho_line_smooth_enable( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gl_ortho_circle( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5576,6 +5717,9 @@ octaspire_dern_value_t *dern_sdl2_gl_ortho_circle( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gl_ortho_circle_rotated( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5669,6 +5813,9 @@ octaspire_dern_value_t *dern_sdl2_gl_ortho_circle_rotated( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gl_ortho_square_box_rotated( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5763,6 +5910,9 @@ octaspire_dern_value_t *dern_sdl2_gl_ortho_square_box_rotated( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gl_ortho_star_rotated( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5854,6 +6004,9 @@ octaspire_dern_value_t *dern_sdl2_gl_ortho_star_rotated( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_gl_ortho_line( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -5927,6 +6080,9 @@ octaspire_dern_value_t *dern_sdl2_gl_ortho_line( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glMatrixMode( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -6008,6 +6164,9 @@ octaspire_dern_value_t *dern_sdl2_glMatrixMode( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glBegin( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -6113,6 +6272,9 @@ octaspire_dern_value_t *dern_sdl2_glBegin( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glEnable( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -6418,6 +6580,9 @@ octaspire_dern_value_t *dern_sdl2_glEnable( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glDisable( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -6723,6 +6888,9 @@ octaspire_dern_value_t *dern_sdl2_glDisable( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_glEnd( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -6757,6 +6925,9 @@ octaspire_dern_value_t *dern_sdl2_glEnd( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_load_texture_base64( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -6915,6 +7086,9 @@ octaspire_dern_value_t *dern_sdl2_load_texture_base64( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_SetRenderDrawColor( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -7015,6 +7189,9 @@ octaspire_dern_value_t *dern_sdl2_SetRenderDrawColor( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_RenderDrawPoint( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -7112,6 +7289,9 @@ octaspire_dern_value_t *dern_sdl2_RenderDrawPoint( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_RenderDrawLine( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -7211,6 +7391,9 @@ octaspire_dern_value_t *dern_sdl2_RenderDrawLine( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_RenderDrawRect( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -7311,6 +7494,9 @@ octaspire_dern_value_t *dern_sdl2_RenderDrawRect( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_RenderCopy( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -7563,6 +7749,9 @@ octaspire_dern_value_t *dern_sdl2_RenderCopy( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_RenderFillRect( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -7663,6 +7852,9 @@ octaspire_dern_value_t *dern_sdl2_RenderFillRect( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_SetRenderDrawBlendMode( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -7777,6 +7969,9 @@ octaspire_dern_value_t *dern_sdl2_SetRenderDrawBlendMode( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_GetWindowSurface( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -7857,6 +8052,9 @@ octaspire_dern_value_t *dern_sdl2_GetWindowSurface( surface); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_GetPixelFormat( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -7927,6 +8125,9 @@ octaspire_dern_value_t *dern_sdl2_GetPixelFormat( surface->format); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_FillRect( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -8108,6 +8309,9 @@ octaspire_dern_value_t *dern_sdl2_FillRect( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_UpdateWindowSurface( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -8177,6 +8381,9 @@ octaspire_dern_value_t *dern_sdl2_UpdateWindowSurface( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_MapRGB( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -8263,6 +8470,9 @@ octaspire_dern_value_t *dern_sdl2_MapRGB( SDL_MapRGB(pixelFormat, colorComponents[0], colorComponents[1], colorComponents[2])); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_NumJoysticks( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -8299,6 +8509,9 @@ octaspire_dern_value_t *dern_sdl2_NumJoysticks( return octaspire_dern_vm_create_new_value_integer(vm, result); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_Quit( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -8335,6 +8548,9 @@ octaspire_dern_value_t *dern_sdl2_Quit( true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_has_img( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -8365,6 +8581,9 @@ octaspire_dern_value_t *dern_sdl2_has_img( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_has_mix( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -8395,6 +8614,9 @@ octaspire_dern_value_t *dern_sdl2_has_mix( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sdl2_has_ttf( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -8425,6 +8647,9 @@ octaspire_dern_value_t *dern_sdl2_has_ttf( #endif } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_sdl2_init( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv, @@ -9255,6 +9480,9 @@ bool dern_sdl2_init( return true; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_sdl2_clean( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv) diff --git a/release/plugins/dern_sqlite3.c b/release/plugins/dern_sqlite3.c index 583fa19..b5dc159 100644 --- a/release/plugins/dern_sqlite3.c +++ b/release/plugins/dern_sqlite3.c @@ -93,6 +93,9 @@ void dern_sqlite3_db_clean_up_callback(void *payload) sqlite3_close((sqlite3*)payload); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sqlite3_open( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -165,6 +168,9 @@ octaspire_dern_value_t *dern_sqlite3_open( return result; } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sqlite3_close( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -236,6 +242,9 @@ octaspire_dern_value_t *dern_sqlite3_close( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif octaspire_dern_value_t *dern_sqlite3_exec( octaspire_dern_vm_t * const vm, octaspire_dern_value_t * const arguments, @@ -381,6 +390,9 @@ octaspire_dern_value_t *dern_sqlite3_exec( return octaspire_dern_vm_create_new_value_boolean(vm, true); } +#ifdef _MSC_VER +extern __declspec(dllexport) +#endif bool dern_sqlite3_init( octaspire_dern_vm_t * const vm, octaspire_dern_environment_t * const targetEnv, diff --git a/release/plugins/external/chipmunk/src/cpHastySpace.c b/release/plugins/external/chipmunk/src/cpHastySpace.c index 2a83952..b9354ee 100644 --- a/release/plugins/external/chipmunk/src/cpHastySpace.c +++ b/release/plugins/external/chipmunk/src/cpHastySpace.c @@ -54,7 +54,7 @@ typedef struct } pthread_cond_t; typedef CRITICAL_SECTION pthread_mutex_t; -typedef struct {} pthread_condattr_t; // Dummy; +typedef void pthread_condattr_t; // Dummy; int pthread_cond_destroy(pthread_cond_t* cv) { @@ -149,7 +149,7 @@ int pthread_cond_wait(pthread_cond_t* cv, pthread_mutex_t* external_mutex) return result == WAIT_TIMEOUT ? ETIMEDOUT : 0; } -typedef struct {} pthread_mutexattr_t; //< Dummy +typedef void pthread_mutexattr_t; //< Dummy int pthread_mutex_init(pthread_mutex_t* mutex, const pthread_mutexattr_t* attr) { @@ -175,7 +175,7 @@ int pthread_mutex_unlock(pthread_mutex_t* mutex) return 0; } -typedef struct {} pthread_attr_t; +typedef void pthread_attr_t; typedef struct { diff --git a/release/plugins/external/nuklear/nuklear_sdl_gl2.h b/release/plugins/external/nuklear/nuklear_sdl_gl2.h index f46c952..9466048 100644 --- a/release/plugins/external/nuklear/nuklear_sdl_gl2.h +++ b/release/plugins/external/nuklear/nuklear_sdl_gl2.h @@ -13,7 +13,11 @@ #ifndef NK_SDL_GL2_H_ #define NK_SDL_GL2_H_ +#ifdef _MSC_VER +#include "SDL.h" +#else #include +#endif NK_API struct nk_context* nk_sdl_init(SDL_Window *win); NK_API void nk_sdl_font_stash_begin(struct nk_font_atlas **atlas); NK_API void nk_sdl_font_stash_end(void); -- 2.45.2