Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
338 commits
Select commit Hold shift + click to select a range
fb495d5
[actions] WIP of animation engine
i8degrees Feb 25, 2015
528c14b
nomlib.sublime-project: Remove folder exclusions workaround
i8degrees Feb 27, 2015
e238648
File: Add const onto the end of methods
i8degrees Feb 27, 2015
43fc180
[actions] WIP of animation engine
i8degrees Feb 27, 2015
84297cd
Rect: Fix the return value of bottom && right getter methods
i8degrees Feb 27, 2015
9f36168
Rect: Add ::set_position, ::set_size
i8degrees Feb 27, 2015
5d2bb0b
Renderer: Rename ::bounds && ::set_bounds
i8degrees Feb 27, 2015
bc62432
[actions] AnimationTest: Fix failing unit tests on windev.local
i8degrees Feb 28, 2015
92022b1
[actions] IActionObject: Rename ::timing_mode, ::set_timing_mode
i8degrees Feb 28, 2015
41d0e42
nomlib.sublime-project: Add .sublime-* to file ignore list
i8degrees Feb 28, 2015
bdb54bf
[actions] Rename AnimationTimingModesTest to ActionTimingCurvesTest
i8degrees Mar 1, 2015
6a3594e
[actions] Rename AnimationTimingModes to ActionTimingCurves
i8degrees Mar 1, 2015
4c9dc4a
[actions] ActionTimingCurvesTest: Bit of clean up
i8degrees Mar 1, 2015
ba216e1
[actions] ActionTimingCurves: Update doc comments
i8degrees Mar 1, 2015
12157a2
[actions] Rename AnimationTest to ActionTest
i8degrees Mar 1, 2015
725062a
[actions] Rename action engine logging categories
i8degrees Mar 1, 2015
4e2a45f
[actions] Move action engine source to its own folder
i8degrees Mar 2, 2015
c8fb587
Timer: Introduce ::to_milliseconds, ::to_seconds static funcs
i8degrees Mar 2, 2015
00cfdf9
[actions] DispatchQueue: Remove assertion checks on action_pos && num…
i8degrees Mar 2, 2015
e0db542
[actions] Actions: Use seconds time intervals internally
i8degrees Mar 2, 2015
af99cc6
Sprite: Add ::release_texture
i8degrees Mar 2, 2015
6ea5d95
[actions] Implement RemoveAction
i8degrees Mar 2, 2015
a7063b8
[actions] ActionTest_Demos: Finish clean up of RainingRectsStressTest
i8degrees Mar 2, 2015
e3a3897
[actions] ActionTest: Rename SpriteActionMultipleSprites to SpriteTex…
i8degrees Mar 2, 2015
c2a5709
[actions] Remove ColorizeAction
i8degrees Mar 4, 2015
46e9daa
[actions] ActionTest: Disable frame rate governing when VSYNC is enabled
i8degrees Mar 4, 2015
a8c018a
[actions] ActionTest: Add minimum test duration check
i8degrees Mar 4, 2015
b5c5ae3
[actions] ActionTest: Add append_render_queue funcs
i8degrees Mar 4, 2015
417d74e
Timer: Add ::to_seconds member method (convenience)
i8degrees Mar 5, 2015
7d3e45d
[actions] ActionTest: Rename SpriteActionReversed to SpriteTexturesAc…
i8degrees Mar 5, 2015
78cd288
[actions] RepeatForAction: Fix debug logging output of elapsed_repeats
i8degrees Mar 5, 2015
5dba866
config: Add NOM_ASSERT_INVALID_PATH macro
i8degrees Mar 5, 2015
7c609ed
[actions] ActionTest.RainingRects: Fix min duration calc
i8degrees Mar 5, 2015
52a0f08
[actions] ActionTest_ActionPlayer: Add RemoveAction tests
i8degrees Mar 5, 2015
fa8db37
[actions] ActionTest_AlphaBlending: Clean up AlphaBlendingDemo test
i8degrees Mar 5, 2015
736b80f
[actions] DispatchQueue: Do not clone actions
i8degrees Mar 5, 2015
d47b69e
math_helpers: Add ::round_float_down, ::round_float_up
i8degrees Mar 6, 2015
d7259db
[actions] Fix underlying action access issue in repeat actions
i8degrees Mar 6, 2015
11135a5
[actions] Fix SpriteBatchAction::prev_frame
i8degrees Mar 6, 2015
db7e0fa
[actions] SpriteTexturesAction: Add initial_frame_ var (placeholder)
i8degrees Mar 6, 2015
59af1eb
Add couple scripts for dumping TODO/FIXME notes
i8degrees Mar 6, 2015
ff89f15
[actions] ActionTest: Fix min duration calcs
i8degrees Mar 6, 2015
6fabe31
[actions] Rename IActionObject::FrameState enum vars
i8degrees Mar 6, 2015
ee4cd9f
[actions] Misc clean up on DispatchQueue && ActionPlayer
i8degrees Mar 7, 2015
031b2fe
[actions] SpriteBatchAction: Fix out of bounds bug
i8degrees Mar 7, 2015
0b96180
[actions] Resolve object slicing issue w/ nom::create_action
i8degrees Mar 7, 2015
792cb45
[actions] ActionTest: Change stats logging prio level
i8degrees Mar 7, 2015
9aef720
[actions] ActionTest: Use only one render callback for vector drawables
i8degrees Mar 7, 2015
889ebd2
[actions] RepeatForAction: Fix off-by-one bug in elapsed number of re…
i8degrees Mar 7, 2015
46af499
[actions] DispatchQueue: Use std::unique_ptr
i8degrees Mar 7, 2015
f61f161
[actions] DispatchQueue: Decrease overall memory footprint
i8degrees Mar 7, 2015
eeef543
travis-ci: Update brew before install
i8degrees Mar 7, 2015
4ac83ff
SDL2Logger: Always output uint8 args as integers
i8degrees Mar 9, 2015
a0fdf1a
types.hpp: Add SIZE_TYPE_MIN, SIZE_TYPE_MAX
i8degrees Mar 9, 2015
48a023f
[actions] FadeInAction: Initialize alpha var to zero
i8degrees Mar 9, 2015
f65e5fd
[actions] Add const DEBUG_CLASS_NAME string for debug output
i8degrees Mar 9, 2015
ebf0251
[actions] SpriteBatchAction: Check for NULL before assignment in init
i8degrees Mar 9, 2015
69cf92c
[actions] GroupAction, SequenceAction: Remove assertions for NULL
i8degrees Mar 9, 2015
5f819fb
SpriteTest: Always check for sprite validity before setting align
i8degrees Mar 9, 2015
0eccf87
CMake: Introduce local_env.cmake
i8degrees Mar 9, 2015
05724ba
[actions] RainingRects: Fix incorrect number of repeats
i8degrees Mar 10, 2015
991522f
[actions] SequenceAction: Backport logging && NULL check from GroupAc…
i8degrees Mar 10, 2015
809a6b6
[actions] DispatchQueue: Do not disable copy ctor, operator =
i8degrees Mar 10, 2015
b76e960
[actions] ActionTest: Add test using x4 DispatchQueue instances
i8degrees Mar 10, 2015
54b35e0
[actions] Finish clean up of State enumerations
i8degrees Mar 10, 2015
9994611
Sprite: Change return types of ::clone, ::texture
i8degrees Mar 10, 2015
aec750a
[actions] Implement ::clone for proxy action types
i8degrees Mar 10, 2015
d9e1249
[actions] ActionPlayer: Check action before assignment of name
i8degrees Mar 10, 2015
bb36767
tests/CMakeLists.txt: Fix spelling mistake
i8degrees Mar 10, 2015
e89a733
[actions] Misc clean up
i8degrees Mar 10, 2015
0e8394a
[actions] Remove unused gfx resources
i8degrees Mar 10, 2015
b8642c5
[actions] SpriteTexturesAction: Fix ::prev_frame call
i8degrees Mar 10, 2015
97c5089
[actions] Rename SpriteTexturesAction to AnimateTexturesAction.
i8degrees Mar 10, 2015
1290810
types: Rename real32, real64, size_type numeric_limit consts
i8degrees Mar 11, 2015
5e11fd4
[actions] Update doxygen documentation
i8degrees Mar 11, 2015
dbdc5be
[actions] GroupAction: Move group_action struct to cpp file
i8degrees Mar 11, 2015
d685e3d
[actions] AnimateTexturesAction: Fix texture_frames typedef
i8degrees Mar 11, 2015
a3fa43f
[actions] ActionPlayer: Declare ::run_action(dispatch_queue) private
i8degrees Mar 12, 2015
ba5db32
[actions] DispatchQueue: Decrease method calls made to action
i8degrees Mar 12, 2015
3e15937
types: Finish up renaming numeric limits const defs
i8degrees Mar 12, 2015
11c5eb4
Bit of header file clean up in config, types
i8degrees Mar 12, 2015
007c757
Add cmake auto-generated files to project ignore filter
i8degrees Mar 12, 2015
f7d0bc3
Fix build errors
i8degrees Mar 12, 2015
f01fdd8
examples/renderfont.cpp: Fix build err
i8degrees Mar 12, 2015
51debd2
CMakeLists.txt: Add TODO comment regarding run-time checks
i8degrees Mar 14, 2015
e20badf
math_helpers: Add truncate_float, absolute_float funcs
i8degrees Mar 14, 2015
5986349
[actions] Squash integer overflow bugs in alpha blending actions
i8degrees Mar 14, 2015
f811597
[actions] Remove default name arg on proxy objects
i8degrees Mar 14, 2015
0694e7d
[actions] ActionPlayer: Remove ::run_action(const char*) method
i8degrees Mar 14, 2015
cac618b
[actions] IActionObject: Add protected ::set_status method
i8degrees Mar 14, 2015
aa4b22c
[actions] Use emplace_back when possible
i8degrees Mar 14, 2015
0bc184c
[actions] Misc clean up (minor fix ups)
i8degrees Mar 14, 2015
4d0aa0b
[actions] Add additional test flags
i8degrees Mar 14, 2015
0a0fffe
[actions] CallbackAction: Free the stored function ptr in ::release
i8degrees Mar 15, 2015
83adfee
[actions] Finish updating doxygen documentation
i8degrees Mar 15, 2015
6e60028
Doxyfile.in: Update doxygen template
i8degrees Mar 15, 2015
5642b62
Sprite, SpriteBatch: Remove NULL texture assertion checks
i8degrees Mar 15, 2015
f0953fb
examples/app: Fix build err
i8degrees Mar 15, 2015
6b26b02
Fix building engine with Xcode && MSVCPP generated proj files
i8degrees Mar 15, 2015
f202e56
examples/app: Fix bug preventing init when num_displays less than 3
i8degrees Mar 15, 2015
bbcd818
Fix running tests on Windows when built as Release target
i8degrees Mar 15, 2015
3c8464e
bin/build-deps.sh: Clean up comments
i8degrees Mar 15, 2015
d61701d
Rename bin/build-deps.sh to bin/archive-deps.sh
i8degrees Mar 15, 2015
944193d
CMakeLists: Remove concept of extended test runs for actions engine
i8degrees Mar 15, 2015
abba580
Bit of clean up && new features for xcode build scripts
i8degrees Mar 15, 2015
87f0c8f
Value: Fix bug in ::erase method
i8degrees Mar 16, 2015
8c44a9d
VisualUnitTest: Implement workaround for multi screen-dump dirs per test
i8degrees Mar 16, 2015
5e7b093
File: Add ::num_files func for counting num of files in a dir
i8degrees Mar 16, 2015
4dcff12
VisualUnitTest: Handle clean up of screen-shot dirs when empty
i8degrees Mar 16, 2015
92aa59d
Sprite: Replace icky ctors with a few factory funcs
i8degrees Mar 16, 2015
590ca45
Sprite: Add ::make_unique_sprite(shared_ptr<Texture>) helper func
i8degrees Mar 16, 2015
2b5a20a
bin/xcode_gen.sh: Always clear cached build vars before gen proj files
i8degrees Mar 16, 2015
a2c7198
CMakeLists: Add reminder regarding debug flags
i8degrees Mar 19, 2015
14ef9c5
SearchPath: Clean up headers a bit
i8degrees Mar 19, 2015
87ce1ac
helpers: Add a few more string helper funcs
i8degrees Mar 19, 2015
40c4afa
Value: Fix memory leaks
i8degrees Mar 19, 2015
28d785a
Add 'factory' funcs for creation of JSON I/O interfaces
i8degrees Mar 19, 2015
70e400a
Fix a few memory leaks observed from TTcards
i8degrees Mar 19, 2015
95106e4
SearchPath: Relocate to serializers
i8degrees Mar 19, 2015
3126452
ptree: Misc clean up (return types, code style)
i8degrees Mar 23, 2015
d099810
[actions] Rename ActionTestExtended_* to ActionTest_*
i8degrees Mar 24, 2015
0c5b622
[actions] Fix action tests not showing up when using default cfg
i8degrees Mar 24, 2015
9d4b285
CMake: Re-purpose add_action_test macro as nom_add_test
i8degrees Mar 24, 2015
1242433
Fix libRocketTest test crash
i8degrees Mar 24, 2015
ad65cef
Texture: Remove ::free_texture method
i8degrees Mar 24, 2015
6304bd4
VisualUnitTest: Check for -d flag before handling dir clean up
i8degrees Mar 24, 2015
78e9739
ActionTest.cpp: Move test flag toggles to main exec
i8degrees Mar 24, 2015
059f859
Bump engine version up to 0.12.0
i8degrees Mar 24, 2015
1b076a3
README.md: Re-arrange travis-ci build status imgs
i8degrees Mar 24, 2015
150fa25
Rename ::create_json_* funcs to make_unique_*
i8degrees Mar 24, 2015
a07445c
Add optional passing of the num of threads xcodebuild uses
i8degrees Mar 25, 2015
e5785af
Add .gitattributes file; always normalize line endings to LF
i8degrees Mar 25, 2015
aa8cbdb
Relocate third-party license texts to licenses dir
i8degrees Mar 25, 2015
675ab0c
core/helpers: Add string_to_integer functions
i8degrees Mar 26, 2015
e1d4861
SDL_helpers: Clean up in ::hint, ::set_hint logic handling
i8degrees Mar 26, 2015
56ebda4
EventHandler: Add tracking of event queue stats
i8degrees Mar 26, 2015
9dd440a
Events: Update docs regarding event types
i8degrees Mar 29, 2015
f33c120
EventHandler: Improve accuracy of event queue stats
i8degrees Mar 30, 2015
aabc4ee
Update copyright years in template file headers
i8degrees Apr 14, 2015
b3d0e79
SDL_helpers: Remove SDL_BOOL function
i8degrees Apr 14, 2015
92f5b8f
math_helpers: Introduce minimum && maximum funcs
i8degrees Apr 14, 2015
1f448c2
graphics_helpers: Compress ::alignment_rect func
i8degrees Apr 14, 2015
c035158
core/helpers: Add copy_string func
i8degrees Apr 14, 2015
dcc4379
AudioDevice: Fix non-default audio device names not being set
i8degrees Apr 14, 2015
94a3d37
AudioDevice: Add static ::extension_available func variant
i8degrees Apr 14, 2015
df7aff8
Remove GameOfLife example
i8degrees Apr 14, 2015
fd105fd
Introduce (global) error buffer interface
i8degrees Apr 14, 2015
f8898da
Overhaul of events && joystick handling
i8degrees Apr 14, 2015
8dbd036
core/helpers: Remove priv namespace from string funcs
i8degrees Apr 14, 2015
7a66ec7
MouseWheelAction: Simplify (clean up) usage of interface
i8degrees Apr 14, 2015
52aec6b
UIContext: Add event watch for events processing via EventHandler
i8degrees Apr 14, 2015
e33d907
UIContextEventHandler: Do not translate X-axis mouse wheel
i8degrees Apr 14, 2015
a3cb111
Fix MSVCPP build errors
i8degrees Apr 14, 2015
3737ea9
Rename compare string functions
i8degrees Apr 25, 2015
918d207
err: Add NULL ptr checks before setting err msg
i8degrees Apr 25, 2015
8b278f8
ActionPlayer: Add cancel_actions func
i8degrees Apr 25, 2015
8c58b0b
Add make_timing_curve_from_string func
i8degrees Apr 25, 2015
58ed8a8
Add make_color_from_string func
i8degrees Apr 25, 2015
42c5d56
Add Gamestop BB-070 mappings for OSX
i8degrees May 24, 2015
8df2a09
gamecontroller_events: Add joystick diagnostic info dump
i8degrees May 24, 2015
eaa6d63
Fix MSVCPP build err
i8degrees May 24, 2015
69088e1
Add automated Windows build script using msbuild
i8degrees May 24, 2015
8c27ba5
Relocate gamecontrollerdb.txt to common shared dir
i8degrees May 25, 2015
7d90698
Update controller mappings from upstream
i8degrees May 25, 2015
8e434eb
Fix compile warnings (remove useless const)
i8degrees May 26, 2015
bc231e7
nomlib-config.cmake: Clean up handling of NOMLIB_DEPS_ROOT var
i8degrees Jun 6, 2015
d60d9b7
RenderWindow: Add ::display_name functions
i8degrees Jun 23, 2015
d12f6f2
examples/app: Always show window, display IDs in title
i8degrees Jun 23, 2015
93f50a9
examples/device_info: Add primary display name && refresh rate
i8degrees Jun 23, 2015
b8ee509
Add OS X framework bundle build script
i8degrees Jun 23, 2015
bbaa889
platforms.hpp: Add additional platform definitions
i8degrees Jul 25, 2015
b87cbbf
config.hpp: Move NOM_RDTSC macro definitions to platforms.hpp
i8degrees Jul 29, 2015
7719356
types.hpp: Add byte, kb, mb, ... function getters && macro
i8degrees Jul 29, 2015
e004fe3
Fix misc. compile warnings
i8degrees Jul 29, 2015
9cd401c
helpers.hpp: Add make_str function
i8degrees Jul 29, 2015
f670111
math/Point3: Add Point3i, Point3f, Point3d ::zero definition
i8degrees Jul 29, 2015
05da9c9
CMakeLists.txt: Add nomlib-math as a dep of nomlib-audio
i8degrees Jul 29, 2015
311b053
OpenAL: Clean up err handling
i8degrees Jul 29, 2015
c3bcf3c
examples/CMakeLists.txt: Include TCLAP headers for all examples
i8degrees Jul 30, 2015
a822e65
Clean up audio subsystem
i8degrees Jul 30, 2015
d1a4e00
Clean up minor omissions
i8degrees Jan 22, 2023
ec28f6d
Work on GameController Events (removal, I think?)
i8degrees Jan 22, 2023
7580333
Add Google Test headers for Linux
i8degrees Jan 22, 2023
9f714cb
Add node_modules to git ignore
i8degrees Apr 13, 2026
8db2c94
Add project workspace
i8degrees Apr 14, 2026
d98f923
+ libsndfile git submodule at v1.0.30
i8degrees Apr 17, 2026
b273cd1
Finish linux port
i8degrees Apr 17, 2026
2bec310
Update Linux section
i8degrees Apr 13, 2026
382f91d
Merge branch 'dev' into feature/LinuxPort
i8degrees Apr 17, 2026
8b02192
Merge pull request #21 from i8degrees/feature/LinuxPort
i8degrees Apr 17, 2026
e6ed132
representatively nothing
i8degrees Apr 17, 2026
b791297
Patch out compile-time assert
i8degrees Apr 17, 2026
be63cf4
Initial commit (build scripts for osx & linux)
i8degrees Apr 18, 2026
efe889a
[dirty] Initial revamping of audio engine
i8degrees Dec 10, 2015
753c047
Fix several compile warnings
i8degrees Dec 30, 2015
cffdd65
Initial commit of branch 'archive/last-changed'
i8degrees Sep 26, 2016
7326c16
Initial port of nomlib to Linux
i8degrees Dec 21, 2014
96b5c68
Add initial dependencies for build inside Linux environments using GN…
i8degrees Jan 12, 2025
158e759
Ignore all local_env.cmake files
i8degrees Jan 12, 2025
84196b5
Add vscode workspace file
i8degrees Jan 12, 2025
ec98910
Conditional header file inclusion for GNU GCC
i8degrees Jan 12, 2025
7c7981a
Remove workspace dir
i8degrees Jan 15, 2025
703b0e6
Add linux dep build scripts
i8degrees Jan 15, 2025
2c995c4
First successful build without unit tests or examples
i8degrees Jan 15, 2025
996e0ec
Latest update
i8degrees Apr 12, 2026
f5c79c5
Update build scripts for linux
i8degrees Apr 12, 2026
97dfed5
Finish linux port
i8degrees Apr 17, 2026
de4864f
Update Linux section
i8degrees Apr 13, 2026
8489f50
ptree: Misc clean up (return types, code style)
i8degrees Mar 23, 2015
3d7b398
Fix compile warnings (remove useless const)
i8degrees May 26, 2015
e3ece80
Add Google Test headers for Linux
i8degrees Jan 22, 2023
91f24b7
Improve test build logic
i8degrees Apr 19, 2026
cb8d9d8
Remove dead code
i8degrees Apr 19, 2026
de5672a
Finish linux port
i8degrees Apr 17, 2026
0e4056b
Update cmake presets
i8degrees Apr 25, 2026
80be147
Add missing OpenAL headers when platform is Linux (or Posix)
i8degrees Apr 25, 2026
33d20b3
Improve library headers handling
i8degrees Apr 25, 2026
0f2b99f
Initial commit of branch 'archive/last-changed'
i8degrees Sep 26, 2016
3ec9806
First successful build without unit tests or examples
i8degrees Jan 15, 2025
f979ca2
Finish linux port
i8degrees Apr 17, 2026
a014959
Update Linux section
i8degrees Apr 13, 2026
6e46e6b
Update vscode project workspace
i8degrees Apr 20, 2026
d81b76f
Add CMakeUserPresets.json to git ignore
i8degrees Apr 23, 2026
c3cbc10
Add index.js to git ignore
i8degrees Apr 25, 2026
39bb8ab
Do not ignore CMakeUserPresets.json
i8degrees Apr 26, 2026
4f8157f
Update filesystem paths
i8degrees Apr 26, 2026
5141357
Fix missing PLATFORM_POSIX definition
i8degrees Apr 26, 2026
3691671
Fix error w/ OpenAL version check
i8degrees Apr 26, 2026
d0df573
Fix incorrect API usage for test
i8degrees Apr 26, 2026
136511c
[update] API Headers
i8degrees Apr 26, 2026
70931d6
Update build system
i8degrees Apr 27, 2026
000755f
Update cmake presets
i8degrees Apr 27, 2026
c9c0273
Update filesystem paths
i8degrees Apr 27, 2026
e51fdf1
Add clang-cl build for msvcpp cross-compile
i8degrees Apr 27, 2026
fb0265d
Fix formatting
i8degrees Apr 27, 2026
39280dd
Fix remaining compile errors w/ audio
i8degrees Apr 27, 2026
71c8a35
Fix cmake warn regarding if branch
i8degrees Apr 27, 2026
2cc9f9a
Fix failed merge
i8degrees Apr 27, 2026
1f905c7
Improve library headers handling
i8degrees Apr 25, 2026
8ca9bde
Add git submodule vendor/openal-soft.git
i8degrees Apr 26, 2026
a4c2b9c
Initial commit of branch 'archive/last-changed'
i8degrees Sep 26, 2016
6ca1d77
First successful build without unit tests or examples
i8degrees Jan 15, 2025
30cc364
Finish linux port
i8degrees Apr 17, 2026
e671584
Update build system
i8degrees Apr 27, 2026
d4eadba
Update our cmake presets config
i8degrees Apr 23, 2026
1a5eca7
Add file exclusions to vscode workspace
i8degrees Apr 26, 2026
c1a3a96
Update cmake presets
i8degrees Apr 25, 2026
7934bb5
Add build.*/ to git ignore
i8degrees May 4, 2026
8829d45
Improve cmake install paths
i8degrees May 4, 2026
a9bbad1
Fix failed git merge
i8degrees May 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 18 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Configuration file for EditorConfig
# More information is available under http://EditorConfig.org

