SharpOcarina 0.91; A tool to make custom maps!
|
Topic Started: Nov 26 2017, 06:55 PM (1,396 Views)
|
Nokaubure
|
Nov 26 2017, 06:55 PM
Post #1
|
- Posts:
- 60
- Group:
- Members
- Member
- #1,106
- Joined:
- May 2, 2017
- Request Status:
- Is not taking requests
|
If you don't already know, SharpOcarina is an application made by xdaniel in 2011/2012 to create custom maps for OoT. I resurrected the project by bringing 0.70-0.90 versions with big improvements.
So, after a long waiting I'm glad to release 0.91 version!
Download (+ source): Here
Sadly, I had to cut cutscene editor from this version, but don't worry you will see it in the future!
 More images:
Spoiler: click to toggle

Changelog 0.91
Improvements
- Added an option to disable waterbox movement
- Now you can save the options in a .xml, they will be loaded everytime you open SO
- Added an option to clear the dma table of a rom. Use this if you experience crashes ingame. (this also updates the crc)
Bug fixes
- Auto-add objects no longer crashes when saving scene
- Sticking actors to ground/ceiling now uses Z/X keys to prevent shortcut bugs
- Entrance table now refreshes the scene name column more often
Changelog 0.90
Improvements
- Fields are now saved when losing focus. Enter key is no longer required.
- Hold shift while adding or duplicating an instance to create it in front of the camera
- Added room selection for waterboxes. Default value is 3F which enables them on all rooms
- Now its easier to tell where the instance is facing (light-green extreme = front of the instance)
- Transition actors are rendered as rectangles of the same size as ingame doors
- Use mouse wheel after moving an actor to rotate it. Waterboxes will change their size instead.
- Use up and down keys while moving an actor to stick to ceiling/ground
New stuff
- Actor database added for actors, transitions and spawns. Click on the blue button next to actor number to open it. You can type a word to filter actors. Note that if a variable contains the word, the entire actor will be displayed. You can also use special filters like #Transitions and #Monsters.
- Added entrance list. SO auto-generates it based on where you place the spawnpoints. The entrance number is the same as the order of the spawns, so the spawn 2 will be the entrance 2.
- Added support to vertex colors. You must replace the export_obj.py of your blender 2.7x with the one in the blenderscripts folder.
- Added an entrance table editor. This editor is independent so you can change the entrance table without injecting anything in the rom.
Bugfixes & tweaks
- Greatly improved the lighting of the imported maps by fixing a bug related to normals
- Fixed a crash that involved moving an instance outside room boundaries
- Fixed bug where maps made with blender couldn't have vertex groups
- Fixed a bug where you could not save polytype assigned to the first group in the first room
- Fixed a crash when attempting to delete the last polytype of the scene
- Fixed a crash when typing on room offset when there's no rooms
- [Temporal fix] animated opaque textures will be injected as transparent to avoid crashing
- Reduced byte padding (less kb per scene)
- When importing .obj, groups with 0 triangles are ignored
Changelog 0.8x
Spoiler: click to toggle Changelog 0.82
Bugfixes & tweaks
- Fixed a bug where around 20% of the actors where missing in the XML files. Now there's all actors known by cloudmodding wiki.
- Fixed a critical bug where the application would crash if you change the alpha value of an animated texture.
- Fixed a bug where all vertex colors were set to yellow if the .obj came from sketchup or gray if the .obj came from blender.
- Changed the outdoor light option (again!). Now it has been moved to scene environment and is called "Enable lighting A-E", since that's the real function it does. It's also enabled by default now.
Collisions
- Added "Camera Angle" numeric box. Use 0x0B for ladders, 0x04 and 0x05 for crawlspaces.
- Added "Ladder Top" ,"Crawl Space" , "Killing Lava" , "Jabu-Jabu", "No Fall Damage" and "Void" checkboxes
Other
- If autoadd objects is ON, the application will warn you if you place 0x0002 or 0x0003 actors with the incorrect special object.
- Added "Use environment 1 on all rooms" in extra tab. This option sets time values in a way that only environment setting 1 will be used.
- Added "Show Controls" in help tab.
Changelog 0.81
Bugfixes & tweaks
- Unknown fieldbox is now merged with outdoor light checkbox
- When changing outdoor light while N64 graphics option is ON, it will refresh correctly instead of being manual
- Reverb field is now correctly capped at 0x0E
- Fixed a crash when loading scenes with nonexisting filepaths
- Now when loading a scene, if it fails to open the .obj files it will try to find them on the same folder as the xml, useful for move XMLs across computers
- Fixed minor display bugs with pathways and additional lights
- The .exe file now shows the correct version
Changelog 0.80
Waterboxes
- Hold shift to increment/decrement size by 20 units
- You can now select and move them with middle mouse
Pathways
- Added pathways and waypoints
- All the actor features in 0.70 patch apply to waypoints too (+-20 units shift, stick to ground buttons, grab and move with mouse)
Additional lights (unused)
- Added additional lights (unused)
- There are 2 types: point lights and directional lights
- Only point lights are displayed in the editor. +-20 units shift and mouse control are enabled on point lights.
- They have known glitches ingame. Also, even if they are room-based, they don't seem to unload.
Objects
- Autoadd objects scan now triggers when injecting and when saving binary too
Room mesh
- Added animated checkbox. Warning: rom will crash if you don't use 0x31 scene function
Scene environment settings
- Splited special object and outdoor lighting options
- Added scene function, note that this option alters a parameter in scene table so it doesn't work when saving binary
- Added skybox type
- Added cloudy checkbox (only works with 0x01 skybox)
- Added Nightime SFX
- Added Reverb sound effect
- Added camera movement (currently broken, only restricts C-Up)
- Added world map location
Room environment settings
- Added fields to control the time
- Added echo sound effect
- Added checkbox to disable skybox and/or sun/moon
- Added fields to control the wind
- Added different fields to restrict link jumps and songs
- Added checkbox to display invisible actors (those that need lens of truth)
- Added field to control various effects, such as link idle anims, too hot room and ride epona on start.
Options tab
- Added an option to hide item axis
Extra tab
- Set default environment list values: This sets environment values to default (same as when you create a new scene)
- Set haunted wasteland wind values: Sets wind values to those in haunted wasteland, recomended if you don't want to mess with the weird wind values
- Copy first room env. settings to all rooms: Useful to set the same settings on all rooms by only changing the first one. Additional lights are skipped because of their weird nature.
Misc.
- Moved some options and added new tabs
- Changed application name and icon
- Added credits and special thanks to the readme (the rest of the readme is unchanged)
- Added changelog.txt
- Most data is inside XML for easy customization
Bugfixes
- Fixed a bug where the application crashed if you input space+enter in some fields
- Fixed a bug where some fields could overflow
- Fixed a bug where you could only type 4 numbers in room offsets
- Fixed a bug where spawns and transitions didn't refreshed their values when moving them with middle mouse
- Fixed a bug where spawns and transitions were harder to grab than actors
- Fixed a bug where the application crashed if targed rom was in use. Now an error message is displayed saying that target rom is in use.
- And some more
Changelog 0.7x
Spoiler: click to toggle Actors, transition actors, spawn points
- The name of the actor is displayed (example, 0025 = lizalfos)
- Now they are displayed on a list
- Duplicate button
- Options to stick an actor to a wall, ground or ceiling
- You can select them with right click
- You can move them with middle click. Hold shift to move them front and back.
- Hold shift and click the numeric positions to increase/decrease them by 20 units instead of 1
- A "Degrees" option to multiply rotations by 182.044444444 after pressing enter.
- Dropdown to select variables for transition actors (doors and black plane)
Objects
- Selecting an object displays it's internal name, size in hex and the actors that use this object
- On save, the application will automatically add missing objects (checks all rooms). You can disable this with "Autoadd objects" option.
- A maxium object space appears. If the sum of your object sizes is bigger than this limit, it will turn red.
Waterboxes
- Now they have different coloration when unselected.
- Hold shift and click the numeric positions to increase/decrease them by 20 units instead of 1
BGM
- BGM can be selected with a dropdown list. The name and id of the BGMs can be changed by editing SongName.xml (for custom BGM)
Bugfixes
- Fixed the option "Emulate N64 Graphics".
- It's now GLideN64 compatible (it should work in N64 too, I guess)
- When you add an actor, it now appears in the center of the current room
Extras (experimental)
I was using these functions to quickly test the changes I was making, but I decided to keep them just for fun. Actors are never placed oob or mid-air, however when there are multiple rooms, they have a low chance to be placed on a near room collision plane.
- Fill room with enemies clear-flag: randomly places 9 different enemies and a clear flag chest. Use ROM pointer hacks to avoid maximum object space crash or delete some enemies.
- Fill room with silver rupees switch-flag: randomly places silver rupee puzzle and a switch flag chest.
Known bugs
- Backface culling does nothing. I don't have enought documentation to fix it, I don't ever know if N64 can draw a face on both sides...
(fixed in 0.71) - Very rarely the textures disappear when the window loses focus with Emulate N64 Graphics On, to fix this just reenable the option.
- If you open the top menu and you cancel it by clicking on the render window, the camera does a weird rotation. Click somewhere else to avoid this.
Have fun!
|
|
|
ZenShadow
|
Nov 27 2017, 08:27 PM
Post #2
|
ZenShadow
- Posts:
- 130
- Group:
- Members
- Member
- #973
- Joined:
- Dec 6, 2016
|
WOOO
Just our of curiosity, how is the actor renderer going? Or was that something else? I just remember seeing something about that in the 0.82 post.
|
|
|
Nokaubure
|
Nov 29 2017, 04:52 PM
Post #3
|
- Posts:
- 60
- Group:
- Members
- Member
- #1,106
- Joined:
- May 2, 2017
- Request Status:
- Is not taking requests
|
Priorities, I had to move cutscene editor too (which is the purpose of actor rendering, playing the custcene in the editor and watching link moving like ingame). Probably actor rendering is in the lowest priority right now, while cutscene editor and custom DList commands are highest for 1.0
|
|
|
Flash
|
Dec 3 2017, 10:31 AM
Post #4
|
- Posts:
- 55
- Group:
- Members
- Member
- #522
- Joined:
- Jun 24, 2015
|
Added support to vertex colors. You must replace the export_obj.py of your blender 2.7x with the one in the blenderscripts folder.
https://memegenerator.net/img/images/15052911.jpg
Could create models with blender and mustn use google sketchup?
|
|
|
Nokaubure
|
Dec 9 2017, 02:35 PM
Post #5
|
- Posts:
- 60
- Group:
- Members
- Member
- #1,106
- Joined:
- May 2, 2017
- Request Status:
- Is not taking requests
|
Version 0.91 released, just bug fixes and uninteresting new features.
Can't give a date for version 1.0, I will no longer lie with things like "in 1 month" because there's a bunch of factors, all I can say is that I want to continue bringing updates and I'm motivated to make this tool as best as possible.
|
|
|
Sylux102
|
Dec 9 2017, 10:08 PM
Post #6
|
Founder
- Posts:
- 902
- Group:
- Admins
- Member
- #1
- Joined:
- May 17, 2014
- Request Status:
- Is taking requests
|
It's good to see this tool making progress. Keep it up.
|
|
|
ZenShadow
|
Dec 12 2017, 07:52 PM
Post #7
|
ZenShadow
- Posts:
- 130
- Group:
- Members
- Member
- #973
- Joined:
- Dec 6, 2016
|
Not really something to worry about since you can just manually change it, but if you're still bug hunting: Link's spawn variable with the actor database gives an error.
Spoiler: click to toggle (Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index.)
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text ************** System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) at SharpOcarina.MainForm.SetActorFromDatabase(UInt16 number, UInt16 variable, Byte target) in Z:\Users\Noka\Desktop\project64\zelda\sharpocarina\sharpocarina-master 0.91\MapDev\MainForm.cs:line 4452 at SharpOcarina.ActorDatabase.SetActorButton_Click(Object sender, EventArgs e) in Z:\Users\Noka\Desktop\project64\zelda\sharpocarina\sharpocarina-master 0.91\MapDev\ActorDatabase.cs:line 121 at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies ************** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.7.2600.0 built by: NET471REL1LAST CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll ---------------------------------------- SharpOcarina Assembly Version: 0.9.1.0 Win32 Version: 0.9.1.0 CodeBase: file:///C:/Users/Cristopher/Desktop/SharpOcarina0.91/SharpOcarina.exe ---------------------------------------- System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.7.2556.0 built by: NET471REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System Assembly Version: 4.0.0.0 Win32 Version: 4.7.2556.0 built by: NET471REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.7.2556.0 built by: NET471REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- OpenTK Assembly Version: 1.0.0.0 Win32 Version: 1.0.278.44921 CodeBase: file:///C:/Users/Cristopher/Desktop/SharpOcarina0.91/OpenTK.DLL ---------------------------------------- OpenTK.GLControl Assembly Version: 1.0.0.0 Win32 Version: 1.0.278.44921 CodeBase: file:///C:/Users/Cristopher/Desktop/SharpOcarina0.91/OpenTK.GLControl.DLL ---------------------------------------- System.Configuration Assembly Version: 4.0.0.0 Win32 Version: 4.7.2556.0 built by: NET471REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---------------------------------------- System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.7.2600.0 built by: NET471REL1LAST CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll ---------------------------------------- System.Xml Assembly Version: 4.0.0.0 Win32 Version: 4.7.2556.0 built by: NET471REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- Microsoft.GeneratedCode Assembly Version: 1.0.0.0 Win32 Version: 4.7.2556.0 built by: NET471REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll ----------------------------------------
************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled.
For example:
<configuration> <system.windows.forms jitDebugging="true" /> </configuration>
When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.
I tested it with another computer and it still happens, so I don't think this is a problem on my side for once. (Using version .91, not .90.)
|
|
|
Nokaubure
|
Dec 17 2017, 04:18 AM
Post #8
|
- Posts:
- 60
- Group:
- Members
- Member
- #1,106
- Joined:
- May 2, 2017
- Request Status:
- Is not taking requests
|
Does a different thing for me, instead of crashing it doesn't update anything. Works with transitions and actors though, so its only an issue with spawnpoints and variables, not a big deal but will be fixed in the next release.
|
|
|
1 user reading this topic (1 Guest and 0 Anonymous)
|