Sonic Robo Blast 2 Public
Find a file
Monster Iestyn 64b3861168 Merge branch 'mapthing-spawn-hook' into 'master'
"MapThingSpawn" hook for Lua

A hook for adding special stuff to mobjs spawned via a map thing on level load, like special features depending on the map thing's flags, angle, z position, extrainfo, or anything else I didn't think of.

**Function syntax:**
`functionname(mobj, mapthing)`

where `mobj` is the spawned mobj (type mobj_t obviously), and `mapthing` is its corresponding map thing (type mapthing_t also obviously). Note that `mapthing.mobj` will not yet be set to `mobj` at this point (it's set afterwards, provided you don't remove the mobj or something stupid).

Returning `true` overrides features in place for existing mobj types (currently not all existing features are overridden, I may change this; see the source code for what IS overridable for now), returning `false` runs them as normal.

**Hook syntax:**
`addHook("MapThingSpawn", functionname, MT_OBJECTTYPE)`

where `MT_OBJECTTYPE` is the object type to apply the hooked function for. As usual, if this argument is omitted or set to MT_NULL, the function runs for all object types.

**Test resources and where to find them:**

* srb2win-mapthingspawn.exe, my folder on the FTP - test exe, obviously
* luatest-mapthingspawn.lua, same place - a simple Lua script that changes the scale of MT_GFZFLOWER1 (the orange flower) based on the map thing's angle (0 degrees is normal, 90 degrees is 2x bigger, 180 is 3x bigger, 270 is 4x, etc etc)

See merge request !83
2017-07-02 09:46:11 -04:00
.circleci CircleCI: keep build cache with checksum of depend.dep 2017-03-24 09:12:00 -04:00
android SRB2 2.1 release 2014-03-15 13:11:35 -04:00
assets missing space for "proper" Debian formatting 2016-02-06 22:00:59 -05:00
bin Ignore all *.exe files and *.mo files (such as en.mo) in all bin/Mingw folders 2017-04-30 20:42:24 +01:00
cmake/Modules Merge branch 'master' into next 2016-03-10 18:02:23 -05:00
debian readme.txt dupilcated, also incorrect 2016-12-14 15:07:48 -05:00
doc SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
extras SRB2 2.1 release 2014-03-15 13:11:35 -04:00
libs MSVC: Move x86/x64 settings into commons props 2016-05-22 21:55:55 -04:00
objs Re-add all the folders present in objs before my .gitignore changes, by adding .gitignore files again to keep them from disappearing 2017-05-08 15:54:17 +01:00
src Merge branch 'mapthing-spawn-hook' into 'master' 2017-07-02 09:46:11 -04:00
tools remove NEED_FIXED_VECTOR and fix angelchk testcase 2015-08-21 21:27:20 -04:00
.gitattributes gitattributes: do not check whitespace for included libs 2016-05-18 10:38:29 -04:00
.gitignore MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
.travis.yml travis: cut down on osx builds 2016-08-18 19:38:21 -04:00
Android.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
appveyor.yml Appvenyor: disable OBJDUMP 2017-06-19 14:17:58 -04:00
CMakeLists.txt Update version number to v2.1.19 2017-05-26 21:38:49 -04:00
comptime.bat comptime.bat: Put @echo off back in 2016-03-14 20:36:37 -05:00
comptime.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
comptime.props MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
comptime.sh build: this script needs bash, not ash 2016-05-18 18:16:57 -04:00
cpdebug.mk Compile Win32 EXE with -gdwarf-2 2014-04-07 10:03:14 -04:00
Doxyfile SRB2 2.1 release 2014-03-15 13:11:35 -04:00
LICENSE SRB2 2.1 release 2014-03-15 13:11:35 -04:00
README.md README: add CircleCI's Status badge 2017-03-24 08:28:31 -04:00
srb2-vc9.sln SRB2 2.1 release 2014-03-15 13:11:35 -04:00
srb2-vc10.sln MSVC: fixedup SDL2 build 2016-05-18 20:01:50 -04:00
SRB2.cbp Updated SRB2.cbp to (presumably) handle lua_blockmaplib.c correctly 2017-01-16 15:43:27 +00:00
Srb2.dev change SDL into HAVE_SDL 2014-07-25 19:10:24 -04:00
srb2.png add artwork for BPM 2016-02-06 17:36:21 -05:00
SRB2_common.props MSVC: Move x86/x64 settings into commons props 2016-05-22 21:55:55 -04:00
SRB2_Debug.props MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
SRB2_Release.props MSVC: Move x86/x64 settings into commons props 2016-05-22 21:55:55 -04:00

Sonic Robo Blast 2

Build status Build status CircleCI

Sonic Robo Blast 2 is a 3D Sonic the Hedgehog fangame based on a modified version of Doom Legacy.

Dependencies

  • NASM (x86 builds only)
  • SDL2 (Linux/OS X only)
  • SDL2-Mixer (Linux/OS X only)
  • libupnp (Linux/OS X only)
  • libgme (Linux/OS X only)

Warning: 64-bit builds are not netgame compatible with 32-bit builds. Use at your own risk.

Compiling

See SRB2 Wiki/Source code compiling

Disclaimer

Sonic Team Junior is in no way affiliated with SEGA or Sonic Team. We do not claim ownership of any of SEGA's intellectual property used in SRB2.