# Ignore any other files further up in the file system
root = true

# Configuration for all files
[*]
# Enforce Unix style line endings (\n only)
end_of_line = lf
# Always end files with a blank line
insert_final_newline = true
# Force space characters for indentation
indent_style = space
# Always indent by 2 characters
indent_size = 2
# Remove whitespace characters at the end of line
trim_trailing_whitespace = true
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Normalize line endings to LF (Unix) on check-in and prevents
# conversion to CRLF (Windows) when the file is checked out.
text eol=lf

13 changes: 12 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,25 @@ version.hpp
revision.cpp

# project
build/
build.*/
.loc.yml
install_options
*.sublime-workspace
*.bck
# ctags
*.tags
*.tags_sorted_by_file
local_env.cmake

# nomlib's github wiki
wiki

*local_env.cmake*

#.vscode/CMakeUserPresets.json

node_modules

# Visual Code search index extension
index.js

32 changes: 32 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[submodule "vendor/SDL2_ttf.git"]
path = vendor/SDL2_ttf.git
url = https://github.com/libsdl-org/SDL_ttf.git
branch = release-2.0.12
ignore = dirty
[submodule "vendor/SDL2_image.git"]
path = vendor/SDL2_image.git
url = https://github.com/libsdl-org/SDL_image.git
branch = release-2.0.0
ignore = dirty
[submodule "vendor/SDL.git"]
path = vendor/SDL.git
url = https://github.com/libsdl-org/SDL
branch = release-2.0.4
#branch = release-2.24.0
ignore = dirty
[submodule "vendor/gtest.git"]
path = vendor/gtest.git
url = https://github.com/google/googletest.git
branch = v1.8.x
ignore = dirty
[submodule "vendor/libsndfile.git"]
path = vendor/libsndfile.git
url = https://github.com/libsndfile/libsndfile.git
branch = v1.0.30
ignore = dirty
[submodule "vendor/openal-soft.git"]
path = vendor/openal-soft.git
url = https://github.com/kcat/openal-soft
branch = 9b6a226
ignore = dirty

12 changes: 8 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ before_install:
# - xvfb-run -- :99 -ac -screen 0 1024x768x32
# - /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1024x768x32

# - brew update
- brew update
# - brew install cmake

# FIXME: It might be best if we packaged the freetype2 libs for libRocket
Expand All @@ -36,11 +36,15 @@ before_install:

# NOM_DEPS_URL and NOM_OSX_SDK_URL has been set by our repository settings
- wget -O /tmp/deps.tar.gz $NOM_DEPS_URL
- wget -O /tmp/osx10.7.sdk.tar.gz $NOM_OSX_SDK_URL
# NOTE: Ensure that nomlib builds against the latest OS X SDK instead of the
# minimum deployment version in the mean time -- until I get around to
# cleaning up this script and building for both the minimum and the latest
# SDKs...
# - wget -O /tmp/osx10.7.sdk.tar.gz $NOM_OSX_SDK_URL
before_script:
- tar -xzf /tmp/deps.tar.gz -C third-party
- sudo mkdir -p '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs'
- sudo tar -xzf /tmp/osx10.7.sdk.tar.gz -C /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
# - sudo mkdir -p '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs'
# - sudo tar -xzf /tmp/osx10.7.sdk.tar.gz -C /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
- mkdir -p build && cd build
- cmake -GXcode -DDEBUG=on -DDEBUG_ASSERT=on -DEXAMPLES=on -DNOM_BUILD_TESTS=on -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DCMAKE_INSTALL_PREFIX=~/Library/Frameworks ..
script:
Expand Down
3 changes: 3 additions & 0 deletions .vscode/CMakeUserPresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"version": 10
}
12 changes: 12 additions & 0 deletions .vscode/bin/add_rpath.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh

# This script is intended to be ran from within the CMake environment.
#
# See cmake/macros.cmake, man 1 install_name_tool

# install_name_tool
${1} -add_rpath ${2} ${3}

# We **must** exit with a successful return code for Xcode-generated project
# builds, or else the whole build fails on us
exit 0
19 changes: 19 additions & 0 deletions .vscode/bin/check_json.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/sh

# NOTE: This script is intended to be non-interactively ran by the project's
# build scripts.

JSHINT_BIN=$(which jshint)

if [[ -x $JSHINT_BIN ]]; then
# We only bother validating critical game files that would prevent us from
# initialization.
jshint ../Resources/cards.json
jshint ../Resources/config_game.json
jshint ../Resources/config_assets-low-res.json
jshint ../Resources/config_assets-hi-res.json
else
echo "${0} WARN: Skipping JSON validation; jshint not found!"
echo "See installation instructions at http://jshint.com/install/"
# exit 1
fi
29 changes: 29 additions & 0 deletions .vscode/bin/clang_build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/sh

# NOTE: This script is intended to be ran from the project's current build
# directory.

BUILD_BIN=$(which make)

# Default build configuration type
BUILD_TYPE="Debug"

if [[ !( -z "${BUILD_TYPE_ARG}") ]]; then
BUILD_TYPE=$1
fi

if [[ !( -z "${NUM_THREADS}") ]]; then
NUM_THREADS_ARG="-j ${NUM_THREADS}"
fi
# echo "NUM_THREADS_ARG: ${NUM_THREADS_ARG}"

../bin/check_json.sh

if [[ $? -eq 0 ]]; then
echo "Building ${BUILD_TYPE} project... [target: build]"

${BUILD_BIN} ${NUM_THREADS_ARG}
else
echo "${0} ERROR: JSON validation failure has prevented building the project."
exit 1
fi
22 changes: 22 additions & 0 deletions .vscode/bin/clang_clean.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh

# NOTE: This script is intended to be ran from the project's current build
# directory.

BUILD_BIN=$(which make)
BUILD_TYPE_ARG=$1

# Default
BUILD_TYPE="Debug"

if [[ !( -z "${BUILD_TYPE_ARG}") ]]; then
BUILD_TYPE=$1
fi

if [[ !( -z "${NUM_THREADS}") ]]; then
NUM_THREADS_ARG="-j ${NUM_THREADS}"
fi
# echo "NUM_THREADS_ARG: ${NUM_THREADS_ARG}"

echo "Building ${BUILD_TYPE} project... [target: build]"
${BUILD_BIN} clean
22 changes: 22 additions & 0 deletions .vscode/bin/clang_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh

# NOTE: This script is intended to be ran from the project's current build
# directory.

BUILD_BIN=$(which make)
BUILD_TYPE_ARG=$1

# Default
BUILD_TYPE="Debug"

if [[ !( -z "${BUILD_TYPE_ARG}") ]]; then
BUILD_TYPE=$1
fi

if [[ !( -z "${NUM_THREADS}") ]]; then
NUM_THREADS_ARG="-j ${NUM_THREADS}"
fi
# echo "NUM_THREADS_ARG: ${NUM_THREADS_ARG}"

echo "Installing ${BUILD_TYPE} project... [target: build]"
${BUILD_BIN} install
22 changes: 22 additions & 0 deletions .vscode/bin/clang_uninstall.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh

# NOTE: This script is intended to be ran from the project's current build
# directory.

BUILD_BIN=$(which make)
BUILD_TYPE_ARG=$1

# Default
BUILD_TYPE="Debug"

if [[ !( -z "${BUILD_TYPE_ARG}") ]]; then
BUILD_TYPE=$1
fi

if [[ !( -z "${NUM_THREADS}") ]]; then
NUM_THREADS_ARG="-j ${NUM_THREADS}"
fi
# echo "NUM_THREADS_ARG: ${NUM_THREADS_ARG}"

echo "Building ${BUILD_TYPE} project... [target: build]"
${BUILD_BIN} uninstall
97 changes: 97 additions & 0 deletions .vscode/bin/configure.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
#!/bin/sh

# NOTE: This script is intended to be ran from the project's current build
# directory.

# Enable case-insensitive string matches for passing arguments around
shopt -s nocasematch

function usage_info()
{
SCRIPT_NAME = $(basename $0)
echo "Usage: ${SCRIPT_NAME} <build_type> <install_dir>\n"
echo "...where <build_type> is one of Debug or Release"
echo " (Defaults: ${BUILD_TYPE})\n"
echo "...where <install_dir> is the engine's destination install prefix"
echo " (Defaults: ${BUILD_INSTALL_DIR})"
exit 0
}

MKDIR_BIN=$(which mkdir) # GNU coreutils
RM_BIN=$(which rm) # GNU coreutils
CMAKE_BIN=$(which cmake)

# Default build configuration type
BUILD_TYPE_ARG=$1
GEN_PROJECT_TYPE_ARG=$2
BUILD_TYPE="Debug"
GEN_PROJECT_TYPE="" # i.e. CMake project generator: Xcode

if [[ !( -z "${BUILD_TYPE_ARG}") ]]; then
BUILD_TYPE=${BUILD_TYPE_ARG}
fi

if [[ !( -z "${GEN_PROJECT_TYPE_ARG}") ]]; then
GEN_PROJECT_TYPE="-G${GEN_PROJECT_TYPE_ARG}"
fi

# The absolute path to CMake's local cache of project build variables
CMAKE_CACHE_FILE="$(pwd)/CMakeCache.txt"

# Sane engine defaults for building apps against
#
# IMPORTANT: A space character **must** be inserted at the beginning of the
# BUILD_FLAGS string variable, or else the preprocessor flags will not be
# parsed correctly by cmake
BUILD_FLAGS+=" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7"
if [ -z "${NOMLIB_DEPS_ROOT}" ]; then
BUILD_FLAGS+=" -DNOMLIB_DEPS_PREFIX=${HOME}/Projects/nomlib.git/third-party/osx"
else
BUILD_FLAGS+=" -DNOMLIB_DEPS_PREFIX=${NOMLIB_DEPS_ROOT}"
fi

# Default installation path
BUILD_INSTALL_DIR="$(pwd)"
BUILD_INSTALL_DIR_ARG=$3

# Check command arguments
if [[ $1 == "-h" || $1 == "--help" ]]; then
usage_info
else
# Set build configuration type
#
# IMPORTANT: A space character **must** be inserted at the beginning of the
# BUILD_FLAGS string variable, or else the preprocessor flags will not be
# parsed correctly by cmake
if [[ ${BUILD_TYPE_ARG} == "Debug" ]]; then
BUILD_FLAGS+=" -DDEBUG=on -DDEBUG_ASSERT=on"
elif [[ ${BUILD_TYPE_ARG} == "Release" ]]; then
BUILD_TYPE="Release"
BUILD_FLAGS+=" -DDEBUG=off -DDEBUG_ASSERT=off"
fi

echo "BUILD_FLAGS=${BUILD_FLAGS}"

if [[ !( -z "${BUILD_INSTALL_DIR_ARG}" ) ]]; then
# Override installation prefix path; it is best to let CMake deal with
# file path validation
BUILD_INSTALL_DIR=${3}
fi

echo "\nClearing CMake cache..."

if [[ -f "CMakeCache.txt" ]]; then
${RM_BIN} -rf CMakeCache.txt
fi

if [[ -d "CMakeFiles" ]]; then
${RM_BIN} -rf CMakeFiles
fi

echo "Generating ${BUILD_TYPE} project files..."
echo "BUILD_INSTALL_DIR: ${BUILD_INSTALL_DIR}"

${CMAKE_BIN} "$GEN_PROJECT_TYPE" ${BUILD_FLAGS} \
-DCMAKE_INSTALL_PREFIX=${BUILD_INSTALL_DIR} \
..
fi
14 changes: 14 additions & 0 deletions .vscode/bin/ctags.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh
#
# Generate project tag file (symbol reference mappings)
#
# NOTE: This script should be ran from the project's root directory, i.e.:
# ~/Projects/nomlib.git/
#

SOURCE_DIR=src
HEADER_DIR=include/nomlib/

CTAGS_BIN=$(which ctags)

${CTAGS_BIN} -R ${SOURCE_DIR} ${HEADER_DIR}
Loading